getprofattr(3SECDB) getprofattr(3SECDB)
NAME
getprofattr, getprofnam, free_profattr, setprofattr, endprofattr, getproflist, free_proflist - get profile description and attributes
SYNOPSIS
cc [ flag... ] file... -lsecdb -lsocket -lnsl [ library... ]
#include <prof_attr.h>
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);
The getprofattr() and getprofnam() functions each return a prof_attr entry. Entries can come from any of the sources specified in the nss-
witch.conf(4) file.
The getprofattr() function enumerates prof_attr entries. The getprofnam() function searches for a prof_attr entry with a given name. Suc-
cessive calls to these functions return either successive prof_attr entries or NULL.
The internal representation of a prof_attr entry is a profattr_t structure defined in <prof_attr.h> with the following members:
char *name; /* Name of the profile */
char *res1; /* Reserved for future use */
char *res2; /* Reserved for future use */
char *desc; /* Description/Purpose of the profile */
kva_t *attr; /* Profile attributes */
The free_profattr() function releases memory allocated by the getprofattr() and getprofnam() functions.
The setprofattr() function "rewinds" to the beginning of the enumeration of prof_attr entries. Calls to getprofnam() can leave the enumera-
tion in an indeterminate state. Therefore, setprofattr() should be called before the first call to getprofattr().
The endprofattr() function may be called to indicate that prof_attr processing is complete; the system may then close any open prof_attr
file, deallocate storage, and so forth.
The getproflist() function searches for the list of sub-profiles found in the given profname and allocates memory to store this list in
proflist. The given profname will be included in the list of sub-profiles. The profcnt argument indicates the number of items currently
valid in proflist. Memory allocated by getproflist() should be freed using the free_proflist() function.
The free_proflist() function frees memory allocated by the getproflist() function. The profcnt argument specifies the number of items to
free from the proflist argument.
The getprofattr() function returns a pointer to a profattr_t if it successfully enumerates an entry; otherwise it returns NULL, indicating
the end of the enumeration.
The getprofnam() function returns a pointer to a profattr_t if it successfully locates the requested entry; otherwise it returns NULL.
Individual attributes in the prof_attr_t structure can be referred to by calling the kva_match(3SECDB) function.
Because the list of legal keys is likely to expand, any code must be written to ignore unknown key-value pairs without error.
The getprofattr() and getprofnam() functions both allocate memory for the pointers they return. This memory should be deallocated with the
free_profattr() function.
/etc/security/prof_attr profiles and their descriptions
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
auths(1), profiles(1), getexecattr(3SECDB), getauthattr(3SECDB), prof_attr(4)
31 Mar 2005 getprofattr(3SECDB)