tripathysagar/man_text huggingface dataset:
# pam_mail

## NAME



           pam_mail - Inform about available mail
    


## SYNOPSIS



    
           **pam_mail.so**[close] [debug] [dir=_maildir_] [empty] [hash=_count_]
                       [noenv] [nopen] [quiet] [standard]
    


## DESCRIPTION



           The pam_mail PAM module provides the "you have new mail" service
           to the user. It can be plugged into any application that has
           credential or session hooks. It gives a single message indicating
           the _newness_ of any mail it finds in the user's mail folder. This
           module also sets the PAM environment variable, **MAIL** , to the user's
           mail directory.
    
           If the mail spool file (be it /var/mail/$USER or a pathname given
           with the **dir=** parameter) is a directory then pam_mail assumes it
           is in the _Maildir_ format.
    


## OPTIONS



           **close**
               Indicate if the user has any mail also on logout.
    
           **debug**
               Print debug information.
    
           **dir=**_maildir_
               Look for the user's mail in an alternative location defined by
               maildir/<login>. The default location for mail is
               /var/mail/<login>. Note, if the supplied maildir is prefixed
               by a '~', the directory is interpreted as indicating a file in
               the user's home directory.
    
           **empty**
               Also print message if user has no mail.
    
           **hash=**_count_
               Mail directory hash depth. For example, a _hashcount_ of 2 would
               make the mail file be /var/spool/mail/u/s/user.
    
           **noenv**
               Do not set the **MAIL** environment variable.
    
           **nopen**
               Don't print any mail information on login. This flag is useful
               to get the **MAIL** environment variable set, but to not display
               any information about it.
    
           **quiet**
               Only report when there is new mail.
    
           **standard**
               Old style "You have..." format which doesn't show the mail
               spool being used. This also implies "empty".
    


## MODULE TYPES PROVIDED



           The **session** and **auth**(on establishment and deletion of
           credentials) module types are provided.
    


## RETURN VALUES



           PAM_BUF_ERR
               Memory buffer error.
    
           PAM_SERVICE_ERR
               Badly formed arguments.
    
           PAM_SUCCESS
               Success.
    
           PAM_USER_UNKNOWN
               User not known.
    


## EXAMPLES



           Add the following line to /etc/pam.d/login to indicate that the
           user has new mail when they login to the system.
    
               session  optional  pam_mail.so standard
    


* * *
# lpc

## NAME



           lpc - line printer control program (deprecated)
    


## SYNOPSIS



           **lpc**[ _command_ [ _parameter(s)_ ] ]
    


## DESCRIPTION



           **lpc** provides limited control over printer and class queues
           provided by CUPS. It can also be used to query the state of
           queues.
    
           If no command is specified on the command-line, **lpc** displays a
           prompt and accepts commands from the standard input.
    
       **COMMANDS**
           The **lpc** program accepts a subset of commands accepted by the
           Berkeley **lpc** program of the same name:
    
           **exit** Exits the command interpreter.
    
           **help**[_command_]
    
           **?**[_command_]
                Displays a short help message.
    
           **quit** Exits the command interpreter.
    
           **status**[_queue_]
                Displays the status of one or more printer or class queues.
    


## NOTES



           This program is deprecated and will be removed in a future feature
           release of CUPS.
    
           Since **lpc** is geared towards the Berkeley printing system, it is
           impossible to use **lpc** to configure printer or class queues
           provided by CUPS.  To configure printer or class queues you must
           use the lpadmin(8) command or another CUPS-compatible client with
           that functionality.
    


* * *
# mail.lmtp

## NAME



           **mail.lmtp** — deliver mail through LMTP
    


## SYNOPSIS



           **mail.lmtp**[**-d** _destination_] [**-f** _from_] [**-l** _lhlo_] _user ..._
    


## DESCRIPTION



           **mail.lmtp** reads the standard input up to an end-of-file and
           delivers it to an LMTP server for each _user_ 's address.  The _user_
           must be a valid user name or email address.
    
           The options are as follows:
    
           **-d** _destination_
                   Specify the destination LMTP address.
    
           **-f** _from_
                   Specify the sender's name or email address.
    
           **-l** _lhlo_
                   Specify the LHLO argument used in the LMTP session.  By
                   default, **mail.lmtp** will default to "localhost".
    


## EXIT STATUS



           The **mail.lmtp** utility exits 0 on success, and >0 if an error
           occurs.
    


* * *
# dcb-maxrate

## NAME



           dcb-maxrate - show / manipulate port maxrate settings of the DCB
           (Data Center Bridging) subsystem
    


## SYNOPSIS



           **dcb**[ _OPTIONS_ ] **maxrate**{ _COMMAND_ | _help_ }
    
           **dcb maxrate show dev** DEV [ **tc-maxrate**]
    
           **dcb maxrate set dev** DEV [ **tc-maxrate** _RATE-MAP_ ]
    
           _RATE-MAP_ := [ _RATE-MAP_ ] _RATE-MAPPING_
    
           _RATE-MAPPING_ := { _TC_ | **all**}**:**_RATE_
    
           _TC_ := { **0**.. **7**}
    
           _RATE_ := { _INTEGER_[**bit**] | _INTEGER_**Kbit** | _INTEGER_**Mib** | _..._ }
    


