home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-01 | 3.2 KB | 123 lines | [TEXT/CWIE] |
- unit MyUGLibrary;
-
- interface
-
- uses
- UGLibrary;
-
- var
- ugl_refnum: integer;
- ugl_access_id: longint;
-
- function UGLOpen (adminkey: Str8): OSErr;
- function UGLClose: OSErr;
- function UGLGetUserInfo (var name: Str31; uid, gid: longint; var pb: UGParamBlockRec): OSErr;
- function UGLGetFirstUserInfo (var name: Str31; var pb: UGParamBlockRec): OSErr;
- function UGLGetNextUserInfo (var pb: UGParamBlockRec): OSErr;
- function UGLGetULInfo (var servername: Str31; var pb: UGParamBlockRec): OSErr;
-
- implementation
-
- uses
- Folders;
-
- function UGLOpen (adminkey: Str8): OSErr;
- var
- name: Str63;
- pb: UGParamBlockRec;
- err: OSErr;
- begin
- err := FindFolder(kOnSystemDisk, kPreferencesFolderType, true, pb.ugFileParam.ugVRefNum, pb.ugFileParam.ugDirID);
- if err = noErr then begin
- name := '';
- pb.ugFileParam.ugNamePtr := @name;
- pb.ugFileParam.ugAdminKey := @adminkey;
- err := UGOpenFile(@pb, false);
- ugl_refnum := pb.ugFileParam.ugRefNum;
- ugl_access_id := pb.ugFileParam.ugAccessID;
- end;
- UGLOpen := err;
- end;
-
- function UGLClose: OSErr;
- var
- pb: UGParamBlockRec;
- begin
- pb.ugFileParam.ugRefNum := ugl_refnum;
- UGLClose := UGCloseFile(@pb, false);
- end;
-
- function UGLGetUserInfo (var name: Str31; uid, gid: longint; var pb: UGParamBlockRec): OSErr;
- begin
- pb.ugUserParam.ugRefNum := ugl_refnum;
- pb.ugUserParam.ugAccessID := ugl_access_id;
- pb.ugUserParam.ugPosOffset := 0;
- pb.ugUserParam.ugUserID := uid;
- pb.ugUserParam.ugGroupID := gid;
- pb.ugUserParam.ugNamePtr := @name;
- UGLGetUserInfo := UGGetUserInfo(@pb, false);
- end;
-
- function UGLGetFirstUserInfo (var name: Str31; var pb: UGParamBlockRec): OSErr;
- begin
- name := '';
- pb.ugUserParam.ugRefNum := ugl_refnum;
- pb.ugUserParam.ugAccessID := ugl_access_id;
- pb.ugUserParam.ugNamePtr := @name;
- pb.ugUserParam.ugPosOffset := 0;
- pb.ugUserParam.ugUserID := 0;
- pb.ugUserParam.ugGroupID := 0;
- UGLGetFirstUserInfo := UGGetUserInfo(@pb, false);
- end;
-
- function UGLGetNextUserInfo (var pb: UGParamBlockRec): OSErr;
- begin
- pb.ugUserParam.ugPosOffset := 1;
- UGLGetNextUserInfo := UGGetUserInfo(@pb, false);
- end;
-
- function UGLGetULInfo (var servername: Str31; var pb: UGParamBlockRec): OSErr;
- begin
- servername := '';
- pb.ugServerParam.ugRefNum := ugl_refnum;
- pb.ugServerParam.ugAccessID := ugl_access_id;
- pb.ugServerParam.ugNamePtr := @servername;
- UGLGetULInfo := UGGetULInfo(@pb, false);
- end;
-
- end.
-
- uses
- UGLibrary, Folders;
-
- var
- name: Str31;
- adminpassword: Str8;
- pb: UGParamBlockRec;
- err: OSErr;
- begin
- ShowText;
- name := '';
- adminpassword := '';
- err := FindFolder(kOnSystemDisk, kPreferencesFolderType, true, pb.ugFileParam.ugVRefNum, pb.ugFileParam.ugDirID);
- writeln(err);
- pb.ugFileParam.ugNamePtr := @name;
- pb.ugFileParam.ugAdminKey := @adminpassword;
- err := UGOpenFile(@pb, false);
- writeln(err);
- if err = noErr then begin
- pb.ugUserParam.ugGroupID := 0;
- pb.ugUserParam.ugPosOffset := 0;
- pb.ugUserParam.ugUserID := 0;
- pb.ugUserParam.ugNamePtr := @name;
- name := '';
- err := UGGetUserInfo(@pb, false);
- while (err = noErr) do begin
- writeln(pb.ugUserParam.ugUserID, ' ', name);
- pb.ugUserParam.ugPosOffset := 1;
- err := UGGetUserInfo(@pb, false);
- end;
- err := UGCloseFile(@pb, false);
- writeln(err);
- end;
- end.