(linenum→info "unix/slp.c:2238")

glibc/2.7/nscd/selinux.h

    1: /* Header for nscd SELinux access controls.
    2:    Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
    3:    This file is part of the GNU C Library.
    4:    Contributed by Matthew Rickard <mjricka@epoch.ncsc.mil>, 2004.
    5: 
    6:    The GNU C Library is free software; you can redistribute it and/or
    7:    modify it under the terms of the GNU Lesser General Public
    8:    License as published by the Free Software Foundation; either
    9:    version 2.1 of the License, or (at your option) any later version.
   10: 
   11:    The GNU C Library is distributed in the hope that it will be useful,
   12:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   13:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   14:    Lesser General Public License for more details.
   15: 
   16:    You should have received a copy of the GNU Lesser General Public
   17:    License along with the GNU C Library; if not, write to the Free
   18:    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   19:    02111-1307 USA.  */
   20: 
   21: #ifndef _SELINUX_H
   22: #define _SELINUX_H 1
   23: 
   24: #include "nscd.h"
   25: #ifdef HAVE_LIBCAP
   26: # include <sys/capability.h>
   27: #endif
   28: 
   29: #ifdef HAVE_SELINUX
   30: /* Global variable to tell if the kernel has SELinux support.  */
   31: extern int selinux_enabled;
   32: 
   33: /* Define this for AVC stat usage.  */
   34: struct avc_cache_stats;
   35: 
   36: /* Initialize the userspace AVC.  */
   37: extern void nscd_avc_init (void);
   38: /* Destroy the userspace AVC.  */
   39: extern void nscd_avc_destroy (void);
   40: /* Determine if we are running on an SELinux kernel.  */
   41: extern void nscd_selinux_enabled (int *selinux_enabled);
   42: /* Check if the client has permission for the request type.  */
   43: extern int nscd_request_avc_has_perm (int fd, request_type req);
   44: /* Initialize AVC statistic information.  */
   45: extern void nscd_avc_cache_stats (struct avc_cache_stats *cstats);
   46: /* Display statistics on AVC usage.  */
   47: extern void nscd_avc_print_stats (struct avc_cache_stats *cstats);
   48: 
   49: # ifdef HAVE_LIBCAP
   50: /* Preserve capabilities to connect to connnect to the audit daemon.  */
   51: extern cap_t preserve_capabilities (void);
   52: /* Install final capabilities.  */
   53: extern void install_real_capabilities (cap_t new_caps);
   54: # endif
   55: #else
   56: # define selinux_enabled 0
   57: # define nscd_avc_init() (void) 0
   58: # define nscd_avc_destroy() (void) 0
   59: # define nscd_selinux_enabled(selinux_enabled) (void) 0
   60: # define nscd_request_avc_has_perm(fd, req) 0
   61: # define nscd_avc_cache_stats(cstats) (void) 0
   62: # define nscd_avc_print_stats(cstats) (void) 0
   63: #endif /* HAVE_SELINUX */
   64: 
   65: #endif /* _SELINUX_H */
Syntax (Markdown)