view lib/priv-set.h @ 17484:1f9070ef79b0

headers: check that _GL_INLINE_HEADER_BEGIN is defined Suggested by Bruce Korb in: http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html * doc/extern-inline.texi (extern inline): Suggest checking that _GL_INLINE_HEADER_BEGIN is defined. * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h: * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h: * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h: * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h: * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h: * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h: * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h: * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h: * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h: * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h: * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h: * lib/xtime.h: Check that _GL_INLINE_HEADER_BEGIN is defined.
author Paul Eggert <eggert@cs.ucla.edu>
date Wed, 28 Aug 2013 18:49:38 -0700
parents e542fd46ad6f
children 344018b6e5d7
line wrap: on
line source

/* Query, remove, or restore a Solaris privilege.

   Copyright (C) 2009-2013 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.

   Written by David Bartley.  */

#ifndef _GL_INLINE_HEADER_BEGIN
 #error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef PRIV_SET_INLINE
# define PRIV_SET_INLINE _GL_INLINE
#endif

#if HAVE_GETPPRIV && HAVE_PRIV_H

# include <priv.h>

int priv_set_ismember (const char *priv);
int priv_set_remove (const char *priv);
int priv_set_restore (const char *priv);

PRIV_SET_INLINE int
priv_set_remove_linkdir (void)
{
  return priv_set_remove (PRIV_SYS_LINKDIR);
}

PRIV_SET_INLINE int
priv_set_restore_linkdir (void)
{
  return priv_set_restore (PRIV_SYS_LINKDIR);
}

#else

PRIV_SET_INLINE int
priv_set_remove_linkdir (void)
{
  return -1;
}

PRIV_SET_INLINE int
priv_set_restore_linkdir (void)
{
  return -1;
}

#endif

_GL_INLINE_HEADER_END