GETPROFATTR(3SECDB) |
Security Attributes Database Library Functions |
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);
DESCRIPTION
The
getprofattr() and
getprofnam() functions each return a
prof_attr entry. Entries can come from any of the sources specified in the
nsswitch.conf(4) file.
The
getprofattr() function enumerates
prof_attr entries. The
getprofnam() function searches for a
prof_attr entry with a given
name. Successive 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 enumeration 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.
RETURN VALUES
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.
USAGE
Individual attributes in the
profattr_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.
FILES
/etc/security/prof_attr
profiles and their descriptions
ATTRIBUTES
See
attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
|
MT-Level |
MT-Safe |
SEE ALSO
auths(1), profiles(1), getexecattr(3SECDB), getauthattr(3SECDB), kva_match(3SECDB), prof_attr(4), attributes(5)