See Chapter 9, Accessing User and Rights Profile Data.
userattr_t *getuserattr(void); userattr_t *getusernam(const char *name); userattr_t *getuseruid(uid_t uid); void *free_userattr(userattr_t *userattr); void setuserattr(void); void enduserattr(void); profattr_t *getprofattr(void); profattr_t *getprofnam(const char *name); void free_profattr(profattr_t *pd); void setprofattr(void); void endprofattr(void); void getproflist(const char *profname, char **proflist, int*profcnt); void free_proflist(char **proflist, int profcnt); execattr_t *getexecattr(void); void free_execattr(execattr_t *ep); void setexecattr(void); void endexecattr(void); execattr_t *getexecuser(const char *username, const char *type, const char *id, int search_flag); execattr_t *getexecprof(const char *profname, const char *type, const char *id, int search_flag); execattr_t *match_execattr(execattr_t *ep, char *profname, char *type, char *id);