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 12 typedef sepol_context_t semanage_context_t; 13 typedef sepol_ibendport_t semanage_ibendport_t; 14 typedef sepol_ibendport_key_t semanage_ibendport_key_t; 15 #define _SEMANAGE_IBENDPORT_DEFINED_ 16 #define _SEMANAGE_CONTEXT_DEFINED_ 17 18 typedef semanage_ibendport_t record_t; 19 typedef 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 26 int 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 32 hidden_def(semanage_ibendport_compare) 33 34 int semanage_ibendport_compare2(const semanage_ibendport_t *ibendport, 35 const semanage_ibendport_t *ibendport2) 36 { 37 return sepol_ibendport_compare2(ibendport, ibendport2); 38 } 39 40 hidden_def(semanage_ibendport_compare2) 41 42 hidden 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 48 int 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 56 int 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 63 hidden_def(semanage_ibendport_key_extract) 64 65 void semanage_ibendport_key_free(semanage_ibendport_key_t *key) 66 { 67 sepol_ibendport_key_free(key); 68 } 69 70 hidden_def(semanage_ibendport_key_free) 71 72 int 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 79 hidden_def(semanage_ibendport_get_ibdev_name) 80 81 int 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 88 hidden_def(semanage_ibendport_set_ibdev_name) 89 90 int semanage_ibendport_get_port(const semanage_ibendport_t *ibendport) 91 { 92 return sepol_ibendport_get_port(ibendport); 93 } 94 95 hidden_def(semanage_ibendport_get_port) 96 97 void semanage_ibendport_set_port(semanage_ibendport_t *ibendport, int port) 98 { 99 sepol_ibendport_set_port(ibendport, port); 100 } 101 102 hidden_def(semanage_ibendport_set_port) 103 104 semanage_context_t *semanage_ibendport_get_con(const semanage_ibendport_t *ibendport) 105 { 106 return sepol_ibendport_get_con(ibendport); 107 } 108 109 hidden_def(semanage_ibendport_get_con) 110 111 int 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 118 hidden_def(semanage_ibendport_set_con) 119 120 int 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 126 hidden_def(semanage_ibendport_create) 127 128 int 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 135 hidden_def(semanage_ibendport_clone) 136 137 void semanage_ibendport_free(semanage_ibendport_t *ibendport) 138 { 139 sepol_ibendport_free(ibendport); 140 } 141 142 hidden_def(semanage_ibendport_free) 143 144 /*key base functions */ 145 record_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