Index: Doc/lib/libos.tex =================================================================== --- Doc/lib/libos.tex (revision 53064) +++ Doc/lib/libos.tex (working copy) @@ -117,6 +117,88 @@ \end{datadesc} +\begin{classdesc}{CapabilityState}{} +CapabilityState instances are opaque types created and manipulated by the +capability functions. The following functions are also available as +CapabilityState methods: \function{cap_clear}, \function{cap_copy_ext}, +\function{cap_dup}, \function{cap_get_flag}, \function{cap_set_flag}, +\function{cap_set_proc}, \function{cap_size} and \function{cap_to_text}. +\end{classdesc} + +\begin{funcdescni}{cap_clear}{state} +Clears a capability state in working storage. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_copy_ext}{state} +Translates a capability state in working storage into an external +respresentation. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_copy_int}{ext} +Translates an external representation of a capability state into a +capability state in working storage. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_dup}{state} +Duplicate a capability state in working storage. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_from_text}{text} +Translates an textual representation of a capability state into a +capability state in working storage +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_get_flag}{state, cap, flag} +Get a flag value of a capability state in working storage. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_get_proc}{} +Return the capability state of the calling process in working storage. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_init}{} +Create a capability state in working storage. The initial value of all flags +are cleared. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_set_flag}{state, cap, flag, value} +Set a flag value of a capability state in working storage. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_set_proc}{state} +Sets the capability state of the calling process. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_size}{state} +Returns the size of the translation of a capability state in working storage +into an external respresentation. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + +\begin{funcdescni}{cap_to_text}{state} +Translates a capability state in working storage into a textual +respresentation. +This function is also available as a \class{CapabilityState} method. +Availability: \UNIX. +\end{funcdescni} + \begin{funcdescni}{chdir}{path} \funclineni{fchdir}{fd} \funclineni{getcwd}{} @@ -327,6 +409,61 @@ actually preferable to delete items of \code{os.environ}. \end{funcdesc} +The following data items are available for use in capability functions and +\class{CapabilityState} methods. For descriptions of their availability and +use, consult your POSIX.1e documentation. + +\begin{datadesc}{CAP_EFFECTIVE} +\dataline{CAP_PERMITTED} +\dataline{CAP_INHERITABLE} +Defines the capability flag to be set, cleared or queried. +\end{datadesc} + +\begin{datadesc}{CAP_CLEAR} +\dataline{CAP_SET} +Possible capability flag values. +\end{datadesc} + +\begin{datadesc}{CAP_CHOWN} +\dataline{CAP_DAC_EXECUTE} +\dataline{CAP_DAC_WRITE} +\dataline{CAP_DAC_OVERRIDE} +\dataline{CAP_DAC_READ_SEARCH} +\dataline{CAP_FOWNER} +\dataline{CAP_FSETID} +\dataline{CAP_FS_MASK} +\dataline{CAP_KILL} +\dataline{CAP_LINK_DIR} +\dataline{CAP_SETFCAP} +\dataline{CAP_SETGID} +\dataline{CAP_SETUID} +\dataline{CAP_AUDIT_CONTROL} +\dataline{CAP_AUDIT_WRITE} +\dataline{CAP_SETPCAP} +\dataline{CAP_LINUX_IMMUTABLE} +\dataline{CAP_NET_BIND_SERVICE} +\dataline{CAP_NET_BROADCAST} +\dataline{CAP_NET_ADMIN} +\dataline{CAP_NET_RAW} +\dataline{CAP_IPC_LOCK} +\dataline{CAP_IPC_OWNER} +\dataline{CAP_SYS_MODULE} +\dataline{CAP_SYS_RAWIO} +\dataline{CAP_SYS_CHROOT} +\dataline{CAP_SYS_PTRACE} +\dataline{CAP_SYS_PACCT} +\dataline{CAP_SYS_ADMIN} +\dataline{CAP_SYS_BOOT} +\dataline{CAP_SYS_NICE} +\dataline{CAP_SYS_RESOURCE} +\dataline{CAP_SYS_TIME} +\dataline{CAP_SYS_TTY_CONFIG} +\dataline{CAP_MKNOD} +\dataline{CAP_LEASE} +Capabilities. Some capabilities will not be available on all +platforms. +\end{datadesc} + \subsection{File Object Creation \label{os-newstreams}} These functions create new file objects.