|
sia_getpasswd(3)
Contents
|
sia_getpasswd, sia_getgroup - interface to the getpw* and
getgr* routines for SIA (Security Integration Architecture)
#include <sia.h> #include <siad.h>
int sia_getpasswd(
int function,
int reentrant,
union sia_get_params *params ); int sia_getgroup(
int function,
int reentrant,
union sia_get_params *params );
Standard C library (libc.so and libc.a)
The function parameter is a subfunction selection code as
defined by P_SET in the siad.h file. The reentrant parameter
is a flag which is either REENTRANT (1) or NON_REENTRANT (0). NON_REENTRANT indicates that the result and
buffer pointers passed in the params arguments will be
returned pointing to static data. REENTRANT indicates that
result and buffer are used as passed (caller provided
storage). The sia_get_params() is defined as follows:
typedef struct {
char *name;
gid_t gid;
struct group *result;
char *buffer;
int len;
int pkgind; } group_params;
typedef struct {
char *name;
uid_t uid;
struct passwd *result;
char *buffer;
int len;
int pkgind; } passwd_params;
union sia_get_params {
group_params group;
passwd_params passwd; };
The sia_getpasswd() routine provides thread locking for
the libc_r routines (-D_THREAD_SAFE), provides static
storage for non reentrant getpw* routines, and calls the
appropriate siad_getpw* routine. This routine is called by
getpwnam(), getpwnam_r(), getpwuid(), getpwuid_r(), getpwent(),
and getpwent_r().
The sia_getgroup() routine provides thread locking for
libc_r routines (-D_THREAD_SAFE), provide static storage
for non reentrant getgr* routines, and calls the appropriate
siad_getgr* routine. This routine is called by
getgrnam(), getgrnam_r(), getgrgid(), getgrgid_r(), getgrent(),
and getgrent_r().
The sia_getgroup() and sia_getpasswd() routines return
either SIASUCCESS or SIAFAIL.
The errno value is not (normally) set explicitly by sia_*
routines. The errno values are those returned from the
dynamic loader interface, from dependent (siad_*) routines,
or from malloc. Possible errors include resource
constraints (no memory) and various authentication failures.
/etc/group
/etc/passwd
/etc/sia/matrix.conf
getgrent(3), getpwent(3), matrix.conf(4)
Security
sia_getpasswd(3)
[ Back ] |