## DESCRIPTION



           **dcb maxrate** is used to configure and inspect maximum rate at which
           traffic is allowed to egress from a given traffic class.
    


## PARAMETERS



           The following describes only the write direction, i.e. as used
           with the **set** command. For the **show** command, the parameter name is
           to be used as a simple keyword without further arguments. This
           instructs the tool to show the value of a given parameter. When no
           parameters are given, the tool shows the complete maxrate
           configuration.
    
           **tc-maxrate** _RATE-MAP_
                  _RATE-MAP_ uses the array parameter syntax, see dcb(8) for
                  details. Keys are TC indices, values are traffic rates in
                  bits per second.  The rates can use the notation documented
                  in section PARAMETERS at tc(8).  Note that under that
                  notation, "bit" stands for bits per second whereas "b"
                  stands for bytes per second. When showing, the command line
                  option **-i** toggles between using decadic and ISO/IEC
                  prefixes.
    


## EXAMPLE & USAGE



           Set rates of all traffic classes to 25Gbps, except for TC 6, which
           will have the rate of 100Gbps:
    
           # dcb maxrate set dev eth0 tc-maxrate all:25Gbit 6:100Gbit
    
           Show what was set:
    
           # dcb maxrate show dev eth0
           tc-maxrate 0:25Gbit 1:25Gbit 2:25Gbit 3:25Gbit 4:25Gbit 5:25Gbit
           6:100Gbit 7:25Gbit
    


## EXIT STATUS



           Exit status is 0 if command was successful or a positive integer
           upon failure.
    


* * *
# rpmlua

## NAME



           rpmlua - RPM Lua interpreter
    


## SYNOPSIS



           **rpmlua**[{**-e|--execute**} “**STATEMENT** ”] [{**-i|--interactive**}]
           [_SCRIPT_FILE_] [arg1 ...]
    


## DESCRIPTION



           Run RPM internal Lua interpreter.
    
           Note: indexes start at 1 in Lua, so the program name is at arg[1]
           instead of the more customary index zero.
    
           **-i|--interactive**
                  Run an interactive session after executing optional script
                  or statement.
    
           **–opts=OPTSTRING**
                  Perform getopt(3) option processing on the passed arguments
                  according to OPTSTRING.
    
           **-e|--execute**
                  Execute a Lua statement before executing optional script.
    


