tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
/* Copyright (C) 2017 Mellanox Technologies Inc. */
 
/* Object: semanage_ibpkey_t (Infiniband Pkey)
 * Object: semanage_ibpkey_key_t (Infiniband Pkey Key)
 * Implements: record_t (Database Record)
 * Implements: record_key_t (Database Record Key)
 */
 
#include <sepol/context_record.h>
#include <sepol/ibpkey_record.h>
 
typedef sepol_context_t semanage_context_t;
typedef sepol_ibpkey_t semanage_ibpkey_t;
typedef sepol_ibpkey_key_t semanage_ibpkey_key_t;
#define _SEMANAGE_IBPKEY_DEFINED_
#define _SEMANAGE_CONTEXT_DEFINED_
 
typedef semanage_ibpkey_t record_t;
typedef semanage_ibpkey_key_t record_key_t;
#define DBASE_RECORD_DEFINED
 
#include "ibpkey_internal.h"
#include "handle.h"
#include "database.h"
 
int semanage_ibpkey_compare(const semanage_ibpkey_t *ibpkey,
               const semanage_ibpkey_key_t *key)
{
   return sepol_ibpkey_compare(ibpkey, key);
}
 
hidden_def(semanage_ibpkey_compare)
 
int semanage_ibpkey_compare2(const semanage_ibpkey_t *ibpkey,
                const semanage_ibpkey_t *ibpkey2)
{
   return sepol_ibpkey_compare2(ibpkey, ibpkey2);
}
 
hidden_def(semanage_ibpkey_compare2)
 
hidden int semanage_ibpkey_compare2_qsort(const semanage_ibpkey_t **ibpkey,
                     const semanage_ibpkey_t **ibpkey2)
{
   return sepol_ibpkey_compare2(*ibpkey, *ibpkey2);
}
 
int semanage_ibpkey_key_create(semanage_handle_t *handle,
                  const char *subnet_prefix,
                  int low, int high,
                  semanage_ibpkey_key_t **key_ptr)
{
   return sepol_ibpkey_key_create(handle->sepolh, subnet_prefix, low, high, key_ptr);
}
 
int semanage_ibpkey_key_extract(semanage_handle_t *handle,
               const semanage_ibpkey_t *ibpkey,
               semanage_ibpkey_key_t **key_ptr)
{
   return sepol_ibpkey_key_extract(handle->sepolh, ibpkey, key_ptr);
}
 
hidden_def(semanage_ibpkey_key_extract)
 
void semanage_ibpkey_key_free(semanage_ibpkey_key_t *key)
{
   sepol_ibpkey_key_free(key);
}
 
hidden_def(semanage_ibpkey_key_free)
 
int semanage_ibpkey_get_subnet_prefix(semanage_handle_t *handle,
                     const semanage_ibpkey_t *ibpkey,
                     char **subnet_prefix_ptr)
{
   return sepol_ibpkey_get_subnet_prefix(handle->sepolh, ibpkey, subnet_prefix_ptr);
}
 
hidden_def(semanage_ibpkey_get_subnet_prefix)
 
uint64_t semanage_ibpkey_get_subnet_prefix_bytes(const semanage_ibpkey_t *ibpkey)
{
   return sepol_ibpkey_get_subnet_prefix_bytes(ibpkey);
}
 
hidden_def(semanage_ibpkey_get_subnet_prefix_bytes)
 
int semanage_ibpkey_set_subnet_prefix(semanage_handle_t *handle,
                     semanage_ibpkey_t *ibpkey,
                     const char *subnet_prefix)
{
   return sepol_ibpkey_set_subnet_prefix(handle->sepolh, ibpkey, subnet_prefix);
}
 
hidden_def(semanage_ibpkey_set_subnet_prefix)
 
void semanage_ibpkey_set_subnet_prefix_bytes(semanage_ibpkey_t *ibpkey,
                        uint64_t subnet_prefix)
{
   return sepol_ibpkey_set_subnet_prefix_bytes(ibpkey, subnet_prefix);
}
 
hidden_def(semanage_ibpkey_set_subnet_prefix_bytes)
 
int semanage_ibpkey_get_low(const semanage_ibpkey_t *ibpkey)
{
   return sepol_ibpkey_get_low(ibpkey);
}
 
hidden_def(semanage_ibpkey_get_low)
 
int semanage_ibpkey_get_high(const semanage_ibpkey_t *ibpkey)
{
   return sepol_ibpkey_get_high(ibpkey);
}
 
hidden_def(semanage_ibpkey_get_high)
 
void semanage_ibpkey_set_pkey(semanage_ibpkey_t *ibpkey, int ibpkey_num)
{
   sepol_ibpkey_set_pkey(ibpkey, ibpkey_num);
}
 
hidden_def(semanage_ibpkey_set_pkey)
 
void semanage_ibpkey_set_range(semanage_ibpkey_t *ibpkey, int low, int high)
{
   sepol_ibpkey_set_range(ibpkey, low, high);
}
 
hidden_def(semanage_ibpkey_set_range)
 
semanage_context_t *semanage_ibpkey_get_con(const semanage_ibpkey_t *ibpkey)
{
   return sepol_ibpkey_get_con(ibpkey);
}
 
hidden_def(semanage_ibpkey_get_con)
 
int semanage_ibpkey_set_con(semanage_handle_t *handle,
               semanage_ibpkey_t *ibpkey, semanage_context_t *con)
{
   return sepol_ibpkey_set_con(handle->sepolh, ibpkey, con);
}
 
hidden_def(semanage_ibpkey_set_con)
 
int semanage_ibpkey_create(semanage_handle_t *handle,
              semanage_ibpkey_t **ibpkey_ptr)
{
   return sepol_ibpkey_create(handle->sepolh, ibpkey_ptr);
}
 
hidden_def(semanage_ibpkey_create)
 
int semanage_ibpkey_clone(semanage_handle_t *handle,
             const semanage_ibpkey_t *ibpkey,
             semanage_ibpkey_t **ibpkey_ptr)
{
   return sepol_ibpkey_clone(handle->sepolh, ibpkey, ibpkey_ptr);
}
 
hidden_def(semanage_ibpkey_clone)
 
void semanage_ibpkey_free(semanage_ibpkey_t *ibpkey)
{
   sepol_ibpkey_free(ibpkey);
}
 
hidden_def(semanage_ibpkey_free)
 
/* key base functions */
record_table_t SEMANAGE_IBPKEY_RTABLE = {
   .create = semanage_ibpkey_create,
   .key_extract = semanage_ibpkey_key_extract,
   .key_free = semanage_ibpkey_key_free,
   .clone = semanage_ibpkey_clone,
   .compare = semanage_ibpkey_compare,
   .compare2 = semanage_ibpkey_compare2,
   .compare2_qsort = semanage_ibpkey_compare2_qsort,
   .free = semanage_ibpkey_free,
};