Branch data Line data Source code
1 : : /*
2 : : * NetLabel NETLINK Interface
3 : : *
4 : : * This file defines the NETLINK interface for the NetLabel system. The
5 : : * NetLabel system manages static and dynamic label mappings for network
6 : : * protocols such as CIPSO and RIPSO.
7 : : *
8 : : * Author: Paul Moore <paul@paul-moore.com>
9 : : *
10 : : */
11 : :
12 : : /*
13 : : * (c) Copyright Hewlett-Packard Development Company, L.P., 2006
14 : : *
15 : : * This program is free software; you can redistribute it and/or modify
16 : : * it under the terms of the GNU General Public License as published by
17 : : * the Free Software Foundation; either version 2 of the License, or
18 : : * (at your option) any later version.
19 : : *
20 : : * This program is distributed in the hope that it will be useful,
21 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
23 : : * the GNU General Public License for more details.
24 : : *
25 : : * You should have received a copy of the GNU General Public License
26 : : * along with this program; if not, see <http://www.gnu.org/licenses/>.
27 : : *
28 : : */
29 : :
30 : : #ifndef _NETLABEL_USER_H
31 : : #define _NETLABEL_USER_H
32 : :
33 : : #include <linux/types.h>
34 : : #include <linux/skbuff.h>
35 : : #include <linux/capability.h>
36 : : #include <linux/audit.h>
37 : : #include <net/netlink.h>
38 : : #include <net/genetlink.h>
39 : : #include <net/netlabel.h>
40 : :
41 : : /* NetLabel NETLINK helper functions */
42 : :
43 : : /**
44 : : * netlbl_netlink_auditinfo - Fetch the audit information from a NETLINK msg
45 : : * @skb: the packet
46 : : * @audit_info: NetLabel audit information
47 : : */
48 : : static inline void netlbl_netlink_auditinfo(struct sk_buff *skb,
49 : : struct netlbl_audit *audit_info)
50 : : {
51 : 0 : security_task_getsecid(current, &audit_info->secid);
52 : 0 : audit_info->loginuid = audit_get_loginuid(current);
53 : 0 : audit_info->sessionid = audit_get_sessionid(current);
54 : : }
55 : :
56 : : /* NetLabel NETLINK I/O functions */
57 : :
58 : : int netlbl_netlink_init(void);
59 : :
60 : : /* NetLabel Audit Functions */
61 : :
62 : : struct audit_buffer *netlbl_audit_start_common(int type,
63 : : struct netlbl_audit *audit_info);
64 : :
65 : : #endif
|