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 * @audit_info: NetLabel audit information 32 */ 33 static inline void netlbl_netlink_auditinfo(struct netlbl_audit *audit_info) 34 { 35 security_task_getsecid_subj(current, &audit_info->secid); 36 audit_info->loginuid = audit_get_loginuid(current); 37 audit_info->sessionid = audit_get_sessionid(current); 38 } 39 40 /* NetLabel NETLINK I/O functions */ 41 42 int netlbl_netlink_init(void); 43 44 /* NetLabel Audit Functions */ 45 46 struct audit_buffer *netlbl_audit_start_common(int type, 47 struct netlbl_audit *audit_info); 48 49 #endif 50