Home | History | Annotate | Download | only in src
      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