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 (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
23  * Copyright 2015, Joyent, Inc. All rights reserved.
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 set immutable, nounlink or appendonly
144  * file attributes.
145  */
146 #define	PRIV_FILE_FLAG_SET	((const char *)"file_flag_set")
147 
148 /*
149  * Allows a process to create hardlinks to files owned by a uid
150  * different from the process' effective uid.
151  */
152 #define	PRIV_FILE_LINK_ANY	((const char *)"file_link_any")
153 
154 /*
155  * Allows a process which is not the owner of a file or directory
156  * to perform the following operations that are normally permitted
157  * only for the file owner: modify that file's access and
158  * modification times; remove or rename a file or directory whose
159  * parent directory has the ``save text image after execution''
160  * (sticky) bit set; mount a ``namefs'' upon a file; modify
161  * permission bits or ACL except for the set-uid and set-gid
162  * bits.
163  */
164 #define	PRIV_FILE_OWNER		((const char *)"file_owner")
165 
166 /*
167  * Allows a process to read objects in the filesystem.
168  */
169 #define	PRIV_FILE_READ		((const char *)"file_read")
170 
171 /*
172  * Allows a process to change the ownership of a file or write to
173  * a file without the set-user-ID and set-group-ID bits being
174  * cleared.
175  * Allows a process to set the set-group-ID bit on a file or
176  * directory whose group is not the process' effective group or
177  * one of the process' supplemental groups.
178  * Allows a process to set the set-user-ID bit on a file with
179  * different ownership in the presence of PRIV_FILE_OWNER.
180  * Additional restrictions apply when creating or modifying a
181  * set-uid 0 file.
182  */
183 #define	PRIV_FILE_SETID		((const char *)"file_setid")
184 
185 /*
186  * Allows a process to set the sensitivity label of a file or
187  * directory to a sensitivity label that dominates the existing
188  * sensitivity label.
189  * This privilege is interpreted only if the system is configured
190  * with Trusted Extensions.
191  */
192 #define	PRIV_FILE_UPGRADE_SL	((const char *)"file_upgrade_sl")
193 
194 /*
195  * Allows a process to modify objects in the filesystem.
196  */
197 #define	PRIV_FILE_WRITE		((const char *)"file_write")
198 
199 /*
200  * Allows a process to make privileged ioctls to graphics devices.
201  * Typically only xserver process needs to have this privilege.
202  * A process with this privilege is also allowed to perform
203  * privileged graphics device mappings.
204  */
205 #define	PRIV_GRAPHICS_ACCESS	((const char *)"graphics_access")
206 
207 /*
208  * Allows a process to perform privileged mappings through a
209  * graphics device.
210  */
211 #define	PRIV_GRAPHICS_MAP	((const char *)"graphics_map")
212 
213 /*
214  * Allows a process to read a System V IPC
215  * Message Queue, Semaphore Set, or Shared Memory Segment whose
216  * permission bits do not allow the process read permission.
217  * Allows a process to read remote shared memory whose
218  * permission bits do not allow the process read permission.
219  */
220 #define	PRIV_IPC_DAC_READ	((const char *)"ipc_dac_read")
221 
222 /*
223  * Allows a process to write a System V IPC
224  * Message Queue, Semaphore Set, or Shared Memory Segment whose
225  * permission bits do not allow the process write permission.
226  * Allows a process to read remote shared memory whose
227  * permission bits do not allow the process write permission.
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_DAC_WRITE	((const char *)"ipc_dac_write")
232 
233 /*
234  * Allows a process which is not the owner of a System
235  * V IPC Message Queue, Semaphore Set, or Shared Memory Segment to
236  * remove, change ownership of, or change permission bits of the
237  * Message Queue, Semaphore Set, or Shared Memory Segment.
238  * Additional restrictions apply if the owner of the object has uid 0
239  * and the effective uid of the current process is not 0.
240  */
241 #define	PRIV_IPC_OWNER		((const char *)"ipc_owner")
242 
243 /*
244  * Allows a process to open a TCP, UDP, SDP or SCTP network endpoint.
245  */
246 #define	PRIV_NET_ACCESS		((const char *)"net_access")
247 
248 /*
249  * Allow a process to bind to a port that is configured as a
250  * multi-level port(MLP) for the process's zone. This privilege
251  * applies to both shared address and zone-specific address MLPs.
252  * See tnzonecfg(4) from the Trusted Extensions manual pages for
253  * information on configuring MLP ports.
254  * This privilege is interpreted only if the system is configured
255  * with Trusted Extensions.
256  */
257 #define	PRIV_NET_BINDMLP	((const char *)"net_bindmlp")
258 
259 /*
260  * Allows a process to send and receive ICMP packets.
261  */
262 #define	PRIV_NET_ICMPACCESS	((const char *)"net_icmpaccess")
263 
264 /*
265  * Allows a process to set NET_MAC_AWARE process flag by using
266  * setpflags(2). This privilege also allows a process to set
267  * SO_MAC_EXEMPT socket option by using setsockopt(3SOCKET).
268  * The NET_MAC_AWARE process flag and the SO_MAC_EXEMPT socket
269  * option both allow a local process to communicate with an
270  * unlabeled peer if the local process' label dominates the
271  * peer's default label, or if the local process runs in the
272  * global zone.
273  * This privilege is interpreted only if the system is configured
274  * with Trusted Extensions.
275  */
276 #define	PRIV_NET_MAC_AWARE	((const char *)"net_mac_aware")
277 
278 /*
279  * Allows a process to set SO_MAC_IMPLICIT option by using
280  * setsockopt(3SOCKET).  This allows a privileged process to
281  * transmit implicitly-labeled packets to a peer.
282  * This privilege is interpreted only if the system is configured
283  * with Trusted Extensions.
284  */
285 #define	PRIV_NET_MAC_IMPLICIT	((const char *)"net_mac_implicit")
286 
287 /*
288  * Allows a process to access /dev/lo0 and the devices in /dev/ipnet/
289  * while not requiring them to need PRIV_NET_RAWACCESS.
290  */
291 #define	PRIV_NET_OBSERVABILITY	((const char *)"net_observability")
292 
293 /*
294  * Allows a process to bind to a privileged port
295  * number. The privilege port numbers are 1-1023 (the traditional
296  * UNIX privileged ports) as well as those ports marked as
297  * "udp/tcp_extra_priv_ports" with the exception of the ports
298  * reserved for use by NFS.
299  */
300 #define	PRIV_NET_PRIVADDR	((const char *)"net_privaddr")
301 
302 /*
303  * Allows a process to have direct access to the network layer.
304  */
305 #define	PRIV_NET_RAWACCESS	((const char *)"net_rawaccess")
306 
307 /*
308  * Allows a process to generate audit records.
309  * Allows a process to get its own audit pre-selection information.
310  */
311 #define	PRIV_PROC_AUDIT		((const char *)"proc_audit")
312 
313 /*
314  * Allows a process to change its root directory.
315  */
316 #define	PRIV_PROC_CHROOT	((const char *)"proc_chroot")
317 
318 /*
319  * Allows a process to use high resolution timers.
320  */
321 #define	PRIV_PROC_CLOCK_HIGHRES	((const char *)"proc_clock_highres")
322 
323 /*
324  * Allows a process to call execve().
325  */
326 #define	PRIV_PROC_EXEC		((const char *)"proc_exec")
327 
328 /*
329  * Allows a process to call fork1()/forkall()/vfork()
330  */
331 #define	PRIV_PROC_FORK		((const char *)"proc_fork")
332 
333 /*
334  * Allows a process to examine the status of processes other
335  * than those it can send signals to.  Processes which cannot
336  * be examined cannot be seen in /proc and appear not to exist.
337  */
338 #define	PRIV_PROC_INFO		((const char *)"proc_info")
339 
340 /*
341  * Allows a process to lock pages in physical memory.
342  */
343 #define	PRIV_PROC_LOCK_MEMORY	((const char *)"proc_lock_memory")
344 
345 /*
346  * Allows a process to access physical memory information.
347  */
348 #define	PRIV_PROC_MEMINFO	((const char *)"proc_meminfo")
349 
350 /*
351  * Allows a process to send signals to other processes, inspect
352  * and modify process state to other processes regardless of
353  * ownership.  When modifying another process, additional
354  * restrictions apply:  the effective privilege set of the
355  * attaching process must be a superset of the target process'
356  * effective, permitted and inheritable sets; the limit set must
357  * be a superset of the target's limit set; if the target process
358  * has any uid set to 0 all privilege must be asserted unless the
359  * effective uid is 0.
360  * Allows a process to bind arbitrary processes to CPUs.
361  */
362 #define	PRIV_PROC_OWNER		((const char *)"proc_owner")
363 
364 /*
365  * Allows a process to elevate its priority above its current level.
366  */
367 #define	PRIV_PROC_PRIOUP	((const char *)"proc_prioup")
368 
369 /*
370  * Allows all that PRIV_PROC_PRIOUP allows.
371  * Allows a process to change its scheduling class to any scheduling class,
372  * including the RT class.
373  */
374 #define	PRIV_PROC_PRIOCNTL	((const char *)"proc_priocntl")
375 
376 /*
377  * Allows a process to send signals or trace processes outside its
378  * session.
379  */
380 #define	PRIV_PROC_SESSION	((const char *)"proc_session")
381 
382 /*
383  * Allows a process to set its uids at will.
384  * Assuming uid 0 requires all privileges to be asserted.
385  */
386 #define	PRIV_PROC_SETID		((const char *)"proc_setid")
387 
388 /*
389  * Allows a process to assign a new task ID to the calling process.
390  */
391 #define	PRIV_PROC_TASKID	((const char *)"proc_taskid")
392 
393 /*
394  * Allows a process to trace or send signals to processes in
395  * other zones.
396  */
397 #define	PRIV_PROC_ZONE		((const char *)"proc_zone")
398 
399 /*
400  * Allows a process to enable and disable and manage accounting through
401  * acct(2), getacct(2), putacct(2) and wracct(2).
402  */
403 #define	PRIV_SYS_ACCT		((const char *)"sys_acct")
404 
405 /*
406  * Allows a process to perform system administration tasks such
407  * as setting node and domain name and specifying nscd and coreadm
408  * settings.
409  */
410 #define	PRIV_SYS_ADMIN		((const char *)"sys_admin")
411 
412 /*
413  * Allows a process to start the (kernel) audit daemon.
414  * Allows a process to view and set audit state (audit user ID,
415  * audit terminal ID, audit sessions ID, audit pre-selection mask).
416  * Allows a process to turn off and on auditing.
417  * Allows a process to configure the audit parameters (cache and
418  * queue sizes, event to class mappings, policy options).
419  */
420 #define	PRIV_SYS_AUDIT		((const char *)"sys_audit")
421 
422 /*
423  * Allows a process to perform various system configuration tasks.
424  * Allows a process to add and remove swap devices; when adding a swap
425  * device, a process must also have sufficient privileges to read from
426  * and write to the swap device.
427  */
428 #define	PRIV_SYS_CONFIG		((const char *)"sys_config")
429 
430 /*
431  * Allows a process to successfully call a kernel module that
432  * calls the kernel drv_priv(9F) function to check for allowed
433  * access.
434  * Allows a process to open the real console device directly.
435  * Allows a process to open devices that have been exclusively opened.
436  */
437 #define	PRIV_SYS_DEVICES	((const char *)"sys_devices")
438 
439 /*
440  * Allows a process to increase the size of a System V IPC Message
441  * Queue buffer.
442  */
443 #define	PRIV_SYS_IPC_CONFIG	((const char *)"sys_ipc_config")
444 
445 /*
446  * Allows a process to unlink and link directories.
447  */
448 #define	PRIV_SYS_LINKDIR	((const char *)"sys_linkdir")
449 
450 /*
451  * Allows filesystem specific administrative procedures, such as
452  * filesystem configuration ioctls, quota calls and creation/deletion
453  * of snapshots.
454  * Allows a process to mount and unmount filesystems which would
455  * otherwise be restricted (i.e., most filesystems except
456  * namefs).
457  * A process performing a mount operation needs to have
458  * appropriate access to the device being mounted (read-write for
459  * "rw" mounts, read for "ro" mounts).
460  * A process performing any of the aforementioned
461  * filesystem operations needs to have read/write/owner
462  * access to the mount point.
463  * Only regular files and directories can serve as mount points
464  * for processes which do not have all zone privileges asserted.
465  * Unless a process has all zone privileges, the mount(2)
466  * system call will force the "nosuid" and "restrict" options, the
467  * latter only for autofs mountpoints.
468  * Regardless of privileges, a process running in a non-global zone may
469  * only control mounts performed from within said zone.
470  * Outside the global zone, the "nodevices" option is always forced.
471  */
472 #define	PRIV_SYS_MOUNT		((const char *)"sys_mount")
473 
474 /*
475  * Allows a process to configure IP tunnel links.
476  */
477 #define	PRIV_SYS_IPTUN_CONFIG	((const char *)"sys_iptun_config")
478 
479 /*
480  * Allows a process to configure all classes of datalinks, including
481  * configuration allowed by PRIV_SYS_IPTUN_CONFIG.
482  */
483 #define	PRIV_SYS_DL_CONFIG	((const char *)"sys_dl_config")
484 
485 /*
486  * Allows a process to configure a system's IP interfaces and routes.
487  * Allows a process to configure network parameters using ndd.
488  * Allows a process access to otherwise restricted information using ndd.
489  * Allows a process to configure IPsec.
490  * Allows a process to pop anchored STREAMs modules with matching zoneid.
491  */
492 #define	PRIV_SYS_IP_CONFIG	((const char *)"sys_ip_config")
493 
494 /*
495  * Allows all that PRIV_SYS_IP_CONFIG, PRIV_SYS_DL_CONFIG, and
496  * PRIV_SYS_PPP_CONFIG allow.
497  * Allows a process to push the rpcmod STREAMs module.
498  * Allows a process to INSERT/REMOVE STREAMs modules on locations other
499  * than the top of the module stack.
500  */
501 #define	PRIV_SYS_NET_CONFIG	((const char *)"sys_net_config")
502 
503 /*
504  * Allows a process to perform Sun private NFS specific system calls.
505  * Allows a process to bind to ports reserved by NFS: ports 2049 (nfs)
506  * and port 4045 (lockd).
507  */
508 #define	PRIV_SYS_NFS		((const char *)"sys_nfs")
509 
510 /*
511  * Allows a process to create and destroy PPP (sppp) interfaces.
512  * Allows a process to configure PPP tunnels (sppptun).
513  */
514 #define	PRIV_SYS_PPP_CONFIG	((const char *)"sys_ppp_config")
515 
516 /*
517  * Allows a process to bind processes to processor sets.
518  */
519 #define	PRIV_SYS_RES_BIND	((const char *)"sys_res_bind")
520 
521 /*
522  * Allows all that PRIV_SYS_RES_BIND allows.
523  * Allows a process to create and delete processor sets, assign
524  * CPUs to processor sets and override the PSET_NOESCAPE property.
525  * Allows a process to change the operational status of CPUs in
526  * the system using p_online(2).
527  * Allows a process to configure resource pools and to bind
528  * processes to pools
529  */
530 #define	PRIV_SYS_RES_CONFIG	((const char *)"sys_res_config")
531 
532 /*
533  * Allows a process to modify the resource limits specified
534  * by setrlimit(2) and setrctl(2) without restriction.
535  * Allows a process to exceed the per-user maximum number of
536  * processes.
537  * Allows a process to extend or create files on a filesystem that
538  * has less than minfree space in reserve.
539  */
540 #define	PRIV_SYS_RESOURCE	((const char *)"sys_resource")
541 
542 /*
543  * Allows a process to access the Sun private SMB kernel module.
544  * Allows a process to bind to ports reserved by NetBIOS and SMB:
545  * ports 137 (NBNS), 138 (NetBIOS Datagram Service), 139 (NetBIOS
546  * Session Service and SMB-over-NBT) and 445 (SMB-over-TCP).
547  */
548 #define	PRIV_SYS_SMB		((const char *)"sys_smb")
549 
550 /*
551  * Allows a process to successfully call a third party loadable module
552  * that calls the kernel suser() function to check for allowed access.
553  * This privilege exists only for third party loadable module
554  * compatibility and is not used by Solaris proper.
555  */
556 #define	PRIV_SYS_SUSER_COMPAT	((const char *)"sys_suser_compat")
557 
558 /*
559  * Allows a process to manipulate system time using any of the
560  * appropriate system calls: stime, adjtime, ntp_adjtime and
561  * the IA specific RTC calls.
562  */
563 #define	PRIV_SYS_TIME		((const char *)"sys_time")
564 
565 /*
566  * Allows a process to translate labels that are not dominated
567  * by the process' sensitivity label to and from an external
568  * string form.
569  * This privilege is interpreted only if the system is configured
570  * with Trusted Extensions.
571  */
572 #define	PRIV_SYS_TRANS_LABEL	((const char *)"sys_trans_label")
573 
574 /*
575  * Allows a process to manage virtualized environments such as
576  * xVM(5).
577  */
578 #define	PRIV_VIRT_MANAGE	((const char *)"virt_manage")
579 
580 /*
581  * Allows a process to override colormap restrictions.
582  * Allows a process to install or remove colormaps.
583  * Allows a process to retrieve colormap cell entries allocated
584  * by other processes.
585  * This privilege is interpreted only if the system is configured
586  * with Trusted Extensions.
587  */
588 #define	PRIV_WIN_COLORMAP	((const char *)"win_colormap")
589 
590 /*
591  * Allows a process to configure or destroy resources that are
592  * permanently retained by the X server.
593  * Allows a process to use SetScreenSaver to set the screen
594  * saver timeout value.
595  * Allows a process to use ChangeHosts to modify the display
596  * access control list.
597  * Allows a process to use GrabServer.
598  * Allows a process to use the SetCloseDownMode request which
599  * may retain window, pixmap, colormap, property, cursor, font,
600  * or graphic context resources.
601  * This privilege is interpreted only if the system is configured
602  * with Trusted Extensions.
603  */
604 #define	PRIV_WIN_CONFIG		((const char *)"win_config")
605 
606 /*
607  * Allows a process to read from a window resource that it does
608  * not own (has a different user ID).
609  * This privilege is interpreted only if the system is configured
610  * with Trusted Extensions.
611  */
612 #define	PRIV_WIN_DAC_READ	((const char *)"win_dac_read")
613 
614 /*
615  * Allows a process to write to or create a window resource that
616  * it does not own (has a different user ID). A newly created
617  * window property is created with the window's user ID.
618  * This privilege is interpreted only if the system is configured
619  * with Trusted Extensions.
620  */
621 #define	PRIV_WIN_DAC_WRITE	((const char *)"win_dac_write")
622 
623 /*
624  * Allows a process to perform operations on window input devices.
625  * Allows a process to get and set keyboard and pointer controls.
626  * Allows a process to modify pointer button and key mappings.
627  * This privilege is interpreted only if the system is configured
628  * with Trusted Extensions.
629  */
630 #define	PRIV_WIN_DEVICES	((const char *)"win_devices")
631 
632 /*
633  * Allows a process to use the direct graphics access (DGA) X protocol
634  * extensions. Direct process access to the frame buffer is still
635  * required. Thus the process must have MAC and DAC privileges that
636  * allow access to the frame buffer, or the frame buffer must be
637  * allocated to the process.
638  * This privilege is interpreted only if the system is configured
639  * with Trusted Extensions.
640  */
641 #define	PRIV_WIN_DGA		((const char *)"win_dga")
642 
643 /*
644  * Allows a process to set the sensitivity label of a window resource
645  * to a sensitivity label that does not dominate the existing
646  * sensitivity label.
647  * This privilege is interpreted only if the system is configured
648  * with Trusted Extensions.
649  */
650 #define	PRIV_WIN_DOWNGRADE_SL	((const char *)"win_downgrade_sl")
651 
652 /*
653  * Allows a process to set a font path.
654  * This privilege is interpreted only if the system is configured
655  * with Trusted Extensions.
656  */
657 #define	PRIV_WIN_FONTPATH	((const char *)"win_fontpath")
658 
659 /*
660  * Allows a process to read from a window resource whose sensitivity
661  * label is not equal to the process sensitivity label.
662  * This privilege is interpreted only if the system is configured
663  * with Trusted Extensions.
664  */
665 #define	PRIV_WIN_MAC_READ	((const char *)"win_mac_read")
666 
667 /*
668  * Allows a process to create a window resource whose sensitivity
669  * label is not equal to the process sensitivity label.
670  * A newly created window property is created with the window's
671  * sensitivity label.
672  * This privilege is interpreted only if the system is configured
673  * with Trusted Extensions.
674  */
675 #define	PRIV_WIN_MAC_WRITE	((const char *)"win_mac_write")
676 
677 /*
678  * Allows a process to request inter-window data moves without the
679  * intervention of the selection confirmer.
680  * This privilege is interpreted only if the system is configured
681  * with Trusted Extensions.
682  */
683 #define	PRIV_WIN_SELECTION	((const char *)"win_selection")
684 
685 /*
686  * Allows a process to set the sensitivity label of a window
687  * resource to a sensitivity label that dominates the existing
688  * sensitivity label.
689  * This privilege is interpreted only if the system is configured
690  * with Trusted Extensions.
691  */
692 #define	PRIV_WIN_UPGRADE_SL	((const char *)"win_upgrade_sl")
693 
694 /*
695  * Allows a process access to the xVM(5) control devices for
696  * managing guest domains and the hypervisor. This privilege is
697  * used only if booted into xVM on x86 platforms.
698  */
699 #define	PRIV_XVM_CONTROL	((const char *)"xvm_control")
700 
701 
702 /*
703  * Privilege set names
704  */
705 /*
706  * Set of privileges currently in effect.
707  */
708 #define	PRIV_EFFECTIVE		((const char *)"Effective")
709 
710 /*
711  * Set of privileges that comes into effect on exec.
712  */
713 #define	PRIV_INHERITABLE	((const char *)"Inheritable")
714 
715 /*
716  * Set of privileges that can be put into the effective set without
717  * restriction.
718  */
719 #define	PRIV_PERMITTED		((const char *)"Permitted")
720 
721 /*
722  * Set of privileges that determines the absolute upper bound of
723  * privileges this process and its off-spring can obtain.
724  */
725 #define	PRIV_LIMIT		((const char *)"Limit")
726 
727 
728 #endif /* __PRIV_CONST_IMPL */
729 
730 #ifdef __cplusplus
731 }
732 #endif
733 
734 #endif /* _SYS_PRIV_NAMES_H */
735