• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _SEPOL_IBENDPORT_RECORD_H_
2 #define _SEPOL_IBENDPORT_RECORD_H_
3 
4 #include <stddef.h>
5 #include <sepol/context_record.h>
6 #include <sepol/handle.h>
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 struct sepol_ibendport;
13 struct sepol_ibendport_key;
14 typedef struct sepol_ibendport sepol_ibendport_t;
15 typedef struct sepol_ibendport_key sepol_ibendport_key_t;
16 
17 extern int sepol_ibendport_compare(const sepol_ibendport_t *ibendport,
18 				   const sepol_ibendport_key_t *key);
19 
20 extern int sepol_ibendport_compare2(const sepol_ibendport_t *ibendport,
21 				    const sepol_ibendport_t *ibendport2);
22 
23 extern int sepol_ibendport_key_create(sepol_handle_t *handle,
24 				      const char *ibdev_name,
25 				      int port,
26 				      sepol_ibendport_key_t **key_ptr);
27 
28 extern void sepol_ibendport_key_unpack(const sepol_ibendport_key_t *key,
29 				       const char **ibdev_name,
30 				       int *port);
31 
32 extern int sepol_ibendport_alloc_ibdev_name(sepol_handle_t *handle,
33 					    char **ibdev_name);
34 
35 extern int sepol_ibendport_key_extract(sepol_handle_t *handle,
36 				       const sepol_ibendport_t *ibendport,
37 				       sepol_ibendport_key_t **key_ptr);
38 
39 extern void sepol_ibendport_key_free(sepol_ibendport_key_t *key);
40 
41 extern void sepol_ibendport_set_port(sepol_ibendport_t *ibendport, int port);
42 
43 extern int sepol_ibendport_get_port(const sepol_ibendport_t *ibendport);
44 
45 extern int sepol_ibendport_get_ibdev_name(sepol_handle_t *handle,
46 					  const sepol_ibendport_t *ibendport,
47 					  char **ibdev_name);
48 
49 extern int sepol_ibendport_set_ibdev_name(sepol_handle_t *handle,
50 					  sepol_ibendport_t *ibendport,
51 					  const char *ibdev_name);
52 
53 extern sepol_context_t *sepol_ibendport_get_con(const sepol_ibendport_t *ibendport);
54 
55 extern int sepol_ibendport_set_con(sepol_handle_t *handle,
56 				   sepol_ibendport_t *ibendport,
57 				   sepol_context_t *con);
58 
59 extern int sepol_ibendport_create(sepol_handle_t *handle,
60 				  sepol_ibendport_t **ibendport_ptr);
61 
62 extern int sepol_ibendport_clone(sepol_handle_t *handle,
63 				 const sepol_ibendport_t *ibendport,
64 				 sepol_ibendport_t **ibendport_ptr);
65 
66 extern void sepol_ibendport_free(sepol_ibendport_t *ibendport);
67 
68 #ifdef __cplusplus
69 }
70 #endif
71 
72 #endif
73