## EXAMPLES



           Execute test.lua script file:
    
                  rpmlua test.lua
    
           Execute args.lua script file with option processing:
    
                  rpmlua –opts=ab:c args.lua – 1 2 3 -c -b5
    
           Execute single statement to compare rpm versions:
    
                  rpmlua -e “print(rpm.ver(`1.0') < rpm.ver(`2.0'))”
    
           Run an interactive session:
    
                  rpmlua -i
    


* * *
# rpm-plugin-audit

## NAME



           rpm-plugin-audit - Audit plugin for the RPM Package Manager
    


## Description



           The plugin writes basic information about rpm transactions to the
           audit log - like packages installed or removed.  The entries can
           be viewed with
    
           **ausearch -m SOFTWARE_UPDATE**
    
       **Data fields**
           The entries in the audit log have the following fields:
    
           **Field  Possible values Description**
    
           **op** install/update/remove package operation
    
           **sw** name-version-release.arch of the package
    
           **key_enforce**
                  0/1 are signatures being enforced
    
           **gpg_res**
                  0/1 result of signature check (0 == fail / 1 == success)
    
           **root_dir**
                  Root directory of the operation, normally "/"
    
           **sw_type**
                  "rpm" package format
    


## Configuration



           There are currently no options for this plugin in particular.  See
           rpm-plugins(8) on how to control plugins in general.
    


* * *
# tipc-media

## NAME



           tipc-media - list or modify media properties
    


## SYNOPSIS



           **tipc media set**{ **priority** _PRIORITY_ | **tolerance** _TOLERANCE_ | **window**
                   _WINDOW_ } **media** _MEDIA_
    
           **tipc media get**{ **priority** | **tolerance** | **window**} **media** _MEDIA_
    
           **tipc media list**
    


## OPTIONS



           Options (flags) that can be passed anywhere in the command chain.
    
           **-h** , **--help**
                  Show help about last valid command. For example **tipc media**
                  **--help** will show media help and **tipc --help** will show
                  general help. The position of the option in the string is
                  irrelevant.
    


## DESCRIPTION



       **Media properties**
           **priority**
                  Default link priority inherited by all bearers subsequently
                  enabled on a media. For more info about link priority see
                  tipc-link(8)
    
           **tolerance**
                  Default link tolerance inherited by all bearers
                  subsequently enabled on a media. For more info about link
                  tolerance see tipc-link(8)
    
           **window**
                  Default link window inherited by all bearers subsequently
                  enabled on a media. For more info about link window see
                  tipc-link(8)
    


## EXIT STATUS



           Exit status is 0 if command was successful or a positive integer
           upon failure.
    


* * *
# ovn-debug

## NAME



           ovn-debug - Open Virtual Network debug tool
    


## SYNOPSIS



           **ovn-debug** _COMMAND [ARG...]_
    


## DESCRIPTION



           **ovn-debug** , OVN debug tool, is a tool to help with debugging of OVN
           setup.
    


## COMMANDS



           **lflow-stage-to-ltable** _STAGE_NAME_
                  Convert the logical flow stage name e.g. **ls_in_lb** into the
                  logical flow table number e.g. **13**.
    
           **lflow-stage-to-oftable** _STAGE_NAME_
                  Convert the logical flow stage name e.g. **ls_in_lb** into the
                  OpenFlow table number e.g. **21**.
    


* * *
# routel

## NAME



           routel - list routes with pretty output format
    


## SYNOPSIS



           **routel**[ _OPTIONS_ ] [ _tablenr_ [ _ip route options..._ ] ]
    
            _OPTIONS_ := { **-h** | **--help** | [{**-f** | **--family**} {**inet** | **inet6**} | **-4**
           | **-6**}
    


## DESCRIPTION



           The routel script will list routes in a format that some might
           consider easier to interpret then the **ip** route list equivalent.
    


* * *
# nscd

## NAME



           nscd - name service cache daemon
    


## DESCRIPTION



           **nscd** is a daemon that provides a cache for the most common name
           service requests.  The default configuration file, _/etc/nscd.conf_ ,
           determines the behavior of the cache daemon.  See nscd.conf(5).
    
           **nscd** provides caching for accesses of the passwd(5), group(5),
           hosts(5) services(5) and _netgroup_ databases through standard libc
           interfaces, such as getpwnam(3), getpwuid(3), getgrnam(3),
           getgrgid(3), gethostbyname(3), and others.
    
           There are two caches for each database: a positive one for items
           found, and a negative one for items not found.  Each cache has a
           separate TTL (time-to-live) period for its data.  Note that the
           shadow file is specifically not cached.  getspnam(3) calls remain
           uncached as a result.
    


## OPTIONS



           **--help** will give you a list with all options and what they do.
    


## NOTES



           The daemon will try to watch for changes in configuration files
           appropriate for each database (e.g., _/etc/passwd_ for the _passwd_
           database or _/etc/hosts_ and _/etc/resolv.conf_ for the _hosts_
           database), and flush the cache when these are changed.  However,
           this will happen only after a short delay (unless the inotify(7)
           mechanism is available and glibc 2.9 or later is available), and
           this auto-detection does not cover configuration files required by
           nonstandard NSS modules, if any are specified in
           _/etc/nsswitch.conf_.  In that case, you need to run the following
           command after changing the configuration file of the database so
           that **nscd** invalidates its cache:
    
               $ **nscd -i** _< database>_
    


* * *
# pread

## NAME



           pread, pwrite - read from or write to a file descriptor at a given
           offset
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <unistd.h>**
    
           **ssize_t pread(** size_t count;
                         **int** _fd_**, void** _buf_**[**_count_**], size_t** _count_**,**
                         **off_t** _offset_**);**
           **ssize_t pwrite(** size_t count;
                         **int** _fd_**, const void** _buf_**[**_count_**], size_t** _count_**,**
                         **off_t** _offset_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **pread**(), **pwrite**():
               _XOPEN_SOURCE >= 500
                   || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
    


## DESCRIPTION



           **pread**() reads up to _count_ bytes from file descriptor _fd_ at offset
           _offset_ (from the start of the file) into the buffer starting at
           _buf_.  The file offset is not changed.
    
           **pwrite**() writes up to _count_ bytes from the buffer starting at _buf_
           to the file descriptor _fd_ at offset _offset_.  The file offset is
           not changed.
    
           The file referenced by _fd_ must be capable of seeking.
    


## RETURN VALUE



           On success, **pread**() returns the number of bytes read (a return of
           zero indicates end of file) and **pwrite**() returns the number of
           bytes written.
    
           Note that it is not an error for a successful call to transfer
           fewer bytes than requested (see read(2) and write(2)).
    
           On error, -1 is returned and _errno_ is set to indicate the error.
    


## ERRORS



           **pread**() can fail and set _errno_ to any error specified for read(2)
           or lseek(2).  **pwrite**() can fail and set _errno_ to any error
           specified for write(2) or lseek(2).
    


## STANDARDS



           POSIX.1-2008.
    


## NOTES



           The **pread**() and **pwrite**() system calls are especially useful in
           multithreaded applications.  They allow multiple threads to
           perform I/O on the same file descriptor without being affected by
           changes to the file offset by other threads.
    


## BUGS



           POSIX requires that opening a file with the **O_APPEND** flag should
           have no effect on the location at which **pwrite**() writes data.
           However, on Linux, if a file is opened with **O_APPEND** , **pwrite**()
           appends data to the end of the file, regardless of the value of
           _offset_.
    


* * *
# KEYCTL_READ

## NAME



           KEYCTL_READ - read a key
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/keyctl.h>  **/* Definition of **KEY*** constants */
           **#include <sys/syscall.h>   **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **long syscall(** size_t size;
                        **SYS_keyctl, KEYCTL_READ, key_serial_t** _key_**,**
                        **char** _buf_**[_Nullable** _size_**], size_t** _size_**);**
    


## DESCRIPTION



           Read the payload data of a key.
    
           The ID of the key whose payload is to be read is specified in _key_.
           This can be the ID of an existing key, or any of the special key
           IDs listed for KEYCTL_GET_KEYRING_ID(2const).
    
           The payload is placed in the buffer pointed by _buf_ ; the size of
           that buffer must be specified in _size_.
    
           The returned data will be processed for presentation according to
           the key type.  For example, a keyring will return an array of
           _key_serial_t_ entries representing the IDs of all the keys that are
           linked to it.  The _user_ key type will return its data as is.
    
           If _buf_ is not NULL, as much of the payload data as will fit is
           copied into the buffer.  On a successful return, the return value
           is always the total size of the payload data.  To determine
           whether the buffer was of sufficient size, check to see that the
           return value is less than or equal to the value supplied in _size_.
    
           The key must either grant the caller _read_ permission, or grant the
           caller _search_ permission when searched for from the process
           keyrings (i.e., the key is possessed).
    


## RETURN VALUE



           On success, the amount of data that is available in the key,
           irrespective of the provided buffer size.
    
           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## ERRORS



           **EOPNOTSUPP**
                  The key type does not support reading (e.g., the type is
                  _"login"_).
    


## VERSIONS



           A wrapper is provided in the _libkeyutils_ library: keyctl_read(3).
    


## STANDARDS



           Linux.
    


* * *
# PR_GET_NO_NEW_PRIVS

## NAME



           PR_GET_NO_NEW_PRIVS - get the calling thread's no_new_privs
           attribute
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_GET_NO_NEW_PRIVS, 0L, 0L, 0L, 0L);**
    


## DESCRIPTION



           Return the value of the _no_new_privs_ attribute for the calling
           thread.  A value of 0 indicates the regular execve(2) behavior.  A
           value of 1 indicates execve(2) will operate in the privilege-
           restricting mode described in PR_SET_NO_NEW_PRIVS(2const).
    


## RETURN VALUE



           On success, **PR_GET_NO_NEW_PRIVS** returns the boolean value
           described above.  On error, -1 is returned, and _errno_ is set to
           indicate the error.
    


## FILES



           _/proc/_ pid _/status_
                  Since Linux 4.10, the value of a thread's _no_new_privs_
                  attribute can be viewed via the _NoNewPrivs_ field in this
                  file.
    


## STANDARDS



           Linux.
    


* * *
# ioctl_xfs_goingdown

## NAME



           ioctl_xfs_goingdown - shut down an XFS filesystem
    


## SYNOPSIS



           **#include <xfs/xfs_fs.h>**
    
           **int ioctl(int** _fd_**, XFS_IOC_GOINGDOWN, uint32_t** _flags_**);**
    


## DESCRIPTION



           Shuts down a live XFS filesystem.  This is a software initiated
           hard shutdown and should be avoided whenever possible.  After this
           call completes, the filesystem ill be totally unusable until the
           filesystem has been unmounted and remounted.
    
           _flags_ can be one of the following:
    
               **XFS_FSOP_GOING_FLAGS_DEFAULT**
                      Flush all dirty data and metadata to disk, flush
                      pending transactions to the log, and shut down.
    
               **XFS_FSOP_GOING_FLAGS_LOGFLUSH**
                      Flush all pending metadata transactions to the log and
                      shut down, leaving all dirty data unwritten.
    
               **XFS_FSOP_GOING_FLAGS_NOLOGFLUSH**
                      Shut down immediately, without writing pending
                      transactions or dirty data to disk.
    


## RETURN VALUE



           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## ERRORS



           Error codes can be one of, but are not limited to, the following:
    
           **EFSBADCRC**
                  Metadata checksum validation failed while performing the
                  query.
    
           **EFSCORRUPTED**
                  Metadata corruption was encountered while performing the
                  query.
    
           **EIO** An I/O error was encountered while performing the query.
    
           **EPERM** Caller did not have permission to shut down the filesystem.
    


## CONFORMING TO



           This API is specific to XFS filesystem on the Linux kernel.
    


* * *
# FUTEX_TRYLOCK_PI

## NAME



           FUTEX_TRYLOCK_PI - try to lock a priority-inheritance futex
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/futex.h>  **/* Definition of **FUTEX_*** constants */
           **#include <sys/syscall.h>  **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **long syscall(SYS_futex, uint32_t ***_uaddr_**, FUTEX_TRYLOCK_PI);**
    


## DESCRIPTION



           This operation tries to acquire the lock at _uaddr_.  It is invoked
           when a user-space atomic acquire did not succeed because the futex
           word was not 0.
    
           Because the kernel has access to more state information than user
           space, acquisition of the lock might succeed if performed by the
           kernel in cases where the futex word (i.e., the state information
           accessible to use-space) contains stale state (**FUTEX_WAITERS**
           and/or **FUTEX_OWNER_DIED**).  This can happen when the owner of the
           futex died.  User space cannot handle this condition in a race-
           free manner, but the kernel can fix this up and acquire the futex.
    


## RETURN VALUE



           On error, -1 is returned, and _errno_ is set to indicate the error.
    
           On success, **FUTEX_TRYLOCK_PI** Returns 0 if the futex was
           successfully locked.
    


## ERRORS



           See futex(2).
    
           **EAGAIN** The futex owner thread ID of _uaddr_ is about to exit, but
                  has not yet handled the internal state cleanup.  Try again.
    
           **EDEADLK**
                  The futex word at _uaddr_ is already locked by the caller.
    
           **EINVAL** The kernel detected an inconsistency between the user-space
                  state at _uaddr_ and the kernel state.  This indicates either
                  state corruption or that the kernel found a waiter on _uaddr_
                  which is waiting via FUTEX_WAIT(2const) or
                  FUTEX_WAIT_BITSET(2const).
    
           **ENOMEM** The kernel could not allocate memory to hold state
                  information.
    
           **ENOSYS** A run-time check determined that the operation is not
                  available.  The PI-futex operations are not implemented on
                  all architectures and are not supported on some CPU
                  variants.
    
           **EPERM** The caller is not allowed to attach itself to the futex at
                  _uaddr_.  (This may be caused by a state corruption in user
                  space.)
    
           **ESRCH** The thread ID in the futex word at _uaddr_ does not exist.
    


## STANDARDS



           Linux.
    


* * *
# s390_pci_mmio_write

## NAME



           s390_pci_mmio_write, s390_pci_mmio_read - transfer data to/from
           PCI MMIO memory page
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <sys/syscall.h>      **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **int syscall(** size_t length;
                       **SYS_s390_pci_mmio_write, unsigned long** _mmio_addr_**,**
                       **const void** _user_buffer_**[**_length_**], size_t** _length_**);**
           **int syscall(** size_t length;
                       **SYS_s390_pci_mmio_read, unsigned long** _mmio_addr_**,**
                       **void** _user_buffer_**[**_length_**], size_t** _length_**);**
    
           _Note_ : glibc provides no wrappers for these system calls,
           necessitating the use of syscall(2).
    


## DESCRIPTION



           The **s390_pci_mmio_write**() system call writes _length_ bytes of data
           from the user-space buffer _user_buffer_ to the PCI MMIO memory
           location specified by _mmio_addr_.  The **s390_pci_mmio_read**() system
           call reads _length_ bytes of data from the PCI MMIO memory location
           specified by _mmio_addr_ to the user-space buffer _user_buffer_.
    
           These system calls must be used instead of the simple assignment
           or data-transfer operations that are used to access the PCI MMIO
           memory areas mapped to user space on the Linux System z platform.
           The address specified by _mmio_addr_ must belong to a PCI MMIO
           memory page mapping in the caller's address space, and the data
           being written or read must not cross a page boundary.  The _length_
           value cannot be greater than the system page size.
    


## RETURN VALUE



           On success, **s390_pci_mmio_write**() and **s390_pci_mmio_read**() return
           0.  On failure, -1 is returned and _errno_ is set to indicate the
           error.
    


## ERRORS



           **EFAULT** The address in _mmio_addr_ is invalid.
    
           **EFAULT** _user_buffer_ does not point to a valid location in the
                  caller's address space.
    
           **EINVAL** Invalid _length_ argument.
    
           **ENODEV** PCI support is not enabled.
    
           **ENOMEM** Insufficient memory.
    


## STANDARDS



           Linux on s390.
    


* * *
# inotify_rm_watch

## NAME



           inotify_rm_watch - remove an existing watch from an inotify
           instance
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <sys/inotify.h>**
    
           **int inotify_rm_watch(int** _fd_**, int** _wd_**);**
    


## DESCRIPTION



           **inotify_rm_watch**() removes the watch associated with the watch
           descriptor _wd_ from the inotify instance associated with the file
           descriptor _fd_.
    
           Removing a watch causes an **IN_IGNORED** event to be generated for
           this watch descriptor.  (See inotify(7).)
    


## RETURN VALUE



           On success, **inotify_rm_watch**() returns zero.  On error, -1 is
           returned and _errno_ is set to indicate the error.
    


## ERRORS



           **EBADF** _fd_ is not a valid file descriptor.
    
           **EINVAL** The watch descriptor _wd_ is not valid; or _fd_ is not an
                  inotify file descriptor.
    


## STANDARDS



           Linux.
    


* * *
# vhangup

## NAME



           vhangup - virtually hangup the current terminal
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <unistd.h>**
    
           **int vhangup(void);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **vhangup**():
               Since glibc 2.21:
                   _DEFAULT_SOURCE
               In glibc 2.19 and 2.20:
                   _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
               Up to and including glibc 2.19:
                   _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
    


## DESCRIPTION



           **vhangup**() simulates a hangup on the current terminal.  This call
           arranges for other users to have a “clean” terminal at login time.
    


## RETURN VALUE



           On success, zero is returned.  On error, -1 is returned, and _errno_
           is set to indicate the error.
    


## ERRORS



           **EPERM** The calling process has insufficient privilege to call
                  **vhangup**(); the **CAP_SYS_TTY_CONFIG** capability is required.
    


## STANDARDS



           Linux.
    


* * *
# unimplemented

## NAME



           afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg,
           gtty, isastream, lock, madvise1, mpx, prof, profil, putmsg,
           putpmsg, security, stty, tuxcall, ulimit, vserver - unimplemented
           system calls
    


## SYNOPSIS



           Unimplemented system calls.
    


## DESCRIPTION



           These system calls are not implemented in the Linux kernel.
    


## RETURN VALUE



           These system calls always return -1 and set _errno_ to **ENOSYS**.
    


## NOTES



           Note that ftime(3), profil(3), and ulimit(3) are implemented as
           library functions.
    
           Some system calls, like alloc_hugepages(2), free_hugepages(2),
           ioperm(2), iopl(2), and vm86(2) exist only on certain
           architectures.
    
           Some system calls, like ipc(2), create_module(2), init_module(2),
           and delete_module(2) exist only when the Linux kernel was built
           with support for them.
    


* * *
# PR_GET_FP_MODE

## NAME



           PR_GET_FP_MODE - get the floating point mode of the calling
           process
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_GET_FP_MODE);**
    


## DESCRIPTION



           Return a bit mask which represents the current floating-point mode
           (see PR_SET_FP_MODE(2const) for details).
    


## RETURN VALUE



           On success, this call returns the nonnegative value described
           above.  On error, -1 is returned, and _errno_ is set to indicate the
           error.
    


## STANDARDS



           Linux.  MIPS only.
    


* * *
# KEYCTL_REVOKE

## NAME



           KEYCTL_REVOKE - revoke a key
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/keyctl.h>  **/* Definition of **KEY*** constants */
           **#include <sys/syscall.h>   **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **long syscall(SYS_keyctl, KEYCTL_REVOKE, key_serial_t** _key_**);**
    


## DESCRIPTION



           Revoke the key with the ID provided in _key_.  The key is scheduled
           for garbage collection; it will no longer be findable, and will be
           unavailable for further operations.  Further attempts to use the
           key will fail with the error **EKEYREVOKED**.
    
           The caller must have _write_ or _setattr_ permission on the key.
    


## RETURN VALUE



           On success, 0 is returned.
    
           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## VERSIONS



           A wrapper is provided in the _libkeyutils_ library:
           keyctl_revoke(3).
    


## STANDARDS



           Linux.
    


* * *
# PR_GET_CHILD_SUBREAPER

## NAME



           PR_GET_CHILD_SUBREAPER - get the "child subreaper" attribute of
           the calling process
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_GET_CHILD_SUBREAPER, int ***_isset_**);**
    


