1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * NetLabel NETLINK Interface 4 * 5 * This file defines the NETLINK interface for the NetLabel system. The 6 * NetLabel system manages static and dynamic label mappings for network 7 * protocols such as CIPSO and RIPSO. 8 * 9 * Author: Paul Moore <paul@paul-moore.com> 10 */ 11 12 /* 13 * (c) Copyright Hewlett-Packard Development Company, L.P., 2006 14 */ 15 16 #ifndef _NETLABEL_USER_H 17 #define _NETLABEL_USER_H 18 19 #include <linux/types.h> 20 #include <linux/skbuff.h> 21 #include <linux/capability.h> 22 #include <linux/audit.h> 23 #include <net/netlink.h> 24 #include <net/genetlink.h> 25 #include <net/netlabel.h> 26 27 /* NetLabel NETLINK helper functions */ 28 29 /** 30 * netlbl_netlink_auditinfo - Fetch the audit information from a NETLINK msg 31 * @skb: the packet 32 * @audit_info: NetLabel audit information 33 */ 34 static inline void netlbl_netlink_auditinfo(struct sk_buff *skb, 35 struct netlbl_audit *audit_info) 36 { 37 security_task_getsecid(current, &audit_info->secid); 38 audit_info->loginuid = audit_get_loginuid(current); 39 audit_info->sessionid = audit_get_sessionid(current); 40 } 41 42 /* NetLabel NETLINK I/O functions */ 43 44 int netlbl_netlink_init(void); 45 46 /* NetLabel Audit Functions */ 47 48 struct audit_buffer *netlbl_audit_start_common(int type, 49 struct netlbl_audit *audit_info); 50 51 #endif 52