netlabel.h (3faa8f982f958961fda68b8d63e682fe77a032d4) netlabel.h (ceba1832b1b2da0149c51de62a847c00bca1677a)
1/*
2 * NetLabel System
3 *
4 * The NetLabel system manages static and dynamic label mappings for network
5 * protocols such as CIPSO and RIPSO.
6 *
7 * Author: Paul Moore <paul@paul-moore.com>
8 *

--- 212 unchanged lines hidden (view full) ---

221
222/**
223 * struct netlbl_calipso_ops - NetLabel CALIPSO operations
224 * @doi_add: add a CALIPSO DOI
225 * @doi_free: free a CALIPSO DOI
226 * @doi_getdef: returns a reference to a DOI
227 * @doi_putdef: releases a reference of a DOI
228 * @doi_walk: enumerate the DOI list
1/*
2 * NetLabel System
3 *
4 * The NetLabel system manages static and dynamic label mappings for network
5 * protocols such as CIPSO and RIPSO.
6 *
7 * Author: Paul Moore <paul@paul-moore.com>
8 *

--- 212 unchanged lines hidden (view full) ---

221
222/**
223 * struct netlbl_calipso_ops - NetLabel CALIPSO operations
224 * @doi_add: add a CALIPSO DOI
225 * @doi_free: free a CALIPSO DOI
226 * @doi_getdef: returns a reference to a DOI
227 * @doi_putdef: releases a reference of a DOI
228 * @doi_walk: enumerate the DOI list
229 * @sock_getattr: retrieve the socket's attr
230 * @sock_setattr: set the socket's attr
231 * @sock_delattr: remove the socket's attr
229 *
230 * Description:
231 * This structure is filled out by the CALIPSO engine and passed
232 * to the NetLabel core via a call to netlbl_calipso_ops_register().
233 * It enables the CALIPSO engine (and hence IPv6) to be compiled
234 * as a module.
235 */
236struct netlbl_calipso_ops {
237 int (*doi_add)(struct calipso_doi *doi_def,
238 struct netlbl_audit *audit_info);
239 void (*doi_free)(struct calipso_doi *doi_def);
240 int (*doi_remove)(u32 doi, struct netlbl_audit *audit_info);
241 struct calipso_doi *(*doi_getdef)(u32 doi);
242 void (*doi_putdef)(struct calipso_doi *doi_def);
243 int (*doi_walk)(u32 *skip_cnt,
244 int (*callback)(struct calipso_doi *doi_def, void *arg),
245 void *cb_arg);
232 *
233 * Description:
234 * This structure is filled out by the CALIPSO engine and passed
235 * to the NetLabel core via a call to netlbl_calipso_ops_register().
236 * It enables the CALIPSO engine (and hence IPv6) to be compiled
237 * as a module.
238 */
239struct netlbl_calipso_ops {
240 int (*doi_add)(struct calipso_doi *doi_def,
241 struct netlbl_audit *audit_info);
242 void (*doi_free)(struct calipso_doi *doi_def);
243 int (*doi_remove)(u32 doi, struct netlbl_audit *audit_info);
244 struct calipso_doi *(*doi_getdef)(u32 doi);
245 void (*doi_putdef)(struct calipso_doi *doi_def);
246 int (*doi_walk)(u32 *skip_cnt,
247 int (*callback)(struct calipso_doi *doi_def, void *arg),
248 void *cb_arg);
249 int (*sock_getattr)(struct sock *sk,
250 struct netlbl_lsm_secattr *secattr);
251 int (*sock_setattr)(struct sock *sk,
252 const struct calipso_doi *doi_def,
253 const struct netlbl_lsm_secattr *secattr);
254 void (*sock_delattr)(struct sock *sk);
246};
247
248/*
249 * LSM security attribute operations (inline)
250 */
251
252/**
253 * netlbl_secattr_cache_alloc - Allocate and initialize a secattr cache

--- 386 unchanged lines hidden ---
255};
256
257/*
258 * LSM security attribute operations (inline)
259 */
260
261/**
262 * netlbl_secattr_cache_alloc - Allocate and initialize a secattr cache

--- 386 unchanged lines hidden ---