Man Linux: Main Page and Category List

NAME

       dpns_getidmap   -  get  virtual  uid/gid(s)  associated  with  a  given
       dn/role(s)

SYNOPSIS

       #include <sys/types.h>
       #include "dpns_api.h"

       int dpns_getidmap (const  char  *username,  int  nbgroups,  const  char
       **groupnames, uid_t *userid, gid_t *gids)

DESCRIPTION

       dpns_getidmap  gets  the  virtual  uid/gid(s)  associated  with a given
       dn/role(s).  If the dn or any of the roles does not exist  yet  in  the
       Database an entry is added to the mapping table.

       username
              specifies the user name (dn).  It must be at most 255 characters
              long.

       nbgroups
              is the number of group names.

       groupnames
              is the address of an array of group names (vo/role).  Each group
              name  must  be at most 255 characters long.  This pointer can be
              NULL.  In this case the vo is obtained  from  a  static  mapping
              file.

       userid specifies  the  address  of a buffer to receive the Virtual User
              Id.

       gids   specifies the address of a buffer to receive the  Virtual  Group
              Ids.   It  must be big enough to receive nbgroups group ids, but
              at least one group id in case nbgroups is zero.

RETURN VALUE

       This routine returns 0 if the operation was successful  or  -1  if  the
       operation failed. In the latter case, serrno is set appropriately.

ERRORS

       ENOMEM       Memory could not be allocated in the server to receive the
                    group names or to send back the gids.

       EFAULT       username, userid or gids is a NULL pointer.

       EINVAL       nbgroups is negative or the length of username or  of  one
                    of the group names exceeds 255.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.