Все эти функции требуют предопределенного пространства для строки имени. Для удобства возвращается тот же самый указатель действия. Декларации
Эти, и некоторые name-to-value-функции, могут быть также использованы в пользовательском инструментарии, просто скопируйте getname.c, скомпилируйте его в getname.o и соедините с вашей программой. Загляните в инструментарий администратора RSBAC, что бы видеть как это используется.
char * get_request_name
(char * request_name,
enum rsbac_adf_request_t request);
char * get_attribute_name
(char * attr_name,
enum rsbac_attribute_t attr);
char * get_scd_type_name
(char * res_name,
enum rsbac_scd_type_t res);
сhar * get_target_name
(char * target_type_name,
enum rsbac_target_t target,
char * target_id_name,
union rsbac_target_id_t tid);
/* returns target_type_name. */
/* target_id_name includes full identification
with id numbers and path */
char * get_switch_target_name
(char * switch_name,
enum rsbac_switch_target_t target);
/* fixed module names */
char * get_error_name
(char * error_name,
int error);
/* RSBAC error names only, other values are
returned as decimal numbers. */