These library routines convert the specified privilege ID to its corresponding external name or numeric ID and back. These routines read the privilege names database file described on the priv_name(4) man page to translate between the priv_id and *string.
In this example, priv_id is initialized to the manifest constant name PRIV_FILE_DAC_WRITE and passed to priv_to_str(3TSOL) routine to convert it to the external name.
The header files and declarations for the code segments in this section are provided in the first program.
#include <tsol/priv.h> main() { priv_t priv_id = PRIV_FILE_DAC_WRITE; char *string; string = priv_to_str(priv_id); printf("Priv string = %s\n", string); }
The printf statement prints the following:
Priv string = file_dac_write |
In the next example, the string returned from the priv_to_str(3TSOL) routine is passed to the str_to_priv(3TSOL) routine to convert the string to the numeric ID.
priv_id = str_to_priv(string); printf("Priv ID = %d\n", priv_id);
The printf statement prints the following:
Priv ID = 6 |