## DESCRIPTION



           Return the "child subreaper" setting of the caller, in the
           location pointed to by _isset_.
    


## RETURN VALUE



           On success, 0 is returned.  On error, -1 is returned, and _errno_ is
           set to indicate the error.
    


## ERRORS



           **EFAULT** _isset_ is an invalid address.
    


## STANDARDS



           Linux.
    


* * *
# sync

## NAME



           sync, syncfs - commit filesystem caches to disk
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <unistd.h>**
    
           **void sync(void);**
    
           **int syncfs(int** _fd_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **sync**():
               _XOPEN_SOURCE >= 500
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE
    
           **syncfs**():
               _GNU_SOURCE
    


## DESCRIPTION



           **sync**() causes all pending modifications to filesystem metadata and
           cached file data to be written to the underlying filesystems.
    
           **syncfs**() is like **sync**(), but synchronizes just the filesystem
           containing file referred to by the open file descriptor _fd_.
    


## RETURN VALUE



           **syncfs**() returns 0 on success; on error, it returns -1 and sets
           _errno_ to indicate the error.
    


## ERRORS



           **sync**() is always successful.
    
           **syncfs**() can fail for at least the following reasons:
    
           **EBADF** _fd_ is not a valid file descriptor.
    
           **EIO** An error occurred during synchronization.  This error may
                  relate to data written to any file on the filesystem, or on
                  metadata related to the filesystem itself.
    
           **ENOSPC** Disk space was exhausted while synchronizing.
    
           **ENOSPC**
           **EDQUOT** Data was written to a file on NFS or another filesystem
                  which does not allocate space at the time of a write(2)
                  system call, and some previous write failed due to
                  insufficient storage space.
    


## VERSIONS



           According to the standard specification (e.g., POSIX.1-2001),
           **sync**() schedules the writes, but may return before the actual
           writing is done.  However Linux waits for I/O completions, and
           thus **sync**() or **syncfs**() provide the same guarantees as **fsync**()
           called on every file in the system or filesystem respectively.
    


## STANDARDS



           **sync**() POSIX.1-2008.
    
           **syncfs**()
                  Linux.
    


## BUGS



           Before Linux 1.3.20, Linux did not wait for I/O to complete before
           returning.
    


* * *
# PR_SET_VMA

## NAME



           PR_SET_VMA - set an attribute for virtual memory areas
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_SET_VMA, long** _attr_**, unsigned long** _addr_**, unsigned long** _size_**,**
                     **const char *_Nullable** _val_**);**
    


