tripathysagar/man_text huggingface dataset:
# pthread_cleanup_push_defer_np

## NAME



           pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np -
           push and pop thread cancelation clean-up handlers while saving
           cancelability type
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <pthread.h>**
    
           **void pthread_cleanup_push_defer_np(typeof(void (void *)) ***_routine_**,**
                                              **void ***_arg_**);**
           **void pthread_cleanup_pop_restore_np(int** _execute_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **pthread_cleanup_push_defer_np**(), **pthread_cleanup_pop_defer_np**():
               _GNU_SOURCE
    


## DESCRIPTION



           These functions are the same as pthread_cleanup_push(3) and
           pthread_cleanup_pop(3), except for the differences noted on this
           page.
    
           Like pthread_cleanup_push(3), **pthread_cleanup_push_defer_np**()
           pushes _routine_ onto the thread's stack of cancelation clean-up
           handlers.  In addition, it also saves the thread's current
           cancelability type, and sets the cancelability type to "deferred"
           (see pthread_setcanceltype(3)); this ensures that cancelation
           clean-up will occur even if the thread's cancelability type was
           "asynchronous" before the call.
    
           Like pthread_cleanup_pop(3), **pthread_cleanup_pop_restore_np**() pops
           the top-most clean-up handler from the thread's stack of
           cancelation clean-up handlers.  In addition, it restores the
           thread's cancelability type to its value at the time of the
           matching **pthread_cleanup_push_defer_np**().
    
           The caller must ensure that calls to these functions are paired
           within the same function, and at the same lexical nesting level.
           Other restrictions apply, as described in pthread_cleanup_push(3).
    
           This sequence of calls:
    
               pthread_cleanup_push_defer_np(routine, arg);
               pthread_cleanup_pop_restore_np(execute);
    
           is equivalent to (but shorter and more efficient than):
    
               int oldtype;
    
               pthread_cleanup_push(routine, arg);
               pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
               ...
               pthread_setcanceltype(oldtype, NULL);
               pthread_cleanup_pop(execute);
    


## STANDARDS



           GNU; hence the suffix "_np" (nonportable) in the names.
    


* * *
# acl_copy_entry

## NAME



           **acl_copy_entry** — copy an ACL entry
    


## LIBRARY



           Linux Access Control Lists library (libacl, -lacl).
    


## SYNOPSIS



           <_sys/types.h_ > <_sys/acl.h_ > _int_ **acl_copy_entry**(_acl_entry_t dest_d_ ,
           _acl_entry_t src_d_)
    


## DESCRIPTION



           The **acl_copy_entry**() function copies the contents of the ACL entry
           indicated by the _src_d_ descriptor to the existing ACL entry
           indicated by the _dest_d_ descriptor. The _src_d_ and _dest_d_
           descriptors may refer to entries in different ACLs.
    


## RETURN VALUE



           The **acl_copy_entry**() function returns the value 0 if successful;
           otherwise the value -1 is returned and the global variable _errno_
           is set to indicate the error.
    


## ERRORS



           If any of the following conditions occur, the **acl_copy_entry**()
           function returns **-1** and sets _errno_ to the corresponding value:
    
           [EINVAL]           The argument _src_d_ or _dest_d_ is not a valid
                              descriptor for an ACL entry.
    
                              The arguments _src_d_ and _dest_d_ reference the
                              same ACL entry.
    


## STANDARDS



           IEEE Std 1003.1e draft 17 (“POSIX.1e”, abandoned)
    


* * *
# probe::socket.aio_read.return

## NAME



           probe::socket.aio_read.return - Conclusion of message received via
           **sock_aio_read**
    


## SYNOPSIS



           socket.aio_read.return
    


## VALUES



           _flags_
               Socket flags value
    
           _state_
               Socket state value
    
           _type_
               Socket type value
    
           _protocol_
               Protocol value
    
           _size_
               Size of message received (in bytes) or error code if success =
               0
    
           _name_
               Name of this probe
    
           _success_
               Was receive successful? (1 = yes, 0 = no)
    
           _family_
               Protocol family value
    


## CONTEXT



           The message receiver.
    


## DESCRIPTION



           Fires at the conclusion of receiving a message on a socket via the
           **sock_aio_read** function
    


* * *
# function::fullpath_struct_path

## NAME



           function::fullpath_struct_path - get the full path
    


## SYNOPSIS



               fullpath_struct_path:string(path:long)
    


## ARGUMENTS



           _path_
               Pointer to “struct path”.
    


## DESCRIPTION



           Returns the full dirent name (full path to the root), like the
           kernel d_path function.
    


* * *
# function::string_to_fp

## NAME



           function::string_to_fp - Convert the given string into floating
           point
    


## SYNOPSIS



               string_to_fp:long(input:string)
    


## ARGUMENTS



           _input_
               the string representation of a decimal number
    


## DESCRIPTION



           Given the string representation of a decimal number, convert it to
           a floating point which is stored in 64 bit long.
    


* * *
# curs_beep

## NAME



           **beep** , **flash** - **curses** bell and screen flash routines
    


## SYNOPSIS



           **#include <curses.h>**
    
           **int beep(void);**
           **int flash(void);**
    


## DESCRIPTION



           The **beep** and **flash** routines are used to alert the terminal user.
           The routine **beep** sounds an audible alarm on the terminal, if
           possible; otherwise it flashes the screen (visible bell).  The
           routine **flash** flashes the screen, and if that is not possible,
           sounds the alert.  If neither alert is possible, nothing happens.
           Nearly all terminals have an audible alert (bell or beep), but
           only some can flash the screen.
    


## RETURN VALUE



           These routines return **OK** if they succeed in beeping or flashing,
           **ERR** otherwise.
    


## EXTENSIONS



           SVr4's beep and flash routines always returned **OK** , so it was not
           possible to tell when the beep or flash failed.
    


## PORTABILITY



           These functions are described in the XSI Curses standard, Issue 4.
           Like SVr4, it specifies that they always return **OK**.
    


* * *
# pam_sm_open_session

## NAME



           pam_sm_open_session - PAM service function to start session
           management
    


## SYNOPSIS



           **#include <security/pam_modules.h>**
    
           **int pam_sm_open_session(pam_handle_t ***_pamh_**, int** _flags_**, int** _argc_**,**
                                   **const char ****_argv_**);**
    


## DESCRIPTION



           The **pam_sm_open_session** function is the service module's
           implementation of the pam_open_session(3) interface.
    
           This function is called to commence a session. The only valid
           value for _flags_ is zero or:
    
           PAM_SILENT
               Do not emit any messages.
    


## RETURN VALUES



           PAM_SESSION_ERR
               Cannot make/remove an entry for the specified session.
    
           PAM_SUCCESS
               The session was successfully started.
    


* * *
# gnutls_srp_server_get_username

## NAME



           gnutls_srp_server_get_username - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **const char * gnutls_srp_server_get_username(gnutls_session_t**
           _session_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a gnutls session
    


## DESCRIPTION



           This function will return the username of the peer.  This should
           only be called in case of SRP authentication and in case of a
           server.  Returns NULL in case of an error.
    


## RETURNS



           SRP username of the peer, or NULL in case of error.
    


* * *
# probe::stap.cache_clean

## NAME



           probe::stap.cache_clean - Removing file from stap cache
    


## SYNOPSIS



           stap.cache_clean
    


## VALUES



           _path_
               the path to the .ko/.c file being removed
    


## DESCRIPTION



           Fires just before the call to unlink the module/source file.
    


* * *
# sem_post

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           sem_post — unlock a semaphore
    


## SYNOPSIS



           #include <semaphore.h>
    
           int sem_post(sem_t *_sem_);
    


## DESCRIPTION



           The _sem_post_() function shall unlock the semaphore referenced by
           _sem_ by performing a semaphore unlock operation on that semaphore.
    
           If the semaphore value resulting from this operation is positive,
           then no threads were blocked waiting for the semaphore to become
           unlocked; the semaphore value is simply incremented.
    
           If the value of the semaphore resulting from this operation is
           zero, then one of the threads blocked waiting for the semaphore
           shall be allowed to return successfully from its call to
           _sem_wait_().  If the Process Scheduling option is supported, the
           thread to be unblocked shall be chosen in a manner appropriate to
           the scheduling policies and parameters in effect for the blocked
           threads. In the case of the schedulers SCHED_FIFO and SCHED_RR,
           the highest priority waiting thread shall be unblocked, and if
           there is more than one highest priority thread blocked waiting for
           the semaphore, then the highest priority thread that has been
           waiting the longest shall be unblocked. If the Process Scheduling
           option is not defined, the choice of a thread to unblock is
           unspecified.
    
           If the Process Sporadic Server option is supported, and the
           scheduling policy is SCHED_SPORADIC, the semantics are as per
           SCHED_FIFO above.
    
           The _sem_post_() function shall be async-signal-safe and may be
           invoked from a signal-catching function.
    


## RETURN VALUE



           If successful, the _sem_post_() function shall return zero;
           otherwise, the function shall return -1 and set _errno_ to indicate
           the error.
    


## ERRORS



           The _sem_post_() function may fail if:
    
           **EINVAL** The _sem_ argument does not refer to a valid semaphore.
    
           _The following sections are informative._
    


## EXAMPLES



           See sem_timedwait(3p).
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# seccomp_api_get

## NAME



           seccomp_api_get, seccomp_api_set - Manage the libseccomp API level
    


## SYNOPSIS



           **#include <seccomp.h>**
    
           **const unsigned int seccomp_api_get(**_void_**);**
           **int seccomp_api_set(unsigned int** _level_**);**
    
           Link with _-lseccomp_.
    


## DESCRIPTION



           The **seccomp_api_get**() function returns an integer representing the
           functionality ("API level") provided by the current running
           kernel.  It is important to note that while **seccomp_api_get**() can
           be called multiple times, the kernel is only probed the first time
           to see what functionality is supported, all following calls to
           **seccomp_api_get**() return a cached value.
    
           The **seccomp_api_set**() function allows callers to force the API
           level to the provided value; however, this is almost always a bad
           idea and use of this function is strongly discouraged.
    
           The different API level values are described below:
    
           **0** Reserved value, not currently used.
    
           **1** Base level support.
    
           **2** The SCMP_FLTATR_CTL_TSYNC filter attribute is supported and
                  libseccomp uses the seccomp(2) syscall to load the seccomp
                  filter into the kernel.
    
           **3** The SCMP_FLTATR_CTL_LOG filter attribute and the
                  SCMP_ACT_LOG action are supported.
    
           **4** The SCMP_FLTATR_CTL_SSB filter attribute is supported.
    
           **5** The SCMP_ACT_NOTIFY action and the notify APIs are
                  supported.
    
           **6** The simultaneous use of SCMP_FLTATR_CTL_TSYNC and the
                  notify APIs are supported.
    
           **7** The SCMP_FLTATR_CTL_WAITKILL filter attribute is supported.
    


## RETURN VALUE



           The **seccomp_api_get**() function returns an integer representing the
           supported API level.  The **seccomp_api_set**() function returns zero
           on success, negative values on failure.
    


## EXAMPLES



           #include <seccomp.h>
    
           int main(int argc, char *argv[])
           {
                unsigned int api;
    
                api = seccomp_api_get();
                switch (api) {
                case 2:
                     /* ... */
                default:
                     /* ... */
                }
    
                return 0;
    
           err:
                return 1;
           }
    


## NOTES



           While the seccomp filter can be generated independent of the
           kernel, kernel support is required to load and enforce the seccomp
           filter generated by libseccomp.
    
           The libseccomp project site, with more information and the source
           code repository, can be found at
           https://github.com/seccomp/libseccomp.  This tool, as well as the
           libseccomp library, is currently under development, please report
           any bugs at the project site or directly to the author.
    


* * *
# gnutls_certificate_set_x509_simple_pkcs12_file

## NAME



           gnutls_certificate_set_x509_simple_pkcs12_file - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int**
           **gnutls_certificate_set_x509_simple_pkcs12_file(gnutls_certificate_credentials_t**
           _res_**, const char ***_pkcs12file_**, gnutls_x509_crt_fmt_t** _type_**, const**
           **char ***_password_**);**
    


## ARGUMENTS



           gnutls_certificate_credentials_t res
                       is a **gnutls_certificate_credentials_t** type.
    
           const char * pkcs12file
                       filename of file containing PKCS**12** blob.
    
           gnutls_x509_crt_fmt_t type
                       is PEM or DER of the  _pkcs12file_ .
    
           const char * password
                       optional password used to decrypt PKCS**12** file, bags
                       and keys.
    


## DESCRIPTION



           This function sets a certificate/private key pair and/or a CRL in
           the gnutls_certificate_credentials_t type.  This function may be
           called more than once (in case multiple keys/certificates exist
           for the server).
    
           PKCS**12** files with a MAC, encrypted bags and PKCS **8** private keys
           are supported. However, only password based security, and the same
           password for all operations, are supported.
    
           PKCS**12** file may contain many keys and/or certificates, and this
           function will try to auto-detect based on the key ID the
           certificate and key pair to use. If the PKCS**12** file contain the
           issuer of the selected certificate, it will be appended to the
           certificate to form a chain.
    
           If more than one private keys are stored in the PKCS**12** file, then
           only one key will be read (and it is undefined which one).
    
           It is believed that the limitations of this function is acceptable
           for most usage, and that any more flexibility would introduce
           complexity that would make it harder to use this functionality at
           all.
    
           Note that, this function by default returns zero on success and a
           negative value on error.  Since 3.5.6, when the flag
           **GNUTLS_CERTIFICATE_API_V2** is set using
           **gnutls_certificate_set_flags()** it returns an index (greater or
           equal to zero). That index can be used to other functions to refer
           to the added key-pair.
    


## RETURNS



           On success this functions returns zero, and otherwise a negative
           value on error (see above for modifying that behavior).
    


* * *
# pthread_barrierattr_init

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           pthread_barrierattr_init — initialize the barrier attributes
           object
    


## SYNOPSIS



           #include <pthread.h>
    
           int pthread_barrierattr_init(pthread_barrierattr_t *_attr_);
    


## DESCRIPTION



           Refer to pthread_barrierattr_destroy(3p).
    


* * *
# gnutls_x509_name_constraints_check

## NAME



           gnutls_x509_name_constraints_check - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **unsigned**
           **gnutls_x509_name_constraints_check(gnutls_x509_name_constraints_t**
           _nc_**, gnutls_x509_subject_alt_name_t** _type_**, const gnutls_datum_t ***
           _name_**);**
    


## ARGUMENTS



           gnutls_x509_name_constraints_t nc
                       the extracted name constraints
    
           gnutls_x509_subject_alt_name_t type
                       the type of the constraint to check (of type
                       gnutls_x509_subject_alt_name_t)
    
           const gnutls_datum_t * name
                       the name to be checked
    


## DESCRIPTION



           This function will check the provided name against the constraints
           in
            _nc_ using the RFC5280 rules. Currently this function is limited to
           DNS names, emails and IP addresses (of type **GNUTLS_SAN_DNSNAME** ,
           **GNUTLS_SAN_RFC822NAME** and **GNUTLS_SAN_IPADDRESS**).
    


## RETURNS



           zero if the provided name is not acceptable, and non-zero
           otherwise.
    


## SINCE



           3.3.0
    


* * *
# gnutls_x509_crt_get_subject_key_id

## NAME



           gnutls_x509_crt_get_subject_key_id - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crt_get_subject_key_id(gnutls_x509_crt_t** _cert_**,**
           **void ***_ret_**, size_t ***_ret_size_**, unsigned int ***_critical_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t cert
                       should contain a **gnutls_x509_crt_t** type
    
           void * ret  The place where the identifier will be copied
    
           size_t * ret_size
                       Holds the size of the result field.
    
           unsigned int * critical
                       will be non-zero if the extension is marked as
                       critical (may be null)
    


## DESCRIPTION



           This function will return the X.509v3 certificate's subject key
           identifier.  This is obtained by the X.509 Subject Key identifier
           extension field (2.5.29.14).
    


## RETURNS



           On success, **GNUTLS_E_SUCCESS**(0) is returned,
           **GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE** if the extension is not
           present, otherwise a negative error value.
    


* * *
# pcap_datalink_val_to_description_or_dlt

## NAME



           pcap_datalink_val_to_name, pcap_datalink_val_to_description,
           pcap_datalink_val_to_description_or_dlt - get a name or
           description for a link-layer header type value
    


## SYNOPSIS



           **#include <pcap.h>**
    
           **const char *pcap_datalink_val_to_name(int dlt);**
           **const char *pcap_datalink_val_to_description(int dlt);**
           **const char *pcap_datalink_val_to_description_or_dlt(int dlt);**
    


## DESCRIPTION



           **pcap_datalink_val_to_name**() translates a link-layer header type
           value to the corresponding link-layer header type name, which is
           the **DLT_** name for the link-layer header type value with the **DLT_**
           removed.  **NULL** is returned if the type value does not correspond
           to a known **DLT_** value.
    
           **pcap_datalink_val_to_description**() translates a link-layer header
           type value to a short description of that link-layer header type.
           **NULL** is returned if the type value does not correspond to a known
           **DLT_** value.
    
           **pcap_datalink_val_to_description_or_dlt**() translates a link-layer
           header type value to a short description of that link-layer header
           type just like **pcap_datalink_val_to_description**().  If the type
           value does not correspond to a known **DLT_** value, the string "DLT
           n" is returned, where n is the value of the dlt argument.
    


## BACKWARD COMPATIBILITY



           The **pcap_datalink_val_to_description_or_dlt**() function first
           became available in libpcap release 1.9.1.  In previous releases,
           **pcap_datalink_val_to_description**() would have to be called and, if
           it returned **NULL** , a default string would have to be constructed.
    


* * *
# unsetenv

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           unsetenv — remove an environment variable
    


## SYNOPSIS



           #include <stdlib.h>
    
           int unsetenv(const char *_name_);
    


## DESCRIPTION



           The _unsetenv_() function shall remove an environment variable from
           the environment of the calling process. The _name_ argument points
           to a string, which is the name of the variable to be removed. The
           named argument shall not contain an **'='** character. If the named
           variable does not exist in the current environment, the
           environment shall be unchanged and the function is considered to
           have completed successfully.
    
           The _unsetenv_() function shall update the list of pointers to which
           _environ_ points.
    
           The _unsetenv_() function need not be thread-safe.
    


## RETURN VALUE



           Upon successful completion, zero shall be returned. Otherwise, -1
           shall be returned, _errno_ set to indicate the error, and the
           environment shall be unchanged.
    


## ERRORS



           The _unsetenv_() function shall fail if:
    
           **EINVAL** The _name_ argument points to an empty string, or points to a
                  string containing an **'='** character.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           Refer to the RATIONALE section in setenv(3p).
    


## FUTURE DIRECTIONS



           None.
    


* * *
# gnutls_hmac_copy

## NAME



           gnutls_hmac_copy - API function
    


## SYNOPSIS



           **#include <gnutls/crypto.h>**
    
           **gnutls_hmac_hd_t gnutls_hmac_copy(gnutls_hmac_hd_t** _handle_**);**
    


## ARGUMENTS



           gnutls_hmac_hd_t handle
                       is a **gnutls_hmac_hd_t** type
    


## DESCRIPTION



           This function will create a copy of MAC context, containing all
           its current state. Copying contexts for MACs registered using
           **gnutls_crypto_register_mac()** is not supported and will always
           result in an error. In addition to that, some of the MAC
           implementations do not support this operation. Applications should
           check the return value and provide a proper fallback.
    


## RETURNS



           new MAC context or NULL in case of an error.
    


## SINCE



           3.6.9
    


* * *
# gnutls_x509_tlsfeatures_add

## NAME



           gnutls_x509_tlsfeatures_add - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **int gnutls_x509_tlsfeatures_add(gnutls_x509_tlsfeatures_t** _f_**,**
           **unsigned int** _feature_**);**
    


## ARGUMENTS



           gnutls_x509_tlsfeatures_t f
                       The TLS features
    
           unsigned int feature
                       The feature to add
    


## DESCRIPTION



           This function will append a feature to the X.509 TLS features
           extension structure.
    


## RETURNS



           On success, **GNUTLS_E_SUCCESS**(0) is returned, otherwise a negative
           error value.
    


## SINCE



           3.5.1
    


* * *
# function::cputime_to_usecs

## NAME



           function::cputime_to_usecs - Translates the given cputime into
           microseconds
    


## SYNOPSIS



               cputime_to_usecs:long(cputime:long)
    


## ARGUMENTS



           _cputime_
               Time to convert to microseconds.
    


* * *
# trunc

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           trunc, truncf, truncl — round to truncated integer value
    


## SYNOPSIS



           #include <math.h>
    
           double trunc(double _x_);
           float truncf(float _x_);
           long double truncl(long double _x_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           These functions shall round their argument to the integer value,
           in floating format, nearest to but no larger in magnitude than the
           argument.
    


## RETURN VALUE



           Upon successful completion, these functions shall return the
           truncated integer value.
           The result shall have the same sign as _x_.
    
           If _x_ is NaN, a NaN shall be returned.
    
           If _x_ is ±0 or ±Inf, _x_ shall be returned.
    


## ERRORS



           No errors are defined.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           The integral value returned by these functions need not be
           expressible as an **intmax_t**.  The return value should be tested
           before assigning it to an integer type to avoid the undefined
           results of an integer overflow.
    
           These functions may raise the inexact floating-point exception if
           the result differs in value from the argument.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# keyctl_get_persistent

## NAME



           keyctl_get_persistent - get the persistent keyring for a user
    


## SYNOPSIS



           **#include <keyutils.h>**
    
           **long keyctl_get_persistent(uid_t** _uid_**, key_serial_t** _keyring_**);**
    


## DESCRIPTION



           **keyctl_get_persistent**() gets the persistent keyring for the
           specified user ID.  Unlike the session and user keyrings, this
           keyring will persist once all login sessions have been deleted and
           can thus be used to carry authentication tokens for processes that
           run without user interaction, such as programs started by cron.
    
           The persistent keyring will be created by the kernel if it does
           not yet exist.  Each time this function is called, the persistent
           keyring will have its expiration timeout reset to the value in:
    
                  /proc/sys/kernel/keys/persistent_keyring_expiry
    
           (by default three days).  Should the timeout be reached, the
           persistent keyring will be removed and everything it pins can then
           be garbage collected.
    
           If _uid_ is **-1** then the calling process's real user ID will be used.
           If _uid_ is not **-1** then error **EPERM** will be given if the user ID
           requested does not match either the caller's real or effective
           user IDs or if the calling process does not have **SetUid**
           capability.
    
           If successful, a link to the persistent keyring will be added into
           _keyring_.
    


## RETURN VALUE



           On success **keyctl_get_persistent**() returns the serial number of
           the persistent keyring.  On error, the value **-1** will be returned
           and _errno_ will have been set to an appropriate error.
    


## ERRORS



           **EPERM** Not permitted to access the persistent keyring for the
                  requested _uid_.
    
           **ENOMEM** Insufficient memory to create the persistent keyring or to
                  extend _keyring_.
    
           **ENOKEY** _keyring_ does not exist.
    
           **EKEYEXPIRED**
                  _keyring_ has expired.
    
           **EKEYREVOKED**
                  _keyring_ has been revoked.
    
           **EDQUOT** The user does not have sufficient quota to extend _keyring_.
    
           **EACCES** _keyring_ exists, but does not grant **write** permission to the
                  calling process.
    


## LINKING



           This is a library function that can be found in _libkeyutils_.  When
           linking, **-lkeyutils** should be specified to the linker.
    


* * *
# clearerr

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           clearerr — clear indicators on a stream
    


## SYNOPSIS



           #include <stdio.h>
    
           void clearerr(FILE *_stream_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           The _clearerr_() function shall clear the end-of-file and error
           indicators for the stream to which _stream_ points.
    
           The _clearerr_() function shall not change the setting of _errno_ if
           _stream_ is valid.
    


## RETURN VALUE



           The _clearerr_() function shall not return a value.
    


## ERRORS



           No errors are defined.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# sd_bus_reply_method_return

## NAME



           sd_bus_reply_method_return, sd_bus_reply_method_returnv - Reply to
           a D-Bus method call
    


## SYNOPSIS



           **#include <systemd/sd-bus.h>**
    
           **int sd_bus_reply_method_return(sd_bus_message ***_call_**,**
                                          **const char ***_types_**, ...);**
    
           **int sd_bus_reply_method_returnv(sd_bus_message ***_call_**,**
                                           **const char ***_types_**, va_list** _ap_**);**
    


## DESCRIPTION



           **sd_bus_reply_method_return()** sends a reply to the _call_ message.
           The type string _types_ and the arguments that follow it must adhere
           to the format described in sd_bus_message_append(3). If no reply
           is expected to _call_ , this function succeeds without sending a
           reply.
    


## RETURN VALUE



           On success, this function returns a non-negative integer. On
           failure, it returns a negative errno-style error code.
    
       **Errors**
           Returned errors may indicate the following problems:
    
           **-EINVAL**
               The input parameter _call_ is **NULL**.
    
               Message _call_ is not a method call message.
    
               Message _call_ is not attached to a bus.
    
               Message _m_ is not a method reply message.
    
               Added in version 246.
    
           **-EPERM**
               Message _call_ has been sealed.
    
               Added in version 246.
    
           **-ENOTCONN**
               The bus to which message _call_ is attached is not connected.
    
               Added in version 246.
    
           **-ENOMEM**
               Memory allocation failed.
    
               Added in version 246.
    
           In addition, any error returned by sd_bus_send(3) may be returned.
    


## NOTES



           Functions described here are available as a shared library, which
           can be compiled against and linked to with the
           **libsystemd pkg-config**(1) file.
    
           The code described here uses getenv(3), which is declared to be
           not multi-thread-safe. This means that the code calling the
           functions described here must not call setenv(3) from a parallel
           thread. It is recommended to only do calls to **setenv()** from an
           early phase of the program when no other threads have been
           started.
    


* * *
# id_t

## NAME



           pid_t, uid_t, gid_t, id_t - process/user/group identifier
    


## LIBRARY



           Standard C library (_libc_)
    


## SYNOPSIS



           **#include <sys/types.h>**
    
           **typedef** /* ... */ **pid_t;**
           **typedef** /* ... */ **uid_t;**
           **typedef** /* ... */ **gid_t;**
           **typedef** /* ... */ **id_t;**
    


## DESCRIPTION



           _pid_t_ is a type used for storing process IDs, process group IDs,
           and session IDs.  It is a signed integer type.
    
           _uid_t_ is a type used to hold user IDs.  It is an integer type.
    
           _gid_t_ is a type used to hold group IDs.  It is an integer type.
    
           _id_t_ is a type used to hold a general identifier.  It is an
           integer type that can be used to contain a _pid_t_ , _uid_t_ , or _gid_t_.
    


## STANDARDS



           POSIX.1-2008.
    


## NOTES



           The following headers also provide _pid_t_ : _< fcntl.h>_, _< sched.h>_,
           _< signal.h>_, _< spawn.h>_, _< sys/msg.h>_, _< sys/sem.h>_, _< sys/shm.h>_,
           _< sys/wait.h>_, _< termios.h>_, _< time.h>_, _< unistd.h>_, and _< utmpx.h>_.
    
           The following headers also provide _uid_t_ : _< pwd.h>_, _< signal.h>_,
           _< stropts.h>_, _< sys/ipc.h>_, _< sys/stat.h>_, and _< unistd.h>_.
    
           The following headers also provide _gid_t_ : _< grp.h>_, _< pwd.h>_,
           _< signal.h>_, _< stropts.h>_, _< sys/ipc.h>_, _< sys/stat.h>_, and
           _< unistd.h>_.
    
           The following header also provides _id_t_ : _< sys/resource.h>_.
    


* * *
# gnutls_pem_base64_decode

## NAME



           gnutls_pem_base64_decode - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_pem_base64_decode(const char ***_header_**, const**
           **gnutls_datum_t ***_b64_data_**, unsigned char ***_result_**, size_t ***
           _result_size_**);**
    


## ARGUMENTS



           const char * header
                       A null terminated string with the PEM header (eg.
                       CERTIFICATE)
    
           const gnutls_datum_t * b64_data
                       contain the encoded data
    
           unsigned char * result
                       the place where decoded data will be copied
    
           size_t * result_size
                       holds the size of the result
    


## DESCRIPTION



           This function will decode the given encoded data.  If the header
           given is non **NULL** this function will search for "-----BEGIN
           header" and decode only this part.  Otherwise it will decode the
           first PEM packet found.
    


## RETURNS



           On success **GNUTLS_E_SUCCESS**(0) is returned,
           **GNUTLS_E_SHORT_MEMORY_BUFFER** is returned if the buffer given is
           not long enough, or 0 on success.
    


* * *
# function::ns_pid

## NAME



           function::ns_pid - Returns the ID of a target process as seen in a
           pid namespace
    


## SYNOPSIS



               ns_pid:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the ID of a target process as seen in the
           target pid namespace.
    


* * *
# pmnameindomarchive

## NAME



           **pmNameInDomArchive** - translate an instance identifier into an
           instance name
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmNameInDomArchive(pmInDom** _indom_**, int** _inst_**, char ****_name_**);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           Provided that the current Performance Metrics Application Program‐
           ming  Interface  (PMAPI)  context  is  associated  with  a  set of
           archives, **pmNameInDomArchive** will scan the union of  all  the  in‐
           stance  domain  metadata for the instance domain _indom_ , locate the
           first instance with the internal instance identifier given by  _in‐_
           _st_ , and return the full external instance identification via _name_.
    
           This  routine  is  a specialized version of the more general PMAPI
           routine **pmNameInDom**.
    
           The value for the instance domain  _indom_  is  typically  extracted
           from a _pmDesc_ structure, following a call to pmLookupDesc(3) for a
           particular performance metric.
    
           The  space  for  the value of _name_ will have been allocated in **pm‐**
           **NameInDomArchive** with malloc(3), and it is the  responsibility  of
           the caller to free(3) the space when it is no longer required.
    
           **pmNameInDomArchive** returns zero on success.
    


## DIAGNOSTICS



           **PM_ERR_NOTARCHIVE**
                  the current PMAPI context is not associated with a set of
                  archives
    
           **PM_ERR_INDOM_LOG**
                  _indom_ is not a defined instance domain identifier for the
                  set of archives
    
           **PM_ERR_INST_LOG**
                  the instance identifier _inst_ is not known for the instance
                  domain _indom_ in the set of archives
    


* * *
# probe::tty.poll

## NAME



           probe::tty.poll - Called when a tty device is being polled
    


## SYNOPSIS



           tty.poll
    


## VALUES



           _wait_key_
               the wait queue key
    
           _file_name_
               the tty file name
    


* * *
# gnutls_x509_ext_ct_scts_init

## NAME



           gnutls_x509_ext_ct_scts_init - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **int gnutls_x509_ext_ct_scts_init(gnutls_x509_ct_scts_t ***_scts_**);**
    


## ARGUMENTS



           gnutls_x509_ct_scts_t * scts
                       The SCT list
    


## DESCRIPTION



           This function will initialize a Certificate Transparency SCT list.
    


## RETURNS



           **GNUTLS_E_SUCCESS**(0) on success, otherwise a negative error value.
    


* * *
# exp10

## NAME



           exp10, exp10f, exp10l - base-10 exponential function
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#define _GNU_SOURCE** /* See feature_test_macros(7) */
           **#include <math.h>**
    
           **double exp10(double** _x_**);**
           **float exp10f(float** _x_**);**
           **long double exp10l(long double** _x_**);**
    


## DESCRIPTION



           These functions return the value of 10 raised to the power of _x_.
    


## RETURN VALUE



           On success, these functions return the base-10 exponential value
           of _x_.
    
           For various special cases, including the handling of infinity and
           NaN, as well as overflows and underflows, see exp(3).
    


## ERRORS



           See math_error(7) for information on how to determine whether an
           error has occurred when calling these functions.
    
           For a discussion of the errors that can occur for these functions,
           see exp(3).
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────────────────────────────┬───────────────┬─────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────────────────────────────┼───────────────┼─────────┤
           │ **exp10**(), **exp10f**(), **exp10l**()          │ Thread safety │ MT-Safe │
           └──────────────────────────────────────┴───────────────┴─────────┘
    


## STANDARDS



           GNU.
    


## BUGS



           Before glibc 2.19, the glibc implementation of these functions did
           not set _errno_ to **ERANGE** when an underflow error occurred.
    


* * *
# semanage_iterate

## NAME



           semanage_iterate - SELinux Management API
    


## SYNOPSIS



           The following iterate function is supported for any semanage
           record.
           Replace the function and object name as necessary.
    
           **extern int ITERATE_FUNCTION (**
                **semanage_handle_t ***_handle_**,**
                **int (*handler) (**
                              **const semanage_OBJECT_t ***_object_**,**
                              **void ***_varg_**),**
                **void ***_handler_arg_**);**
    


## DESCRIPTION



           **Behavior:**
                  The iterate function will execute the specified handler
                  over all objects in the selected location. An arbitrary
                  argument can be passed into the handler function along with
                  each object.
    
                  The object passed in is property of the libsemanage
                  library, and may not be modified or preserved - use
                  **semanage_OBJECT_clone** if that is necessary.
    
                  The handler code may not invoke any semanage write requests
                  for the same object type (i.e. modifying the underlying
                  store is not allowed). The iterate function is reentrant
                  only while inside a transaction (see
                  **semanage_begin_transaction**). It is not safe to execute
                  other semanage read or write requests within iterate if not
                  inside a transaction. The handler may return -1 to signal
                  error exit, 0 to signal continue, and 1 to signal
                  successful exit early (the iterate function will stop
                  accordingly).
    
           **Parameters:**
                  The _handle_ is used to track persistent state across
                  semanage calls, and for error reporting. The _handler_ is the
                  function to execute, with _handler_arg_ as its second
                  parameter, and each object as its first parameter.
    
           **Requirements:**
                  This function requires an semanage connection to be
                  established (see **semanage_connect**(3) )
    


## RETURN VALUE



           In case of failure, -1 is returned, and the semanage error
           callback is invoked, describing the error.  Otherwise a non-
           negative integer is returned (a commit number). The same number
           will be returned by all other semanage object read calls until the
           next commit.
    


* * *
# setpriority

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           setpriority — set the nice value
    


## SYNOPSIS



           #include <sys/resource.h>
    
           int setpriority(int _which_ , id_t _who_ , int _nice_);
    


## DESCRIPTION



           Refer to getpriority(3p).
    


* * *
# cacosh

## PROLOG



           This manual page is part of the POSIX Programmer's Manual.  The
           Linux implementation of this interface may differ (consult the
           corresponding Linux manual page for details of Linux behavior), or
           the interface may not be implemented on Linux.
    


## NAME



           cacosh, cacoshf, cacoshl — complex arc hyperbolic cosine functions
    


## SYNOPSIS



           #include <complex.h>
    
           double complex cacosh(double complex _z_);
           float complex cacoshf(float complex _z_);
           long double complex cacoshl(long double complex _z_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           These functions shall compute the complex arc hyperbolic cosine of
           _z_ , with a branch cut at values less than 1 along the real axis.
    


## RETURN VALUE



           These functions shall return the complex arc hyperbolic cosine
           value, in the range of a half-strip of non-negative values along
           the real axis and in the interval [-_i_ π, +_i_ π] along the imaginary
           axis.
    


## ERRORS



           No errors are defined.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *