11ccea77eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2d15c345fSPaul Moore /* 3d15c345fSPaul Moore * NetLabel NETLINK Interface 4d15c345fSPaul Moore * 5d15c345fSPaul Moore * This file defines the NETLINK interface for the NetLabel system. The 6d15c345fSPaul Moore * NetLabel system manages static and dynamic label mappings for network 7d15c345fSPaul Moore * protocols such as CIPSO and RIPSO. 8d15c345fSPaul Moore * 982c21bfaSPaul Moore * Author: Paul Moore <paul@paul-moore.com> 10d15c345fSPaul Moore */ 11d15c345fSPaul Moore 12d15c345fSPaul Moore /* 13d15c345fSPaul Moore * (c) Copyright Hewlett-Packard Development Company, L.P., 2006 14d15c345fSPaul Moore */ 15d15c345fSPaul Moore 16d15c345fSPaul Moore #ifndef _NETLABEL_USER_H 17d15c345fSPaul Moore #define _NETLABEL_USER_H 18d15c345fSPaul Moore 197a0e1d60SPaul Moore #include <linux/types.h> 20d15c345fSPaul Moore #include <linux/skbuff.h> 21d15c345fSPaul Moore #include <linux/capability.h> 2232f50cdeSPaul Moore #include <linux/audit.h> 237a0e1d60SPaul Moore #include <net/netlink.h> 24d15c345fSPaul Moore #include <net/genetlink.h> 257a0e1d60SPaul Moore #include <net/netlabel.h> 26d15c345fSPaul Moore 27d15c345fSPaul Moore /* NetLabel NETLINK helper functions */ 28d15c345fSPaul Moore 29d15c345fSPaul Moore /** 3095d4e6beSPaul Moore * netlbl_netlink_auditinfo - Fetch the audit information from a NETLINK msg 3195d4e6beSPaul Moore * @audit_info: NetLabel audit information 3295d4e6beSPaul Moore */ netlbl_netlink_auditinfo(struct netlbl_audit * audit_info)33f7e0318aSZheng Yejianstatic inline void netlbl_netlink_auditinfo(struct netlbl_audit *audit_info) 3495d4e6beSPaul Moore { 35*6326948fSPaul Moore security_current_getsecid_subj(&audit_info->secid); 36c53fa1edSPatrick McHardy audit_info->loginuid = audit_get_loginuid(current); 37c53fa1edSPatrick McHardy audit_info->sessionid = audit_get_sessionid(current); 3895d4e6beSPaul Moore } 3995d4e6beSPaul Moore 40d15c345fSPaul Moore /* NetLabel NETLINK I/O functions */ 41d15c345fSPaul Moore 42d15c345fSPaul Moore int netlbl_netlink_init(void); 43d15c345fSPaul Moore 4432f50cdeSPaul Moore /* NetLabel Audit Functions */ 4532f50cdeSPaul Moore 4695d4e6beSPaul Moore struct audit_buffer *netlbl_audit_start_common(int type, 4795d4e6beSPaul Moore struct netlbl_audit *audit_info); 4832f50cdeSPaul Moore 49d15c345fSPaul Moore #endif 50