1d15c345fSPaul Moore /* 2d15c345fSPaul Moore * NetLabel NETLINK Interface 3d15c345fSPaul Moore * 4d15c345fSPaul Moore * This file defines the NETLINK interface for the NetLabel system. The 5d15c345fSPaul Moore * NetLabel system manages static and dynamic label mappings for network 6d15c345fSPaul Moore * protocols such as CIPSO and RIPSO. 7d15c345fSPaul Moore * 8*82c21bfaSPaul Moore * Author: Paul Moore <paul@paul-moore.com> 9d15c345fSPaul Moore * 10d15c345fSPaul Moore */ 11d15c345fSPaul Moore 12d15c345fSPaul Moore /* 13d15c345fSPaul Moore * (c) Copyright Hewlett-Packard Development Company, L.P., 2006 14d15c345fSPaul Moore * 15d15c345fSPaul Moore * This program is free software; you can redistribute it and/or modify 16d15c345fSPaul Moore * it under the terms of the GNU General Public License as published by 17d15c345fSPaul Moore * the Free Software Foundation; either version 2 of the License, or 18d15c345fSPaul Moore * (at your option) any later version. 19d15c345fSPaul Moore * 20d15c345fSPaul Moore * This program is distributed in the hope that it will be useful, 21d15c345fSPaul Moore * but WITHOUT ANY WARRANTY; without even the implied warranty of 22d15c345fSPaul Moore * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 23d15c345fSPaul Moore * the GNU General Public License for more details. 24d15c345fSPaul Moore * 25d15c345fSPaul Moore * You should have received a copy of the GNU General Public License 26d15c345fSPaul Moore * along with this program; if not, write to the Free Software 27d15c345fSPaul Moore * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 28d15c345fSPaul Moore * 29d15c345fSPaul Moore */ 30d15c345fSPaul Moore 31d15c345fSPaul Moore #ifndef _NETLABEL_USER_H 32d15c345fSPaul Moore #define _NETLABEL_USER_H 33d15c345fSPaul Moore 347a0e1d60SPaul Moore #include <linux/types.h> 35d15c345fSPaul Moore #include <linux/skbuff.h> 36d15c345fSPaul Moore #include <linux/capability.h> 3732f50cdeSPaul Moore #include <linux/audit.h> 387a0e1d60SPaul Moore #include <net/netlink.h> 39d15c345fSPaul Moore #include <net/genetlink.h> 407a0e1d60SPaul Moore #include <net/netlabel.h> 41d15c345fSPaul Moore 42d15c345fSPaul Moore /* NetLabel NETLINK helper functions */ 43d15c345fSPaul Moore 44d15c345fSPaul Moore /** 4595d4e6beSPaul Moore * netlbl_netlink_auditinfo - Fetch the audit information from a NETLINK msg 4695d4e6beSPaul Moore * @skb: the packet 4795d4e6beSPaul Moore * @audit_info: NetLabel audit information 4895d4e6beSPaul Moore */ 4995d4e6beSPaul Moore static inline void netlbl_netlink_auditinfo(struct sk_buff *skb, 5095d4e6beSPaul Moore struct netlbl_audit *audit_info) 5195d4e6beSPaul Moore { 52c53fa1edSPatrick McHardy security_task_getsecid(current, &audit_info->secid); 53c53fa1edSPatrick McHardy audit_info->loginuid = audit_get_loginuid(current); 54c53fa1edSPatrick McHardy audit_info->sessionid = audit_get_sessionid(current); 5595d4e6beSPaul Moore } 5695d4e6beSPaul Moore 57d15c345fSPaul Moore /* NetLabel NETLINK I/O functions */ 58d15c345fSPaul Moore 59d15c345fSPaul Moore int netlbl_netlink_init(void); 60d15c345fSPaul Moore 6132f50cdeSPaul Moore /* NetLabel Audit Functions */ 6232f50cdeSPaul Moore 6395d4e6beSPaul Moore struct audit_buffer *netlbl_audit_start_common(int type, 6495d4e6beSPaul Moore struct netlbl_audit *audit_info); 6532f50cdeSPaul Moore 66d15c345fSPaul Moore #endif 67