## DESCRIPTION



           Sets an attribute specified in _attr_ for virtual memory areas
           starting from the address specified in _addr_ and spanning the size
           specified in _size_.  _val_ specifies the value of the attribute to be
           set.
    
           Note that assigning an attribute to a virtual memory area might
           prevent it from being merged with adjacent virtual memory areas
           due to the difference in that attribute's value.
    
           Currently, _attr_ must be one of:
    
           **PR_SET_VMA_ANON_NAME**
                  Set a name for anonymous virtual memory areas.  _val_ should
                  be a pointer to a null-terminated string containing the
                  name.  The name length including null byte cannot exceed 80
                  bytes.  If _val_ is NULL, the name of the appropriate
                  anonymous virtual memory areas will be reset.  The name can
                  contain only printable ascii characters (isprint(3)),
                  except **'['** , **']'** , **'\'** , **'$'** , and **'`'**.
    


## RETURN VALUE



           On success, 0 is returned.  On error, -1 is returned, and _errno_ is
           set to indicate the error.
    


## ERRORS



           **EINVAL** _attr_ is not a valid attribute.
    
           **EINVAL** _addr_ is an invalid address.
    


## STANDARDS



           Linux.
    


* * *
# PR_GET_IO_FLUSHER

## NAME



           PR_GET_IO_FLUSHER - get the IO_FLUSHER state
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_GET_IO_FLUSHER, 0L, 0L, 0L, 0L);**
    


## DESCRIPTION



           Return the IO_FLUSHER state of the caller.  A value of 1 indicates
           that the caller is in the IO_FLUSHER state; 0 indicates that the
           caller is not in the IO_FLUSHER state.
    
           The calling process must have the **CAP_SYS_RESOURCE** capability.
    


## RETURN VALUE



           On success, this call returns the boolean value described above.
           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## STANDARDS



           Linux.
    


* * *
# PR_MCE_KILL_CLEAR

## NAME



           PR_MCE_KILL_CLEAR - clear the machine check memory corruption kill
           policy
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_MCE_KILL, PR_MCE_KILL_CLEAR, 0L, 0L, 0L);**
    


## DESCRIPTION



           Clear the thread memory corruption kill policy and use the system-
           wide default.
    


## RETURN VALUE



           On success, 0 is returned.  On error, -1 is returned, and _errno_ is
           set to indicate the error.
    


## FILES



           _/proc/sys/vm/memory_failure_early_kill_
                  This file defines the system-wide default.
    


## STANDARDS



           Linux.
    


* * *
# PR_SET_NAME

## NAME



           PR_SET_NAME, PR_GET_NAME - operations on a process or thread
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/prctl.h>  **/* Definition of **PR_*** constants */
           **#include <sys/prctl.h>**
    
           **int prctl(PR_SET_NAME, char** _name_**[16]);**
           **int prctl(PR_GET_NAME, const char** _name_**[16]);**
    


## DESCRIPTION



           **PR_SET_NAME**
                  Set the name of the calling thread, using the value in the
                  location pointed to by _name_.
    
                  The name can be up to 16 bytes long, including the
                  terminating null byte.  If the length of the string,
                  including the terminating null byte, exceeds 16 bytes, the
                  string is silently truncated.
    
           **PR_GET_NAME**(since Linux 2.6.11)
                  Return the name of the calling thread, in the buffer
                  pointed to by _name_.  The returned string will be null-
                  terminated.
    
           This is the same attribute that can be set via
           pthread_setname_np(3) and retrieved using pthread_getname_np(3).
    


## RETURN VALUE



           On success, 0 is returned.  On error, -1 is returned, and _errno_ is
           set to indicate the error.
    


## ERRORS



           **EFAULT** _name_ is an invalid address.
    


## FILES



           _/proc/self/task/_ tid _/comm_
                  The attribute is likewise accessible via this file (see
                  proc_pid_comm(5)), where _tid_ is the thread ID of the
                  calling thread, as returned by gettid(2).
    


## STANDARDS



           Linux.
    


* * *
# KEYCTL_CHOWN

## NAME



           KEYCTL_CHOWN - change the ownership of a key
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <linux/keyctl.h>  **/* Definition of **KEY*** constants */
           **#include <sys/syscall.h>   **/* Definition of **SYS_*** constants */
           **#include <unistd.h>**
    
           **long syscall(SYS_keyctl, KEYCTL_CHOWN, key_serial_t** _key_**,**
                        **uid_t** _uid_**, gid_t** _gid_**);**
    


## DESCRIPTION



           Change the ownership (user and group ID) of a key.
    
           _key_ contains the key ID.  _uid_ contains the new user ID (or -1 in
           case the user ID shouldn't be changed).  _gid_ contains the new
           group ID (or -1 in case the group ID shouldn't be changed).
    
           The key must grant the caller _setattr_ permission.
    
           For the UID to be changed, or for the GID to be changed to a group
           the caller is not a member of, the caller must have the
           **CAP_SYS_ADMIN** capability (see capabilities(7)).
    
           If the UID is to be changed, the new user must have sufficient
           quota to accept the key.  The quota deduction will be removed from
           the old user to the new user should the UID be changed.
    


## RETURN VALUE



           On success, 0 is returned.
    
           On error, -1 is returned, and _errno_ is set to indicate the error.
    


## VERSIONS



           A wrapper is provided in the _libkeyutils_ library: keyctl_chown(3).
    


## STANDARDS



           Linux.
    


* * *
# setgid

## NAME



           setgid - set group identity
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <unistd.h>**
    
           **int setgid(gid_t** _gid_**);**
    


## DESCRIPTION



           **setgid**() sets the effective group ID of the calling process.  If
           the calling process is privileged (more precisely: has the
           **CAP_SETGID** capability in its user namespace), the real GID and
           saved set-group-ID are also set.
    
           Under Linux, **setgid**() is implemented like the POSIX version with
           the **_POSIX_SAVED_IDS** feature.  This allows a set-group-ID program
           that is not set-user-ID-root to drop all of its group privileges,
           do some un-privileged work, and then reengage the original
           effective group ID in a secure manner.
    


## RETURN VALUE



           On success, zero is returned.  On error, -1 is returned, and _errno_
           is set to indicate the error.
    


## ERRORS



           **EINVAL** The group ID specified in _gid_ is not valid in this user
                  namespace.
    
           **EPERM** The calling process is not privileged (does not have the
                  **CAP_SETGID** capability in its user namespace), and _gid_ does
                  not match the real group ID or saved set-group-ID of the
                  calling process.
    


## VERSIONS



       **C library/kernel differences**
           At the kernel level, user IDs and group IDs are a per-thread
           attribute.  However, POSIX requires that all threads in a process
           share the same credentials.  The NPTL threading implementation
           handles the POSIX requirements by providing wrapper functions for
           the various system calls that change process UIDs and GIDs.  These
           wrapper functions (including the one for **setgid**()) employ a
           signal-based technique to ensure that when one thread changes
           credentials, all of the other threads in the process also change
           their credentials.  For details, see nptl(7).
    


## STANDARDS



           POSIX.1-2008.
    


* * *
# TIOCSETD

## NAME



           TIOCGETD, TIOCSETD - get or set the line discipline of the
           terminal
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <asm/termbits.h>  **/* Definition of **TIOC*ETD** constants */
           **#include <sys/ioctl.h>**
    
           **int ioctl(int** _fd_**, TIOCGETD, int ***_argp_**);**
           **int ioctl(int** _fd_**, TIOCSETD, const int ***_argp_**);**
    


## DESCRIPTION



           **TIOCGETD**
                  Get the line discipline of the terminal.
    
           **TIOCSETD**
                  Set the line discipline of the terminal.
    


## RETURN VALUE



           On success, 0 is returned.  On error, -1 is returned, and _errno_ is
           set to indicate the error.
    


* * *
# ioctl_fat

## NAME



           ioctl_fat - manipulating the FAT filesystem
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <sys/ioctl.h>**
    
           **int ioctl(int** _fd_**, unsigned long** _op_**, ...);**
    


## DESCRIPTION



           The ioctl(2) system call can be used to read and write metadata of
           FAT filesystems that are not accessible using other system calls.
           The following _op_ values are available.
    
       **Reading and setting file attributes**
           FAT_IOCTL_GET_ATTRIBUTES(2const)
           FAT_IOCTL_SET_ATTRIBUTES(2const)
    
       **Reading the volume ID**
           FAT_IOCTL_GET_VOLUME_ID(2const)
    
       **Reading short filenames of a directory**
           VFAT_IOCTL_READDIR_BOTH(2const)
           VFAT_IOCTL_READDIR_SHORT(2const)
    


## RETURN VALUE



           On success, a nonnegative value is returned.  On error, -1 is
           returned, and _errno_ is set to indicate the error.
    


## ERRORS



           **ENOTTY** The file descriptor _fd_ does not refer to an object in a FAT
                  filesystem.
    


## STANDARDS



           Linux.
    


* * *