| /* Copyright (C) 2005 Red Hat, Inc. */ |
| |
| #ifndef _SEMANAGE_IFACE_RECORD_H_ |
| #define _SEMANAGE_IFACE_RECORD_H_ |
| |
| #include <semanage/context_record.h> |
| #include <semanage/handle.h> |
| |
| #ifndef _SEMANAGE_IFACE_DEFINED_ |
| struct semanage_iface; |
| struct semanage_iface_key; |
| typedef struct semanage_iface semanage_iface_t; |
| typedef struct semanage_iface_key semanage_iface_key_t; |
| #define _SEMANAGE_IFACE_DEFINED_ |
| #endif |
| |
| /* Key */ |
| extern int semanage_iface_compare(const semanage_iface_t * iface, |
| const semanage_iface_key_t * key); |
| |
| extern int semanage_iface_compare2(const semanage_iface_t * iface, |
| const semanage_iface_t * iface2); |
| |
| extern int semanage_iface_key_create(semanage_handle_t * handle, |
| const char *name, |
| semanage_iface_key_t ** key_ptr); |
| |
| extern int semanage_iface_key_extract(semanage_handle_t * handle, |
| const semanage_iface_t * iface, |
| semanage_iface_key_t ** key_ptr); |
| |
| extern void semanage_iface_key_free(semanage_iface_key_t * key); |
| |
| /* Name */ |
| extern const char *semanage_iface_get_name(const semanage_iface_t * iface); |
| |
| extern int semanage_iface_set_name(semanage_handle_t * handle, |
| semanage_iface_t * iface, const char *name); |
| |
| /* Context */ |
| extern semanage_context_t *semanage_iface_get_ifcon(const semanage_iface_t * |
| iface); |
| |
| extern int semanage_iface_set_ifcon(semanage_handle_t * handle, |
| semanage_iface_t * iface, |
| semanage_context_t * con); |
| |
| extern semanage_context_t *semanage_iface_get_msgcon(const semanage_iface_t * |
| iface); |
| |
| extern int semanage_iface_set_msgcon(semanage_handle_t * handle, |
| semanage_iface_t * iface, |
| semanage_context_t * con); |
| |
| /* Create/Clone/Destroy */ |
| extern int semanage_iface_create(semanage_handle_t * handle, |
| semanage_iface_t ** iface_ptr); |
| |
| extern int semanage_iface_clone(semanage_handle_t * handle, |
| const semanage_iface_t * iface, |
| semanage_iface_t ** iface_ptr); |
| |
| extern void semanage_iface_free(semanage_iface_t * iface); |
| |
| #endif |