/* Copyright (C) 2005 Red Hat, Inc. */ #ifndef _SEMANAGE_SEUSER_RECORD_H_ #define _SEMANAGE_SEUSER_RECORD_H_ #include <semanage/handle.h> struct semanage_seuser; struct semanage_seuser_key; typedef struct semanage_seuser semanage_seuser_t; typedef struct semanage_seuser_key semanage_seuser_key_t; /* Key */ extern int semanage_seuser_key_create(semanage_handle_t * handle, const char *name, semanage_seuser_key_t ** key); extern int semanage_seuser_key_extract(semanage_handle_t * handle, const semanage_seuser_t * seuser, semanage_seuser_key_t ** key); extern void semanage_seuser_key_free(semanage_seuser_key_t * key); extern int semanage_seuser_compare(const semanage_seuser_t * seuser, const semanage_seuser_key_t * key); extern int semanage_seuser_compare2(const semanage_seuser_t * seuser, const semanage_seuser_t * seuser2); /* Name */ extern const char *semanage_seuser_get_name(const semanage_seuser_t * seuser); extern int semanage_seuser_set_name(semanage_handle_t * handle, semanage_seuser_t * seuser, const char *name); /* Selinux Name */ extern const char *semanage_seuser_get_sename(const semanage_seuser_t * seuser); extern int semanage_seuser_set_sename(semanage_handle_t * handle, semanage_seuser_t * seuser, const char *sename); /* MLS */ extern const char *semanage_seuser_get_mlsrange(const semanage_seuser_t * seuser); extern int semanage_seuser_set_mlsrange(semanage_handle_t * handle, semanage_seuser_t * seuser, const char *mls_range); /* Create/Clone/Destroy */ extern int semanage_seuser_create(semanage_handle_t * handle, semanage_seuser_t ** seuser_ptr); extern int semanage_seuser_clone(semanage_handle_t * handle, const semanage_seuser_t * seuser, semanage_seuser_t ** seuser_ptr); extern void semanage_seuser_free(semanage_seuser_t * seuser); #endif