linux/net/netlabel/netlabel_user.h
<<
>>
Prefs
   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 */
  48static inline void netlbl_netlink_auditinfo(struct sk_buff *skb,
  49                                            struct netlbl_audit *audit_info)
  50{
  51        security_task_getsecid(current, &audit_info->secid);
  52        audit_info->loginuid = audit_get_loginuid(current);
  53        audit_info->sessionid = audit_get_sessionid(current);
  54}
  55
  56/* NetLabel NETLINK I/O functions */
  57
  58int netlbl_netlink_init(void);
  59
  60/* NetLabel Audit Functions */
  61
  62struct audit_buffer *netlbl_audit_start_common(int type,
  63                                              struct netlbl_audit *audit_info);
  64
  65#endif
  66