1/*Copyright (C) 2005 Red Hat, Inc. */ 2 3/*Object: semanage_ibendport_t (Infiniband Pkey) 4 *Object: semanage_ibendport_key_t (Infiniband Pkey Key) 5 *Implements: record_t (Database Record) 6 *Implements: record_key_t (Database Record Key) 7 */ 8 9#include <sepol/context_record.h> 10#include <sepol/ibendport_record.h> 11 12typedef sepol_context_t semanage_context_t; 13typedef sepol_ibendport_t semanage_ibendport_t; 14typedef sepol_ibendport_key_t semanage_ibendport_key_t; 15#define _SEMANAGE_IBENDPORT_DEFINED_ 16#define _SEMANAGE_CONTEXT_DEFINED_ 17 18typedef semanage_ibendport_t record_t; 19typedef semanage_ibendport_key_t record_key_t; 20#define DBASE_RECORD_DEFINED 21 22#include "ibendport_internal.h" 23#include "handle.h" 24#include "database.h" 25 26int semanage_ibendport_compare(const semanage_ibendport_t *ibendport, 27 const semanage_ibendport_key_t *key) 28{ 29 return sepol_ibendport_compare(ibendport, key); 30} 31 32hidden_def(semanage_ibendport_compare) 33 34int semanage_ibendport_compare2(const semanage_ibendport_t *ibendport, 35 const semanage_ibendport_t *ibendport2) 36{ 37 return sepol_ibendport_compare2(ibendport, ibendport2); 38} 39 40hidden_def(semanage_ibendport_compare2) 41 42hidden int semanage_ibendport_compare2_qsort(const semanage_ibendport_t **ibendport, 43 const semanage_ibendport_t **ibendport2) 44{ 45 return sepol_ibendport_compare2(*ibendport, *ibendport2); 46} 47 48int semanage_ibendport_key_create(semanage_handle_t *handle, 49 const char *ibdev_name, 50 int port, 51 semanage_ibendport_key_t **key_ptr) 52{ 53 return sepol_ibendport_key_create(handle->sepolh, ibdev_name, port, key_ptr); 54} 55 56int semanage_ibendport_key_extract(semanage_handle_t *handle, 57 const semanage_ibendport_t *ibendport, 58 semanage_ibendport_key_t **key_ptr) 59{ 60 return sepol_ibendport_key_extract(handle->sepolh, ibendport, key_ptr); 61} 62 63hidden_def(semanage_ibendport_key_extract) 64 65void semanage_ibendport_key_free(semanage_ibendport_key_t *key) 66{ 67 sepol_ibendport_key_free(key); 68} 69 70hidden_def(semanage_ibendport_key_free) 71 72int semanage_ibendport_get_ibdev_name(semanage_handle_t *handle, 73 const semanage_ibendport_t *ibendport, 74 char **ibdev_name_ptr) 75{ 76 return sepol_ibendport_get_ibdev_name(handle->sepolh, ibendport, ibdev_name_ptr); 77} 78 79hidden_def(semanage_ibendport_get_ibdev_name) 80 81int semanage_ibendport_set_ibdev_name(semanage_handle_t *handle, 82 semanage_ibendport_t *ibendport, 83 const char *ibdev_name) 84{ 85 return sepol_ibendport_set_ibdev_name(handle->sepolh, ibendport, ibdev_name); 86} 87 88hidden_def(semanage_ibendport_set_ibdev_name) 89 90int semanage_ibendport_get_port(const semanage_ibendport_t *ibendport) 91{ 92 return sepol_ibendport_get_port(ibendport); 93} 94 95hidden_def(semanage_ibendport_get_port) 96 97void semanage_ibendport_set_port(semanage_ibendport_t *ibendport, int port) 98{ 99 sepol_ibendport_set_port(ibendport, port); 100} 101 102hidden_def(semanage_ibendport_set_port) 103 104semanage_context_t *semanage_ibendport_get_con(const semanage_ibendport_t *ibendport) 105{ 106 return sepol_ibendport_get_con(ibendport); 107} 108 109hidden_def(semanage_ibendport_get_con) 110 111int semanage_ibendport_set_con(semanage_handle_t *handle, 112 semanage_ibendport_t *ibendport, 113 semanage_context_t *con) 114{ 115 return sepol_ibendport_set_con(handle->sepolh, ibendport, con); 116} 117 118hidden_def(semanage_ibendport_set_con) 119 120int semanage_ibendport_create(semanage_handle_t *handle, 121 semanage_ibendport_t **ibendport_ptr) 122{ 123 return sepol_ibendport_create(handle->sepolh, ibendport_ptr); 124} 125 126hidden_def(semanage_ibendport_create) 127 128int semanage_ibendport_clone(semanage_handle_t *handle, 129 const semanage_ibendport_t *ibendport, 130 semanage_ibendport_t **ibendport_ptr) 131{ 132 return sepol_ibendport_clone(handle->sepolh, ibendport, ibendport_ptr); 133} 134 135hidden_def(semanage_ibendport_clone) 136 137void semanage_ibendport_free(semanage_ibendport_t *ibendport) 138{ 139 sepol_ibendport_free(ibendport); 140} 141 142hidden_def(semanage_ibendport_free) 143 144/*key base functions */ 145record_table_t SEMANAGE_IBENDPORT_RTABLE = { 146 .create = semanage_ibendport_create, 147 .key_extract = semanage_ibendport_key_extract, 148 .key_free = semanage_ibendport_key_free, 149 .clone = semanage_ibendport_clone, 150 .compare = semanage_ibendport_compare, 151 .compare2 = semanage_ibendport_compare2, 152 .compare2_qsort = semanage_ibendport_compare2_qsort, 153 .free = semanage_ibendport_free, 154}; 155