Home | History | Annotate | Line # | Download | only in sys
      1 /*
      2  * CDDL HEADER START
      3  *
      4  * The contents of this file are subject to the terms of the
      5  * Common Development and Distribution License (the "License").
      6  * You may not use this file except in compliance with the License.
      7  *
      8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9  * or http://www.opensolaris.org/os/licensing.
     10  * See the License for the specific language governing permissions
     11  * and limitations under the License.
     12  *
     13  * When distributing Covered Code, include this CDDL HEADER in each
     14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15  * If applicable, add the following below this CDDL HEADER, with the
     16  * fields enclosed by brackets "[]" replaced with your own identifying
     17  * information: Portions Copyright [yyyy] [name of copyright owner]
     18  *
     19  * CDDL HEADER END
     20  */
     21 /*
     22  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
     23  * Use is subject to license terms.
     24  *
     25  * Privilege constant definitions.  Privileges and privilege sets
     26  * are only known by name and should be mapped at runtime.
     27  *
     28  * THIS FILE WAS GENERATED; DO NOT EDIT
     29  */
     30 
     31 
     32 #ifndef _SYS_PRIV_NAMES_H
     33 #define	_SYS_PRIV_NAMES_H
     34 
     35 
     36 
     37 #ifdef __cplusplus
     38 extern "C" {
     39 #endif
     40 
     41 #ifndef __PRIV_CONST_IMPL
     42 /*
     43  * Privilege names
     44  */
     45 /*
     46  * Allows a process to request critical events without limitation.
     47  * Allows a process to request reliable delivery of all events on
     48  * any event queue.
     49  */
     50 #define	PRIV_CONTRACT_EVENT	((const char *)"contract_event")
     51 
     52 /*
     53  * Allows a process to set the service FMRI value of a process
     54  * contract template.
     55  */
     56 #define	PRIV_CONTRACT_IDENTITY	((const char *)"contract_identity")
     57 
     58 /*
     59  * Allows a process to observe contract events generated by
     60  * contracts created and owned by users other than the process's
     61  * effective user ID.
     62  * Allows a process to open contract event endpoints belonging to
     63  * contracts created and owned by users other than the process's
     64  * effective user ID.
     65  */
     66 #define	PRIV_CONTRACT_OBSERVER	((const char *)"contract_observer")
     67 
     68 /*
     69  * Allow a process to access per-CPU hardware performance counters.
     70  */
     71 #define	PRIV_CPC_CPU		((const char *)"cpc_cpu")
     72 
     73 /*
     74  * Allows DTrace kernel-level tracing.
     75  */
     76 #define	PRIV_DTRACE_KERNEL	((const char *)"dtrace_kernel")
     77 
     78 /*
     79  * Allows DTrace process-level tracing.
     80  * Allows process-level tracing probes to be placed and enabled in
     81  * processes to which the user has permissions.
     82  */
     83 #define	PRIV_DTRACE_PROC	((const char *)"dtrace_proc")
     84 
     85 /*
     86  * Allows DTrace user-level tracing.
     87  * Allows use of the syscall and profile DTrace providers to
     88  * examine processes to which the user has permissions.
     89  */
     90 #define	PRIV_DTRACE_USER	((const char *)"dtrace_user")
     91 
     92 /*
     93  * Allows a process to change a file's owner user ID.
     94  * Allows a process to change a file's group ID to one other than
     95  * the process' effective group ID or one of the process'
     96  * supplemental group IDs.
     97  */
     98 #define	PRIV_FILE_CHOWN		((const char *)"file_chown")
     99 
    100 /*
    101  * Allows a process to give away its files; a process with this
    102  * privilege will run as if {_POSIX_CHOWN_RESTRICTED} is not
    103  * in effect.
    104  */
    105 #define	PRIV_FILE_CHOWN_SELF	((const char *)"file_chown_self")
    106 
    107 /*
    108  * Allows a process to execute an executable file whose permission
    109  * bits or ACL do not allow the process execute permission.
    110  */
    111 #define	PRIV_FILE_DAC_EXECUTE	((const char *)"file_dac_execute")
    112 
    113 /*
    114  * Allows a process to read a file or directory whose permission
    115  * bits or ACL do not allow the process read permission.
    116  */
    117 #define	PRIV_FILE_DAC_READ	((const char *)"file_dac_read")
    118 
    119 /*
    120  * Allows a process to search a directory whose permission bits or
    121  * ACL do not allow the process search permission.
    122  */
    123 #define	PRIV_FILE_DAC_SEARCH	((const char *)"file_dac_search")
    124 
    125 /*
    126  * Allows a process to write a file or directory whose permission
    127  * bits or ACL do not allow the process write permission.
    128  * In order to write files owned by uid 0 in the absence of an
    129  * effective uid of 0 ALL privileges are required.
    130  */
    131 #define	PRIV_FILE_DAC_WRITE	((const char *)"file_dac_write")
    132 
    133 /*
    134  * Allows a process to set the sensitivity label of a file or
    135  * directory to a sensitivity label that does not dominate the
    136  * existing sensitivity label.
    137  * This privilege is interpreted only if the system is configured
    138  * with Trusted Extensions.
    139  */
    140 #define	PRIV_FILE_DOWNGRADE_SL	((const char *)"file_downgrade_sl")
    141 
    142 /*
    143  * Allows a process to create hardlinks to files owned by a uid
    144  * different from the process' effective uid.
    145  */
    146 #define	PRIV_FILE_LINK_ANY	((const char *)"file_link_any")
    147 
    148 /*
    149  * Allows a process which is not the owner of a file or directory
    150  * to perform the following operations that are normally permitted
    151  * only for the file owner: modify that file's access and
    152  * modification times; remove or rename a file or directory whose
    153  * parent directory has the ``save text image after execution''
    154  * (sticky) bit set; mount a ``namefs'' upon a file; modify
    155  * permission bits or ACL except for the set-uid and set-gid
    156  * bits.
    157  */
    158 #define	PRIV_FILE_OWNER		((const char *)"file_owner")
    159 
    160 /*
    161  * Allows a process to change the ownership of a file or write to
    162  * a file without the set-user-ID and set-group-ID bits being
    163  * cleared.
    164  * Allows a process to set the set-group-ID bit on a file or
    165  * directory whose group is not the process' effective group or
    166  * one of the process' supplemental groups.
    167  * Allows a process to set the set-user-ID bit on a file with
    168  * different ownership in the presence of PRIV_FILE_OWNER.
    169  * Additional restrictions apply when creating or modifying a
    170  * set-uid 0 file.
    171  */
    172 #define	PRIV_FILE_SETID		((const char *)"file_setid")
    173 
    174 /*
    175  * Allows a process to set the sensitivity label of a file or
    176  * directory to a sensitivity label that dominates the existing
    177  * sensitivity label.
    178  * This privilege is interpreted only if the system is configured
    179  * with Trusted Extensions.
    180  */
    181 #define	PRIV_FILE_UPGRADE_SL	((const char *)"file_upgrade_sl")
    182 
    183 /*
    184  * Allows a process to set immutable, nounlink or appendonly
    185  * file attributes.
    186  */
    187 #define	PRIV_FILE_FLAG_SET	((const char *)"file_flag_set")
    188 
    189 /*
    190  * Allows a process to make privileged ioctls to graphics devices.
    191  * Typically only xserver process needs to have this privilege.
    192  * A process with this privilege is also allowed to perform
    193  * privileged graphics device mappings.
    194  */
    195 #define	PRIV_GRAPHICS_ACCESS	((const char *)"graphics_access")
    196 
    197 /*
    198  * Allows a process to perform privileged mappings through a
    199  * graphics device.
    200  */
    201 #define	PRIV_GRAPHICS_MAP	((const char *)"graphics_map")
    202 
    203 /*
    204  * Allows a process to read a System V IPC
    205  * Message Queue, Semaphore Set, or Shared Memory Segment whose
    206  * permission bits do not allow the process read permission.
    207  * Allows a process to read remote shared memory whose
    208  * permission bits do not allow the process read permission.
    209  */
    210 #define	PRIV_IPC_DAC_READ	((const char *)"ipc_dac_read")
    211 
    212 /*
    213  * Allows a process to write a System V IPC
    214  * Message Queue, Semaphore Set, or Shared Memory Segment whose
    215  * permission bits do not allow the process write permission.
    216  * Allows a process to read remote shared memory whose
    217  * permission bits do not allow the process write permission.
    218  * Additional restrictions apply if the owner of the object has uid 0
    219  * and the effective uid of the current process is not 0.
    220  */
    221 #define	PRIV_IPC_DAC_WRITE	((const char *)"ipc_dac_write")
    222 
    223 /*
    224  * Allows a process which is not the owner of a System
    225  * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
    226  * remove, change ownership of, or change permission bits of the
    227  * Message Queue, Semaphore Set, or Shared Memory Segment.
    228  * Additional restrictions apply if the owner of the object has uid 0
    229  * and the effective uid of the current process is not 0.
    230  */
    231 #define	PRIV_IPC_OWNER		((const char *)"ipc_owner")
    232 
    233 /*
    234  * Allow a process to bind to a port that is configured as a
    235  * multi-level port(MLP) for the process's zone. This privilege
    236  * applies to both shared address and zone-specific address MLPs.
    237  * See tnzonecfg(4) from the Trusted Extensions manual pages for
    238  * information on configuring MLP ports.
    239  * This privilege is interpreted only if the system is configured
    240  * with Trusted Extensions.
    241  */
    242 #define	PRIV_NET_BINDMLP	((const char *)"net_bindmlp")
    243 
    244 /*
    245  * Allows a process to send and receive ICMP packets.
    246  */
    247 #define	PRIV_NET_ICMPACCESS	((const char *)"net_icmpaccess")
    248 
    249 /*
    250  * Allows a process to set NET_MAC_AWARE process flag by using
    251  * setpflags(2). This privilege also allows a process to set
    252  * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
    253  * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
    254  * option both allow a local process to communicate with an
    255  * unlabeled peer if the local process' label dominates the
    256  * peer's default label, or if the local process runs in the
    257  * global zone.
    258  * This privilege is interpreted only if the system is configured
    259  * with Trusted Extensions.
    260  */
    261 #define	PRIV_NET_MAC_AWARE	((const char *)"net_mac_aware")
    262 
    263 /*
    264  * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
    265  * while not requiring them to need PRIV_NET_RAWACCESS.
    266  */
    267 #define	PRIV_NET_OBSERVABILITY	((const char *)"net_observability")
    268 
    269 /*
    270  * Allows a process to bind to a privileged port
    271  * number. The privilege port numbers are 1-1023 (the traditional
    272  * UNIX privileged ports) as well as those ports marked as
    273  * "udp/tcp_extra_priv_ports" with the exception of the ports
    274  * reserved for use by NFS.
    275  */
    276 #define	PRIV_NET_PRIVADDR	((const char *)"net_privaddr")
    277 
    278 /*
    279  * Allows a process to have direct access to the network layer.
    280  */
    281 #define	PRIV_NET_RAWACCESS	((const char *)"net_rawaccess")
    282 
    283 /*
    284  * Allows a process to generate audit records.
    285  * Allows a process to get its own audit pre-selection information.
    286  */
    287 #define	PRIV_PROC_AUDIT		((const char *)"proc_audit")
    288 
    289 /*
    290  * Allows a process to change its root directory.
    291  */
    292 #define	PRIV_PROC_CHROOT	((const char *)"proc_chroot")
    293 
    294 /*
    295  * Allows a process to use high resolution timers.
    296  */
    297 #define	PRIV_PROC_CLOCK_HIGHRES	((const char *)"proc_clock_highres")
    298 
    299 /*
    300  * Allows a process to call execve().
    301  */
    302 #define	PRIV_PROC_EXEC		((const char *)"proc_exec")
    303 
    304 /*
    305  * Allows a process to call fork1()/forkall()/vfork()
    306  */
    307 #define	PRIV_PROC_FORK		((const char *)"proc_fork")
    308 
    309 /*
    310  * Allows a process to examine the status of processes other
    311  * than those it can send signals to.  Processes which cannot
    312  * be examined cannot be seen in /proc and appear not to exist.
    313  */
    314 #define	PRIV_PROC_INFO		((const char *)"proc_info")
    315 
    316 /*
    317  * Allows a process to lock pages in physical memory.
    318  */
    319 #define	PRIV_PROC_LOCK_MEMORY	((const char *)"proc_lock_memory")
    320 
    321 /*
    322  * Allows a process to send signals to other processes, inspect
    323  * and modify process state to other processes regardless of
    324  * ownership.  When modifying another process, additional
    325  * restrictions apply:  the effective privilege set of the
    326  * attaching process must be a superset of the target process'
    327  * effective, permitted and inheritable sets; the limit set must
    328  * be a superset of the target's limit set; if the target process
    329  * has any uid set to 0 all privilege must be asserted unless the
    330  * effective uid is 0.
    331  * Allows a process to bind arbitrary processes to CPUs.
    332  */
    333 #define	PRIV_PROC_OWNER		((const char *)"proc_owner")
    334 
    335 /*
    336  * Allows a process to elevate its priority above its current level.
    337  * Allows a process to change its scheduling class to any scheduling class,
    338  * including the RT class.
    339  */
    340 #define	PRIV_PROC_PRIOCNTL	((const char *)"proc_priocntl")
    341 
    342 /*
    343  * Allows a process to send signals or trace processes outside its
    344  * session.
    345  */
    346 #define	PRIV_PROC_SESSION	((const char *)"proc_session")
    347 
    348 /*
    349  * Allows a process to set its uids at will.
    350  * Assuming uid 0 requires all privileges to be asserted.
    351  */
    352 #define	PRIV_PROC_SETID		((const char *)"proc_setid")
    353 
    354 /*
    355  * Allows a process to assign a new task ID to the calling process.
    356  */
    357 #define	PRIV_PROC_TASKID	((const char *)"proc_taskid")
    358 
    359 /*
    360  * Allows a process to trace or send signals to processes in
    361  * other zones.
    362  */
    363 #define	PRIV_PROC_ZONE		((const char *)"proc_zone")
    364 
    365 /*
    366  * Allows a process to enable and disable and manage accounting through
    367  * acct(2), getacct(2), putacct(2) and wracct(2).
    368  */
    369 #define	PRIV_SYS_ACCT		((const char *)"sys_acct")
    370 
    371 /*
    372  * Allows a process to perform system administration tasks such
    373  * as setting node and domain name and specifying nscd and coreadm
    374  * settings.
    375  */
    376 #define	PRIV_SYS_ADMIN		((const char *)"sys_admin")
    377 
    378 /*
    379  * Allows a process to start the (kernel) audit daemon.
    380  * Allows a process to view and set audit state (audit user ID,
    381  * audit terminal ID, audit sessions ID, audit pre-selection mask).
    382  * Allows a process to turn off and on auditing.
    383  * Allows a process to configure the audit parameters (cache and
    384  * queue sizes, event to class mappings, policy options).
    385  */
    386 #define	PRIV_SYS_AUDIT		((const char *)"sys_audit")
    387 
    388 /*
    389  * Allows a process to perform various system configuration tasks.
    390  * Allows a process to add and remove swap devices; when adding a swap
    391  * device, a process must also have sufficient privileges to read from
    392  * and write to the swap device.
    393  */
    394 #define	PRIV_SYS_CONFIG		((const char *)"sys_config")
    395 
    396 /*
    397  * Allows a process to successfully call a kernel module that
    398  * calls the kernel drv_priv(9F) function to check for allowed
    399  * access.
    400  * Allows a process to open the real console device directly.
    401  * Allows a process to open devices that have been exclusively opened.
    402  */
    403 #define	PRIV_SYS_DEVICES	((const char *)"sys_devices")
    404 
    405 /*
    406  * Allows a process to increase the size of a System V IPC Message
    407  * Queue buffer.
    408  */
    409 #define	PRIV_SYS_IPC_CONFIG	((const char *)"sys_ipc_config")
    410 
    411 /*
    412  * Allows a process to unlink and link directories.
    413  */
    414 #define	PRIV_SYS_LINKDIR	((const char *)"sys_linkdir")
    415 
    416 /*
    417  * Allows filesystem specific administrative procedures, such as
    418  * filesystem configuration ioctls, quota calls and creation/deletion
    419  * of snapshots.
    420  * Allows a process to mount and unmount filesystems which would
    421  * otherwise be restricted (i.e., most filesystems except
    422  * namefs).
    423  * A process performing a mount operation needs to have
    424  * appropriate access to the device being mounted (read-write for
    425  * "rw" mounts, read for "ro" mounts).
    426  * A process performing any of the aforementioned
    427  * filesystem operations needs to have read/write/owner
    428  * access to the mount point.
    429  * Only regular files and directories can serve as mount points
    430  * for processes which do not have all zone privileges asserted.
    431  * Unless a process has all zone privileges, the mount(2)
    432  * system call will force the "nosuid" and "restrict" options, the
    433  * latter only for autofs mountpoints.
    434  * Regardless of privileges, a process running in a non-global zone may
    435  * only control mounts performed from within said zone.
    436  * Outside the global zone, the "nodevices" option is always forced.
    437  */
    438 #define	PRIV_SYS_MOUNT		((const char *)"sys_mount")
    439 
    440 /*
    441  * Allows a process to configure a system's datalink interfaces.
    442  */
    443 #define	PRIV_SYS_DL_CONFIG	((const char *)"sys_dl_config")
    444 
    445 /*
    446  * Allows a process to configure a system's IP interfaces and routes.
    447  * Allows a process to configure network parameters using ndd.
    448  * Allows a process access to otherwise restricted information using ndd.
    449  * Allows a process to configure IPsec.
    450  * Allows a process to pop anchored STREAMs modules with matching zoneid.
    451  */
    452 #define	PRIV_SYS_IP_CONFIG	((const char *)"sys_ip_config")
    453 
    454 /*
    455  * Allows all that PRIV_SYS_IP_CONFIG and PRIV_SYS_DL_CONFIG allow.
    456  * Allows a process to push the rpcmod STREAMs module.
    457  * Allows a process to INSERT/REMOVE STREAMs modules on locations other
    458  * than the top of the module stack.
    459  */
    460 #define	PRIV_SYS_NET_CONFIG	((const char *)"sys_net_config")
    461 
    462 /*
    463  * Allows a process to perform Sun private NFS specific system calls.
    464  * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
    465  * and port 4045 (lockd).
    466  */
    467 #define	PRIV_SYS_NFS		((const char *)"sys_nfs")
    468 
    469 /*
    470  * Allows a process to create and delete processor sets, assign
    471  * CPUs to processor sets and override the PSET_NOESCAPE property.
    472  * Allows a process to change the operational status of CPUs in
    473  * the system using p_online(2).
    474  * Allows a process to configure resource pools and to bind
    475  * processes to pools
    476  */
    477 #define	PRIV_SYS_RES_CONFIG	((const char *)"sys_res_config")
    478 
    479 /*
    480  * Allows a process to modify the resource limits specified
    481  * by setrlimit(2) and setrctl(2) without restriction.
    482  * Allows a process to exceed the per-user maximum number of
    483  * processes.
    484  * Allows a process to extend or create files on a filesystem that
    485  * has less than minfree space in reserve.
    486  */
    487 #define	PRIV_SYS_RESOURCE	((const char *)"sys_resource")
    488 
    489 /*
    490  * Allows a process to access the Sun private SMB kernel module.
    491  * Allows a process to bind to ports reserved by NetBIOS and SMB:
    492  * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
    493  * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
    494  */
    495 #define	PRIV_SYS_SMB		((const char *)"sys_smb")
    496 
    497 /*
    498  * Allows a process to successfully call a third party loadable module
    499  * that calls the kernel suser() function to check for allowed access.
    500  * This privilege exists only for third party loadable module
    501  * compatibility and is not used by Solaris proper.
    502  */
    503 #define	PRIV_SYS_SUSER_COMPAT	((const char *)"sys_suser_compat")
    504 
    505 /*
    506  * Allows a process to manipulate system time using any of the
    507  * appropriate system calls: stime, adjtime, ntp_adjtime and
    508  * the IA specific RTC calls.
    509  */
    510 #define	PRIV_SYS_TIME		((const char *)"sys_time")
    511 
    512 /*
    513  * Allows a process to translate labels that are not dominated
    514  * by the process' sensitivity label to and from an external
    515  * string form.
    516  * This privilege is interpreted only if the system is configured
    517  * with Trusted Extensions.
    518  */
    519 #define	PRIV_SYS_TRANS_LABEL	((const char *)"sys_trans_label")
    520 
    521 /*
    522  * Allows a process to manage virtualized environments such as
    523  * xVM(5).
    524  */
    525 #define	PRIV_VIRT_MANAGE	((const char *)"virt_manage")
    526 
    527 /*
    528  * Allows a process to override colormap restrictions.
    529  * Allows a process to install or remove colormaps.
    530  * Allows a process to retrieve colormap cell entries allocated
    531  * by other processes.
    532  * This privilege is interpreted only if the system is configured
    533  * with Trusted Extensions.
    534  */
    535 #define	PRIV_WIN_COLORMAP	((const char *)"win_colormap")
    536 
    537 /*
    538  * Allows a process to configure or destroy resources that are
    539  * permanently retained by the X server.
    540  * Allows a process to use SetScreenSaver to set the screen
    541  * saver timeout value.
    542  * Allows a process to use ChangeHosts to modify the display
    543  * access control list.
    544  * Allows a process to use GrabServer.
    545  * Allows a process to use the SetCloseDownMode request which
    546  * may retain window, pixmap, colormap, property, cursor, font,
    547  * or graphic context resources.
    548  * This privilege is interpreted only if the system is configured
    549  * with Trusted Extensions.
    550  */
    551 #define	PRIV_WIN_CONFIG		((const char *)"win_config")
    552 
    553 /*
    554  * Allows a process to read from a window resource that it does
    555  * not own (has a different user ID).
    556  * This privilege is interpreted only if the system is configured
    557  * with Trusted Extensions.
    558  */
    559 #define	PRIV_WIN_DAC_READ	((const char *)"win_dac_read")
    560 
    561 /*
    562  * Allows a process to write to or create a window resource that
    563  * it does not own (has a different user ID). A newly created
    564  * window property is created with the window's user ID.
    565  * This privilege is interpreted only if the system is configured
    566  * with Trusted Extensions.
    567  */
    568 #define	PRIV_WIN_DAC_WRITE	((const char *)"win_dac_write")
    569 
    570 /*
    571  * Allows a process to perform operations on window input devices.
    572  * Allows a process to get and set keyboard and pointer controls.
    573  * Allows a process to modify pointer button and key mappings.
    574  * This privilege is interpreted only if the system is configured
    575  * with Trusted Extensions.
    576  */
    577 #define	PRIV_WIN_DEVICES	((const char *)"win_devices")
    578 
    579 /*
    580  * Allows a process to use the direct graphics access (DGA) X protocol
    581  * extensions. Direct process access to the frame buffer is still
    582  * required. Thus the process must have MAC and DAC privileges that
    583  * allow access to the frame buffer, or the frame buffer must be
    584  * allocated to the process.
    585  * This privilege is interpreted only if the system is configured
    586  * with Trusted Extensions.
    587  */
    588 #define	PRIV_WIN_DGA		((const char *)"win_dga")
    589 
    590 /*
    591  * Allows a process to set the sensitivity label of a window resource
    592  * to a sensitivity label that does not dominate the existing
    593  * sensitivity label.
    594  * This privilege is interpreted only if the system is configured
    595  * with Trusted Extensions.
    596  */
    597 #define	PRIV_WIN_DOWNGRADE_SL	((const char *)"win_downgrade_sl")
    598 
    599 /*
    600  * Allows a process to set a font path.
    601  * This privilege is interpreted only if the system is configured
    602  * with Trusted Extensions.
    603  */
    604 #define	PRIV_WIN_FONTPATH	((const char *)"win_fontpath")
    605 
    606 /*
    607  * Allows a process to read from a window resource whose sensitivity
    608  * label is not equal to the process sensitivity label.
    609  * This privilege is interpreted only if the system is configured
    610  * with Trusted Extensions.
    611  */
    612 #define	PRIV_WIN_MAC_READ	((const char *)"win_mac_read")
    613 
    614 /*
    615  * Allows a process to create a window resource whose sensitivity
    616  * label is not equal to the process sensitivity label.
    617  * A newly created window property is created with the window's
    618  * sensitivity label.
    619  * This privilege is interpreted only if the system is configured
    620  * with Trusted Extensions.
    621  */
    622 #define	PRIV_WIN_MAC_WRITE	((const char *)"win_mac_write")
    623 
    624 /*
    625  * Allows a process to request inter-window data moves without the
    626  * intervention of the selection confirmer.
    627  * This privilege is interpreted only if the system is configured
    628  * with Trusted Extensions.
    629  */
    630 #define	PRIV_WIN_SELECTION	((const char *)"win_selection")
    631 
    632 /*
    633  * Allows a process to set the sensitivity label of a window
    634  * resource to a sensitivity label that dominates the existing
    635  * sensitivity label.
    636  * This privilege is interpreted only if the system is configured
    637  * with Trusted Extensions.
    638  */
    639 #define	PRIV_WIN_UPGRADE_SL	((const char *)"win_upgrade_sl")
    640 
    641 /*
    642  * Allows a process access to the xVM(5) control devices for
    643  * managing guest domains and the hypervisor. This privilege is
    644  * used only if booted into xVM on x86 platforms.
    645  */
    646 #define	PRIV_XVM_CONTROL	((const char *)"xvm_control")
    647 
    648 
    649 /*
    650  * Privilege set names
    651  */
    652 /*
    653  * Set of privileges currently in effect.
    654  */
    655 #define	PRIV_EFFECTIVE		((const char *)"Effective")
    656 
    657 /*
    658  * Set of privileges that comes into effect on exec.
    659  */
    660 #define	PRIV_INHERITABLE	((const char *)"Inheritable")
    661 
    662 /*
    663  * Set of privileges that can be put into the effective set without
    664  * restriction.
    665  */
    666 #define	PRIV_PERMITTED		((const char *)"Permitted")
    667 
    668 /*
    669  * Set of privileges that determines the absolute upper bound of
    670  * privileges this process and its off-spring can obtain.
    671  */
    672 #define	PRIV_LIMIT		((const char *)"Limit")
    673 
    674 
    675 #endif /* __PRIV_CONST_IMPL */
    676 
    677 #ifdef __cplusplus
    678 }
    679 #endif
    680 
    681 #endif /* _SYS_PRIV_NAMES_H */
    682