### 36.9 Password Database Functions

Octave's password database functions return information in a structure with the following fields.

`name`
  The user name.
`passwd`
  The encrypted password, if available.
`uid`
  The numeric user id.
`gid`
  The numeric group id.
`gecos`
  The GECOS field.
`dir`
  The home directory.
`shell`
  The initial shell.

In the descriptions of the following functions, this data structure is referred to as a pw_struct.

— Loadable Function: pw_struct = getpwent ()

> Return a structure containing an entry from the password database, opening it if necessary. Once the end of the data has been reached, `getpwent` returns 0.

— Loadable Function: pw_struct = getpwuid (uid).

> Return a structure containing the first entry from the password database with the user ID uid. If the user ID does not exist in the database, `getpwuid` returns 0.

— Loadable Function: pw_struct = getpwnam (name)

> Return a structure containing the first entry from the password database with the user name name. If the user name does not exist in the database, `getpwname` returns 0.

— Loadable Function: setpwent ()

> Return the internal pointer to the beginning of the password database.

— Loadable Function: endpwent ()

> Close the password database.