xref: /onnv-gate/usr/src/cmd/perl/contrib/Sun/Solaris/Privilege/Privilege.pm (revision 12388:1bc8d55b0dfd)
1#
2# Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
3#
4
5#
6# Privilege.pm provides the bootstrap for the Sun::Solaris::Privilege module.
7#
8
9require 5.8.4;
10use strict;
11use warnings;
12
13package Sun::Solaris::Privilege;
14
15our $VERSION = '1.4';
16
17use XSLoader;
18XSLoader::load(__PACKAGE__, $VERSION);
19
20our (@EXPORT_OK, %EXPORT_TAGS);
21my @constants = qw(PRIV_STR_SHORT PRIV_STR_LIT PRIV_STR_PORT PRIV_ON PRIV_OFF
22	PRIV_SET PRIV_AWARE PRIV_AWARE_RESET PRIV_DEBUG PRIV_PFEXEC
23	PRIV_XPOLICY NET_MAC_AWARE NET_MAC_AWARE_INHERIT __PROC_PROTECT);
24my @syscalls = qw(setppriv getppriv setpflags getpflags);
25my @libcalls = qw(priv_addset priv_copyset priv_delset
26    priv_emptyset priv_fillset priv_intersect priv_inverse priv_ineffect
27    priv_isemptyset priv_isequalset priv_isfullset priv_ismember
28    priv_issubset priv_union priv_set_to_str priv_str_to_set priv_gettext);
29my @variables = qw(%PRIVILEGES %PRIVSETS);
30
31my @private = qw(priv_getsetbynum priv_getbynum);
32
33use vars qw(%PRIVILEGES %PRIVSETS);
34
35#
36# Dynamically gather all the privilege and privilege set names; they are
37# generated in Privileges.xs::BOOT.
38#
39push @constants, keys %PRIVILEGES, keys %PRIVSETS;
40
41@EXPORT_OK = (@constants, @syscalls, @libcalls, @private, @variables);
42%EXPORT_TAGS = (CONSTANTS => \@constants, SYSCALLS => \@syscalls,
43    LIBCALLS => \@libcalls, PRIVATE => \@private, VARIABLES => \@variables,
44    ALL => \@EXPORT_OK);
45
46our @ISA = qw(Exporter);
47
481;
49__END__
50