1255e72915d4cbddceb435e13d81601755714e9fSE Android#ifndef _SEPOL_IFACE_RECORD_H_ 2255e72915d4cbddceb435e13d81601755714e9fSE Android#define _SEPOL_IFACE_RECORD_H_ 3255e72915d4cbddceb435e13d81601755714e9fSE Android 4255e72915d4cbddceb435e13d81601755714e9fSE Android#include <sepol/handle.h> 5255e72915d4cbddceb435e13d81601755714e9fSE Android#include <sepol/context_record.h> 6255e72915d4cbddceb435e13d81601755714e9fSE Android 7255e72915d4cbddceb435e13d81601755714e9fSE Androidstruct sepol_iface; 8255e72915d4cbddceb435e13d81601755714e9fSE Androidstruct sepol_iface_key; 9255e72915d4cbddceb435e13d81601755714e9fSE Androidtypedef struct sepol_iface sepol_iface_t; 10255e72915d4cbddceb435e13d81601755714e9fSE Androidtypedef struct sepol_iface_key sepol_iface_key_t; 11255e72915d4cbddceb435e13d81601755714e9fSE Android 12255e72915d4cbddceb435e13d81601755714e9fSE Android/* Key */ 13255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_compare(const sepol_iface_t * iface, 14255e72915d4cbddceb435e13d81601755714e9fSE Android const sepol_iface_key_t * key); 15255e72915d4cbddceb435e13d81601755714e9fSE Android 16255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_compare2(const sepol_iface_t * iface, 17255e72915d4cbddceb435e13d81601755714e9fSE Android const sepol_iface_t * iface2); 18255e72915d4cbddceb435e13d81601755714e9fSE Android 19255e72915d4cbddceb435e13d81601755714e9fSE Androidextern void sepol_iface_key_unpack(const sepol_iface_key_t * key, 20255e72915d4cbddceb435e13d81601755714e9fSE Android const char **name); 21255e72915d4cbddceb435e13d81601755714e9fSE Android 22255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_key_create(sepol_handle_t * handle, 23255e72915d4cbddceb435e13d81601755714e9fSE Android const char *name, 24255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_key_t ** key_ptr); 25255e72915d4cbddceb435e13d81601755714e9fSE Android 26255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_key_extract(sepol_handle_t * handle, 27255e72915d4cbddceb435e13d81601755714e9fSE Android const sepol_iface_t * iface, 28255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_key_t ** key_ptr); 29255e72915d4cbddceb435e13d81601755714e9fSE Android 30255e72915d4cbddceb435e13d81601755714e9fSE Androidextern void sepol_iface_key_free(sepol_iface_key_t * key); 31255e72915d4cbddceb435e13d81601755714e9fSE Android 32255e72915d4cbddceb435e13d81601755714e9fSE Android/* Name */ 33255e72915d4cbddceb435e13d81601755714e9fSE Androidextern const char *sepol_iface_get_name(const sepol_iface_t * iface); 34255e72915d4cbddceb435e13d81601755714e9fSE Android 35255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_set_name(sepol_handle_t * handle, 36255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_t * iface, const char *name); 37255e72915d4cbddceb435e13d81601755714e9fSE Android 38255e72915d4cbddceb435e13d81601755714e9fSE Android/* Context */ 39255e72915d4cbddceb435e13d81601755714e9fSE Androidextern sepol_context_t *sepol_iface_get_ifcon(const sepol_iface_t * iface); 40255e72915d4cbddceb435e13d81601755714e9fSE Android 41255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_set_ifcon(sepol_handle_t * handle, 42255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_t * iface, sepol_context_t * con); 43255e72915d4cbddceb435e13d81601755714e9fSE Android 44255e72915d4cbddceb435e13d81601755714e9fSE Androidextern sepol_context_t *sepol_iface_get_msgcon(const sepol_iface_t * iface); 45255e72915d4cbddceb435e13d81601755714e9fSE Android 46255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_set_msgcon(sepol_handle_t * handle, 47255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_t * iface, sepol_context_t * con); 48255e72915d4cbddceb435e13d81601755714e9fSE Android 49255e72915d4cbddceb435e13d81601755714e9fSE Android/* Create/Clone/Destroy */ 50255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_create(sepol_handle_t * handle, 51255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_t ** iface_ptr); 52255e72915d4cbddceb435e13d81601755714e9fSE Android 53255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_iface_clone(sepol_handle_t * handle, 54255e72915d4cbddceb435e13d81601755714e9fSE Android const sepol_iface_t * iface, 55255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_iface_t ** iface_ptr); 56255e72915d4cbddceb435e13d81601755714e9fSE Android 57255e72915d4cbddceb435e13d81601755714e9fSE Androidextern void sepol_iface_free(sepol_iface_t * iface); 58255e72915d4cbddceb435e13d81601755714e9fSE Android 59255e72915d4cbddceb435e13d81601755714e9fSE Android#endif 60