Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cmpt_setent(3) [hpux man page]

cmpt_getbynum(3)					     Library Functions Manual						  cmpt_getbynum(3)

NAME
cmpt_getbynum(), cmpt_endent(), cmpt_getbyname(), cmpt_getent(), cmpt_setent() - map compartment name to number or number to name SYNOPSIS
Parameters cmpt_name Pointer to a string containing a compartment name. cmpt_num Compartment number. state Pointer to internal state. Structure Members The structure is defined in It contains at least the following fields: DESCRIPTION
Compartments are referenced by strings in configuration files under but are maintained as numbers internally. The functions and query and iterate over this database. Returns the compartment number corresponding to the string specified by cmpt_name. Returns the compartment name corresponding to cmpt_num. If the return value is not NULL, it is the responsibility of the caller to free the returned value using See free(3C). Opens the database connection to allow an iterative search. Returns a pointer to the next compartment name/number pair from the database. The user must not call to release the memory pointed to by the return value. Closes the database connection. Notes Every call to must be matched with a corresponding call to RETURN VALUE
returns the following values: Successful completion. The function returns a valid compartment number. Function failed. is set to indicate the error. returns the following values: pointer Successful completions. Returns a non-null pointer to a string containing the compartment name. NULL pointer Function failed. Returns a null pointer and sets to indicate the error . The caller is responsible for freeing the result. returns the following values: Successful completion. Function failed. is set to indicate the error. returns the following values: pointer Succesaful completions. Returns a non-null pointer to a structure. NULL pointer Function failed or entries are exhausted. In case of an error, is set to indicate the error. sets to and returns a null pointer when all entries have been exhausted. ERRORS
If any of the following conditions occur, the functions fail and set Compartment name or number does not exist. Compartmentalization is not enabled on this system. The function failed to allocate sufficient memory for its operation. EXAMPLES
Example 1 Get the compartment number associated with a name. #include <sys/cmpt.h> void main(int argc, char **argv) { cmpt_t cmptid; cmptid = cmpt_getbyname("INIT"); if (cmptid != -1) { printf(" Compartment id : %d ", cmptid); } else { printf(" Error getting compartment number "); } } Example 2 Get the compartment name associated with a number. #include <sys/cmpt.h> void main(int argc, char **argv) { char *name; name = cmpt_getbynum((cmpt_t)2); if (name) { printf(" Compartment name : %s ", name); free(name); } else { printf(" Error getting compartment name "); } } Example 3 Iterate through compartment mapping entries. #include <errno.h> #include <sys/cmpt.h> void main(int argc, char **argv) { struct cmpt_pair *pair; struct cmpt_state *state if (cmpt_setent(&state) != 0) { perror("cmpt_setent failed"); exit(1); } /* get entries until a NULL returned */ while ( pair = cmpt_getent(&state) ) { printf(" Compartment Nnumber : %d Name : %s ", pair->cmpt_num, pair->cmpt_name); } if (errno == 0) { printf(" All Entries printed "); } else { printf(" Error getting compartment entry "); } cmpt_endent(); } DEPENDENCIES
These functions are a part of the library, which can be linked with your executable with the option. SEE ALSO
compartments(4), compartments(5). cmpt_getbynum(3)
Man Page