[fpc-pascal]How to get the Home Directory of the user?

Stefan Becker becker at lufa-sp.vdlufa.de
Sun Sep 1 17:19:14 CEST 2002


Hi,
this is how you can get some info's from a logged User:

unit pwdlibc;
{---------------------------------------------------------------------------
                                 CncWare
                            (c) Copyright 1999
----------------------------------------------------------------------------
  Filename..: pwdlibc.pp
  Programmer: Ken J. Wright
  Date......: 10/01/1999

  Purpose - Link to the Linux 'c' library for system passwd functions.

-------------------------------< Revisions
>---------------------------------
Revision|   Date   | Prog| Description
----------------------------------------------------------------------------
-
1.00    | 10/01/99 | kjw | Initial release.
----------------------------------------------------------------------------
-
}

interface

{$linklib c}

{$PACKRECORDS 4}
Type
   pPasswd = ^passwd;
   passwd  = Record
      pw_name,                         { Username }
      pw_passwd : pChar;               { Password }
      pw_uid,                          { User ID }
      pw_gid : longint;                { Group ID }
      pw_gecos,                        { Real Name }
      pw_dir,                          { Home directory }
      pw_shell : pChar;                { Shell program }
   End;

   pGroup = ^group;
   group  = Record
      gr_name,                         { Group name }
      gr_passwd : pChar;               { Password }
      gr_gid : longint;                { Group ID }
      gr_mem : pChar;                  { Member list }
   End;

{ returns a pointer to a passwd record }
Function getpwuid(uid : longint) : pPasswd; cdecl;
Function getpwnam(nam : pChar) : pPasswd; cdecl;

{ returns a pointer to a group record }
Function getgrgid(gid : longint) : pGroup; cdecl;
Function getgrnam(nam : pChar) : pGroup; cdecl;

implementation

Function getpwuid(uid : longint) : pPasswd; cdecl; External;
Function getpwnam(nam : pChar) : pPasswd; cdecl; External;
Function getgrgid(gid : longint) : pGroup; cdecl; External;
Function getgrnam(nam : pChar) : pGroup; cdecl; External;

end.

my regards,
Stefan



>Hello, Every body
>
>  Can you tell me how to get the Home Directory of a user in free pascal
under
>linux? Thank you very much.
>
>  Yours,
>  mili








More information about the fpc-pascal mailing list