tripathysagar/man_text huggingface dataset:
# pmparsemetricspec

## NAME



           **pmParseMetricSpec** , **pmFreeMetricSpec** - uniform metric specification
           parser
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmParseMetricSpec(const char ***_string_**, int** _isarch_**,**
                                 **char ***_source_**, pmMetricSpec ****_rsltp_**,**
                                 **char ****_errmsg_**);**
           **void pmFreeMetricSpec(pmMetricSpec ***_rslt_**);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           **pmParseMetricSpec** accepts  a  **string** specifying the name of a PCP
           performance metric, and optionally the source (either  a  hostname
           or  a  PCP  archive  filename) and instances for that metric.  The
           syntax is described in PCPIntro(1).
    
           If neither **host** nor **archive** component of the metric  specification
           is  provided,  the **isarch** and **source** arguments are used to fill in
           the returned **pmMetricSpec** structure.
    
           The **pmMetricSpec** structure that is returned via  **rsltp** represents
           the parsed **string** and has the following declaration:
    
               typedef struct {
                   int     isarch;      /* source type: 0 -> live host, 1 -> archive, 2 -> local context */
                   char    *source;     /* name of source host or archive */
                   char    *metric;     /* name of metric */
                   int     ninst;       /* number of instances, 0 -> all */
                   char    *inst[1];    /* array of instance names */
               } pmMetricSpec;
    
           **pmParseMetricSpec** returns  0 if the given **string** was successfully
           parsed.  In this case all the storage allocated by  **pmParseMetric‐**
           **Spec** can be released by a single call to free(3) using the address
           returned  from  **pmMetricSpec** via **rsltp**.  The convenience macro **pm‐**
           **FreeMetricSpec** is a thinly disguised wrapper for free(3).
    
           **pmParseMetricSpec** returns **PM_ERR_GENERIC** and a  dynamically  allo‐
           cated error message string in **errmsg** , if the given **string** does not
           parse.  Be sure to free(3) the error message string in this situa‐
           tion.
    
           In  the case of an error, **rsltp** is undefined.  In the case of suc‐
           cess, **errmsg** is undefined.  If **rsltp- >ninst **is 0, then  **rsltp- >in‐**
           **st[0]** is undefined.
    


* * *
# ll2_remove_entry

## NAME



           ll2_remove_entry - Removes all entries of a user.
    


## SYNOPSIS



           **#include <lastlog2.h>**
    
           **int ll2_remove_entry (struct ll2_context ***_context_**, const char**
           *****_user_**, char ****_error_**);**
    


## DESCRIPTION



           Removes all database entries, defined in _context_ , with the user
           name _user_. If _context_ is NULL, the default database, defined in
           _LL2_DEFAULT_DATABASE_ , will be taken.
    
               char    *error = NULL;
               const   char *user = "root";
    
               int ret = ll2_remove_entry (NULL, user, &error);
    


## RETURN VALUE



           Returns 0 on success, -ENOMEM or -1 on other failure. _error_
           contains an error string if the return value is -1. _error_ is not
           guaranteed to contain an error string, could also be NULL. _error_
           should be freed by the caller.
    


## AVAILABILITY



           The **liblastlog2** library is part of the util-linux package since
           version 2.40. It can be downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-01-16            _LL2_REMOVE_ENTRY_(3)
    


* * *
# probe::socket.create.return

## NAME



           probe::socket.create.return - Return from Creation of a socket
    


## SYNOPSIS



           socket.create.return
    


## VALUES



           _err_
               Error code if success == 0
    
           _name_
               Name of this probe
    
           _requester_
               Requested by user process or the kernel (1 = kernel, 0 = user)
    
           _protocol_
               Protocol value
    
           _type_
               Socket type value
    
           _success_
               Was socket creation successful? (1 = yes, 0 = no)
    
           _family_
               Protocol family value
    


## CONTEXT



           The requester (user process or kernel)
    


## DESCRIPTION



           Fires at the conclusion of creating a socket.
    


* * *
# gnutls_oid_to_sign

## NAME



           gnutls_oid_to_sign - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **gnutls_sign_algorithm_t gnutls_oid_to_sign(const char ***_oid_**);**
    


## ARGUMENTS



           const char * oid
                       is an object identifier
    


## DESCRIPTION



           Converts a textual object identifier to a **gnutls_sign_algorithm_t**
           value.
    


## RETURNS



           a **gnutls_sign_algorithm_t** id of the specified digest algorithm, or
           **GNUTLS_SIGN_UNKNOWN** on failure.
    


## SINCE



           3.4.3
    


* * *
# audit_name_to_syscall

## NAME



           audit_name_to_syscall - Convert the syscall name to the numeric
           syscall value
    


## SYNOPSIS



           **#include <libaudit.h>**
    
           **int audit_name_to_syscall(const char** _*sc_**, int** _machine_**);**
    


## DESCRIPTION



           **audit_name_to_syscall**() converts the syscall name to the numeric
           syscall value.  _sc_ is the syscall name.  _machine_ is the enum value
           of the machine type defined in machine_t.  _machine_ can be obtained
           by calling audit_detect_machine(3).
    


## RETURN VALUE



           Returns -1 if an error occurs; otherwise, the return value is the
           numeric syscall value.
    


* * *
# rdma_create_qp

## NAME



           rdma_create_qp - Allocate a QP.
    


## SYNOPSIS



           **#include <rdma/rdma_cma.h>**
    
           **int rdma_create_qp (struct rdma_cm_id ***_id_**, struct ibv_pd ***_pd_**,**
           **struct ibv_qp_init_attr ***_qp_init_attr_**);**
    


## ARGUMENTS



           id          RDMA identifier.
    
           pd          Optional protection domain for the QP.
    
           qp_init_attr
                       Initial QP attributes.
    


## DESCRIPTION



           Allocate a QP associated with the specified rdma_cm_id and
           transition it for sending and receiving.
    


## RETURN VALUE



           Returns 0 on success, or -1 on error.  If an error occurs, errno
           will be set to indicate the failure reason.
    


## NOTES



           The rdma_cm_id must be bound to a local RDMA device before calling
           this function, and the protection domain must be for that same
           device.  QPs allocated to an rdma_cm_id are automatically
           transitioned by the librdmacm through their states.  After being
           allocated, the QP will be ready to handle posting of receives.  If
           the QP is unconnected, it will be ready to post sends.
    
           If a protection domain is not given - pd parameter is NULL - then
           the rdma_cm_id will be created using a default protection domain.
           One default protection domain is allocated per RDMA device.
    
           The initial QP attributes are specified by the qp_init_attr
           parameter.  The send_cq and recv_cq fields in the ibv_qp_init_attr
           are optional.  If a send or receive completion queue is not
           specified, then a CQ will be allocated by the rdma_cm for the QP,
           along with corresponding completion channels.  Completion channels
           and CQ data created by the rdma_cm are exposed to the user through
           the rdma_cm_id structure.
    
           The actual capabilities and properties of the created QP will be
           returned to the user through the qp_init_attr parameter.  An
           rdma_cm_id may only be associated with a single QP.
    


* * *
# malloc_trim

## NAME



           malloc_trim - release free memory from the heap
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <malloc.h>**
    
           **int malloc_trim(size_t** _pad_**);**
    


## DESCRIPTION



           The **malloc_trim**() function attempts to release free memory from
           the heap (by calling sbrk(2) or madvise(2) with suitable
           arguments).
    
           The _pad_ argument specifies the amount of free space to leave
           untrimmed at the top of the heap.  If this argument is 0, only the
           minimum amount of memory is maintained at the top of the heap
           (i.e., one page or less).  A nonzero argument can be used to
           maintain some trailing space at the top of the heap in order to
           allow future allocations to be made without having to extend the
           heap with sbrk(2).
    


## RETURN VALUE



           The **malloc_trim**() function returns 1 if memory was actually
           released back to the system, or 0 if it was not possible to
           release any memory.
    


## ERRORS



           No errors are defined.
    


## ATTRIBUTES



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


## STANDARDS



           GNU.
    


## VERSIONS



           glibc 2.0.
    


## NOTES



           Only the main heap (using sbrk(2)) honors the _pad_ argument; thread
           heaps do not.
    
           Since glibc 2.8 this function frees memory in all arenas and in
           all chunks with whole free pages.
    
           Before glibc 2.8 this function only freed memory at the top of the
           heap in the main arena.
    


* * *
# function::ns_euid

## NAME



           function::ns_euid - Returns the effective user ID of a target
           process as seen in a user namespace
    


## SYNOPSIS



               ns_euid:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the effective user ID of the target process
           as seen in the target user namespace if provided, or the stap
           process namespace.
    


* * *
# gnutls_x509_spki_set_rsa_pss_params

## NAME



           gnutls_x509_spki_set_rsa_pss_params - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **void gnutls_x509_spki_set_rsa_pss_params(gnutls_x509_spki_t** _spki_**,**
           **gnutls_digest_algorithm_t** _dig_**, unsigned int** _salt_size_**);**
    


## ARGUMENTS



           gnutls_x509_spki_t spki
                       the SubjectPublicKeyInfo structure
    
           gnutls_digest_algorithm_t dig
                       a digest algorithm of type **gnutls_digest_algorithm_t**
    
           unsigned int salt_size
                       the size of salt string
    


## DESCRIPTION



           This function will set the public key parameters for an RSA-PSS
           algorithm, in the SubjectPublicKeyInfo structure.
    


## SINCE



           3.6.0
    


* * *
# semanage_set_root

## NAME



           semanage_set_root, semanage_root - SELinux Management API
    


## SYNOPSIS



           Set/get the alternate root directory for SELinux configuration
           directory.
    
           **#include <semanage/handle.h>**
    
           **extern int semanage_set_root(const char *path);**
    
           **extern const char *semanage_root(void);**
    


## DESCRIPTION



           The function semanage_set_root() sets an alternate root directory
           for SELinux configuration paths to be used by the semanage
           library.
    


## RETURN VALUE



           The function semanage_set_root() returns -1 in case of failure.
           Otherwise, 0 is returned.
    
           The function semanage_root() returns the semanage root. The
           returned value should not be modified by the caller.
    


* * *
# tapset::task_time

## NAME



           tapset::task_time - systemtap task_time tapset
    


## DESCRIPTION



            Task time query and utility functions provide information about
            the time resource usage of the current task. These functions
           provide
            information about the user time and system time of the current
            task. And provide utility functions to turn the reported times
            into miliseconds and create human readable string representations
            of task time used. The reported times are approximates and should
            be used for "coarse grained" measurements only. The reported user
            and system time are only for the current task, not for the
           process
            as a whole nor of any time spend by children of the current task.
    
           **task_utime**
                  User time of the task
    
                  See function::task_utime(3stap)
                   for details.
    
           **task_utime**
                  User time of the task
    
                  See function::task_utime(3stap)
                   for details.
    
           **task_stime**
                  System time of the task
    
                  See function::task_stime(3stap)
                   for details.
    
           **task_stime**
                  System time of the task
    
                  See function::task_stime(3stap)
                   for details.
    
           **task_start_time**
                  Start time of the given task
    
                  See function::task_start_time(3stap)
                   for details.
    
           **cputime_to_msecs**
                  Translates the given cputime into milliseconds
    
                  See function::cputime_to_msecs(3stap)
                   for details.
    
           **cputime_to_usecs**
                  Translates the given cputime into microseconds
    
                  See function::cputime_to_usecs(3stap)
                   for details.
    
           **msecs_to_string**
                  Human readable string for given milliseconds
    
                  See function::msecs_to_string(3stap)
                   for details.
    
           **usecs_to_string**
                  Human readable string for given microseconds
    
                  See function::usecs_to_string(3stap)
                   for details.
    
           **nsecs_to_string**
                  Human readable string for given nanoseconds
    
                  See function::nsecs_to_string(3stap)
                   for details.
    
           **cputime_to_string**
                  Human readable string for given cputime
    
                  See function::cputime_to_string(3stap)
                   for details.
    
           **task_time_string**
                  Human readable string of task time usage
    
                  See function::task_time_string(3stap)
                   for details.
    
           **task_time_string_tid**
                  Human readable string of task time usage
    
                  See function::task_time_string_tid(3stap)
                   for details.
    


* * *
# libpfm_arm_ac76

## NAME



           libpfm_arm_ac76 - support for Arm Cortex A76 PMU
    


## SYNOPSIS



           **#include <perfmon/pfmlib.h>**
    
           **PMU name: arm_ac76**
           **PMU desc: ARM Cortex A76**
    


## DESCRIPTION



           The library supports the ARM Cortex A76 core PMU.
    
           This PMU supports 6 counters and privilege levels filtering.  It
           can operate in both 32 and 64 bit modes.
    


## MODIFIERS



           The following modifiers are supported on ARM Cortex A76:
    
           **u** Measure at the user level. This corresponds to **PFM_PLM3**.
                  This is a boolean modifier.
    
           **k** Measure at the kernel level. This corresponds to **PFM_PLM0**.
                  This is a boolean modifier.
    
           **hv** Measure at the hypervisor level. This corresponds to
                  **PFM_PLMH**.  This is a boolean modifier.
    


* * *
# pcre2_set_parens_nest_limit

## NAME



           PCRE2 - Perl-compatible regular expressions (revised API)
    


## SYNOPSIS



    
           **#include <pcre2.h>**
    
           **int pcre2_set_parens_nest_limit(pcre2_compile_context ***_ccontext_**,**
             **uint32_t** _value_**);**
    


## DESCRIPTION



    
           This function sets, in a compile context, the maximum depth of
           nested parentheses in a pattern. The result is always zero.
    
           There is a complete description of the PCRE2 native API in the
           **pcre2api** page and a description of the POSIX API in the **pcre2posix**
           page.
    


* * *
# pcre2_compile_context_free

## NAME



           PCRE2 - Perl-compatible regular expressions (revised API)
    


## SYNOPSIS



    
           **#include <pcre2.h>**
    
           **void pcre2_compile_context_free(pcre2_compile_context ***_ccontext_**);**
    


## DESCRIPTION



    
           This function frees the memory occupied by a compile context,
           using the memory freeing function from the general context with
           which it was created, or **free()** if that was not set. If the
           argument is NULL, the function returns immediately without doing
           anything.
    
           There is a complete description of the PCRE2 native API in the
           **pcre2api** page and a description of the POSIX API in the **pcre2posix**
           page.
    


* * *
# pcap_tstamp_type_name_to_val

## NAME



           pcap_tstamp_type_name_to_val - get the time stamp type value
           corresponding to a time stamp type name
    


## SYNOPSIS



           **#include <pcap/pcap.h>**
    
           **int pcap_tstamp_type_name_to_val(const char *name);**
    


## DESCRIPTION



           **pcap_tstamp_type_name_to_val**() translates a time stamp type name
           to the corresponding time stamp type value.  The translation is
           case-insensitive.
    


## RETURN VALUE



           **pcap_tstamp_type_name_to_val**() returns time stamp type value on
           success and **PCAP_ERROR** on failure.
    


## BACKWARD COMPATIBILITY



           This function became available in libpcap release 1.2.1.
    


* * *
# gnutls_priority_sign_list

## NAME



           gnutls_priority_sign_list - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_priority_sign_list(gnutls_priority_t** _pcache_**, const**
           **unsigned int ****_list_**);**
    


## ARGUMENTS



           gnutls_priority_t pcache
                       is a **gnutls_priority_t** type.
    
           const unsigned int ** list
                       will point to an integer list
    


## DESCRIPTION



           Get a list of available signature algorithms in the priority
           structure.
    


## RETURNS



           the number of algorithms, or an error code.
    


## SINCE



           3.0
    


* * *
# probe::scsi.iodispatching

## NAME



           probe::scsi.iodispatching - SCSI mid-layer dispatched low-level
           SCSI command
    


## SYNOPSIS



           scsi.iodispatching
    


## VALUES



           _request_buffer_
               The request buffer address
    
           _lun_
               The lun number
    
           _device_state_
               The current state of the device
    
           _request_bufflen_
               The request buffer length
    
           _channel_
               The channel number
    
           _host_no_
               The host number
    
           _data_direction_str_
               Data direction, as a string
    
           _data_direction_
               The data_direction specifies whether this command is from/to
               the device 0 (DMA_BIDIRECTIONAL), 1 (DMA_TO_DEVICE), 2
               (DMA_FROM_DEVICE), 3 (DMA_NONE)
    
           _dev_id_
               The scsi device id
    
           _req_addr_
               The current struct request pointer, as a number
    
           _device_state_str_
               The current state of the device, as a string
    


* * *
# gnutls_x509_ext_import_name_constraints

## NAME



           gnutls_x509_ext_import_name_constraints - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **int gnutls_x509_ext_import_name_constraints(const gnutls_datum_t ***
           _ext_**, gnutls_x509_name_constraints_t** _nc_**, unsigned int** _flags_**);**
    


## ARGUMENTS



           const gnutls_datum_t * ext
                       a DER encoded extension
    
           gnutls_x509_name_constraints_t nc
                       The nameconstraints
    
           unsigned int flags
                       zero or **GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND**
    


## DESCRIPTION



           This function will return an intermediate type containing the name
           constraints of the provided NameConstraints extension. That can be
           used in combination with **gnutls_x509_name_constraints_check()** to
           verify whether a server's name is in accordance with the
           constraints.
    
           When the  _flags_ is set to **GNUTLS_NAME_CONSTRAINTS_FLAG_APPEND** ,
           then if the  _nc_ type is empty this function will behave
           identically as if the flag was not set.  Otherwise if there are
           elements in the  _nc_ structure then the constraints will be merged
           with the existing constraints following RFC5280 p6.1.4 (excluded
           constraints will be appended, permitted will be intersected).
    
           Note that  _nc_ must be initialized prior to calling this function.
    


## 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.
    


## SINCE



           3.3.0
    


* * *
# cimag

## NAME



           cimag, cimagf, cimagl - get imaginary part of a complex number
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <complex.h>**
    
           **double cimag(double complex** _z_**);**
           **float cimagf(float complex** _z_**);**
           **long double cimagl(long double complex** _z_**);**
    


## DESCRIPTION



           These functions return the imaginary part of the complex number _z_.
    
           One has:
    
               z = creal(z) + I * cimag(z)
    


## ATTRIBUTES



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


## VERSIONS



           GCC also supports __imag__.  That is a GNU extension.
    


## STANDARDS



           C11, POSIX.1-2008.
    


* * *
# pmiputmark

## NAME



           **pmiPutMark** - write a _< mark>_ record to a PCP archive
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
           **#include <pcp/import.h>**
    
           **int pmiPutMark(void);**
    
           **cc ... -lpcp_import -lpcp**
    


## Perl SYNOPSIS



           **use PCP::LogImport;**
    
           **pmiPutMark();**
    


## DESCRIPTION



           As   part   of  the  Performance  Co-Pilot  Log  Import  API  (see
           LOGIMPORT(3)), **pmiPutMark** writes a **< mark> **record  to  the  current
           PCP  output  archive.   This  is required when there is a temporal
           discontinuity between the current input source and the next  input
           source,  if  any,  and  should  be  called after the final call to
           pmiWrite(3) for the current input.  If there is no next  input  to
           be  processed  or no temporal gap between sources, then the **< mark>**
           record is not required.
    
           The **< mark> **record is used to signify a temporal gap, so that  when
           replaying  the  output PCP archive, interpolation of metric values
           should not be performed between the last timestamp in the  current
           input source to the first timestamp in the next input source, i.e.
           across the **< mark> **record.
    


## DIAGNOSTICS



           **pmiPutMark** returns zero on success else a negative value that can
           be turned into an error message by calling pmiErrStr(3).
    


* * *
# casinh

## 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



           casinh, casinhf, casinhl — complex arc hyperbolic sine functions
    


## SYNOPSIS



           #include <complex.h>
    
           double complex casinh(double complex _z_);
           float complex casinhf(float complex _z_);
           long double complex casinhl(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 sine of
           _z_ , with branch cuts outside the interval [-_i_ , +_i_] along the
           imaginary axis.
    


## RETURN VALUE



           These functions shall return the complex arc hyperbolic sine
           value, in the range of a strip mathematically unbounded along the
           real axis and in the interval [-_i_ π/2, +_i_ π/2] along the imaginary
           axis.
    


## ERRORS



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


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# keyctl_get_keyring_ID

## NAME



           keyctl_get_keyring_ID - get the ID of a special keyring
    


## SYNOPSIS



           **#include <keyutils.h>**
    
           **key_serial_t keyctl_get_keyring_ID(key_serial_t** _key_**,**
            **int** _create_**);**
    


## DESCRIPTION



           **keyctl_get_keyring_ID**() maps a special _key_ or keyring ID to the
           serial number of the key actually representing that feature.  The
           serial number will be returned if that key exists.
    
           If the key or keyring does not yet exist, then if _create_ is non-
           zero, the key or keyring will be created if it is appropriate to
           do so.
    
           The following special key IDs may be specified as _key_ :
    
           **KEY_SPEC_THREAD_KEYRING**
                  This specifies the caller's thread-specific keyring.
    
           **KEY_SPEC_PROCESS_KEYRING**
                  This specifies the caller's process-specific keyring.
    
           **KEY_SPEC_SESSION_KEYRING**
                  This specifies the caller's session-specific keyring.
    
           **KEY_SPEC_USER_KEYRING**
                  This specifies the caller's UID-specific keyring.
    
           **KEY_SPEC_USER_SESSION_KEYRING**
                  This specifies the caller's UID-session keyring.
    
           **KEY_SPEC_REQKEY_AUTH_KEY**
                  This specifies the authorisation key created by
                  **request_key**() and passed to the process it spawns to
                  generate a key.
    
           If a valid keyring ID is passed in, then this will simply be
           returned if the key exists; an error will be issued if it doesn't
           exist.
    


## RETURN VALUE



           On success **keyctl_get_keyring_ID**() returns the serial number of
           the key it found.  On error, the value **-1** will be returned and
           _errno_ will have been set to an appropriate error.
    


## ERRORS



           **ENOKEY** No matching key was found.
    
           **ENOMEM** Insufficient memory to create a key.
    
           **EDQUOT** The key quota for this user would be exceeded by creating
                  this key or linking it to the keyring.
    


## LINKING



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


* * *
# function::user_int32_error

## NAME



           function::user_int32_error - Retrieves a 32-bit integer value
           stored in user space
    


## SYNOPSIS



               user_int32_error:long(addr:long)
    


## ARGUMENTS



           _addr_
               the user space address to retrieve the 32-bit integer from
    


## DESCRIPTION



           Returns the 32-bit integer value from a given user space address.
           If the user space data is not accessible, an error will occur.
    


* * *
# gnutls_buffer_append_data

## NAME



           gnutls_buffer_append_data - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_buffer_append_data(gnutls_buffer_t** _dest_**, const void ***
           _data_**, size_t** _data_size_**);**
    


## ARGUMENTS



           gnutls_buffer_t dest
                       the buffer to append to
    
           const void * data
                       the data
    
           size_t data_size
                       the size of  _data_
    


## DESCRIPTION



           Appends the provided  _data_ to the destination buffer.
    


## RETURNS



           **GNUTLS_E_SUCCESS** on success, otherwise a negative error code.
    


## SINCE



           3.4.0
    


* * *
# gnutls_dtls_set_timeouts

## NAME



           gnutls_dtls_set_timeouts - API function
    


## SYNOPSIS



           **#include <gnutls/dtls.h>**
    
           **void gnutls_dtls_set_timeouts(gnutls_session_t** _session_**, unsigned**
           **int** _retrans_timeout_**, unsigned int** _total_timeout_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           unsigned int retrans_timeout
                       The time at which a retransmission will occur in
                       milliseconds
    
           unsigned int total_timeout
                       The time at which the connection will be aborted, in
                       milliseconds.
    


## DESCRIPTION



           This function will set the timeouts required for the DTLS
           handshake protocol. The retransmission timeout is the time after
           which a message from the peer is not received, the previous
           messages will be retransmitted. The total timeout is the time
           after which the handshake will be aborted with **GNUTLS_E_TIMEDOUT**.
    
           The DTLS protocol recommends the values of 1 sec and 60 seconds
           respectively, and these are the default values.
    
           To disable retransmissions set a  _retrans_timeout_ larger than the
           _total_timeout_ .
    


## SINCE



           3.0
    


* * *
# ferror

## NAME



           clearerr, feof, ferror - check and reset stream status
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



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


## DESCRIPTION



           The function **clearerr**() clears the end-of-file and error
           indicators for the stream pointed to by _stream_.
    
           The function **feof**() tests the end-of-file indicator for the stream
           pointed to by _stream_ , returning nonzero if it is set.  The end-of-
           file indicator can be cleared only by the function **clearerr**().
    
           The function **ferror**() tests the error indicator for the stream
           pointed to by _stream_ , returning nonzero if it is set.  The error
           indicator can be reset only by the **clearerr**() function.
    
           For nonlocking counterparts, see unlocked_stdio(3).
    


## RETURN VALUE



           The **feof**() function returns nonzero if the end-of-file indicator
           is set for _stream_ ; otherwise, it returns zero.
    
           The **ferror**() function returns nonzero if the error indicator is
           set for _stream_ ; otherwise, it returns zero.
    


## ERRORS



           These functions should not fail and do not set _errno_.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


## NOTES



           POSIX.1-2008 specifies that these functions shall not change the
           value of _errno_ if _stream_ is valid.
    


## CAVEATS



           Normally, programs should read the return value of an input
           function, such as fgetc(3), before using functions of the feof(3)
           family.  Only when the function returned the sentinel value **EOF** it
           makes sense to distinguish between the end of a file or an error
           with feof(3) or ferror(3).
    


* * *
# function::uid

## NAME



           function::uid - Returns the user ID of a target process
    


## SYNOPSIS



               uid:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the user ID of the target process.
    


* * *
# gnutls_x509_privkey_init

## NAME



           gnutls_x509_privkey_init - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_privkey_init(gnutls_x509_privkey_t ***_key_**);**
    


## ARGUMENTS



           gnutls_x509_privkey_t * key
                       A pointer to the type to be initialized
    


## DESCRIPTION



           This function will initialize a private key type.
    


## RETURNS



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


* * *
# getwchar

## 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



           getwchar — get a wide character from a _stdin_ stream
    


## SYNOPSIS



           #include <wchar.h>
    
           wint_t getwchar(void);
    


## 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 _getwchar_() function shall be equivalent to _getwc_(_stdin_).
    


## RETURN VALUE



           Refer to fgetwc(3p).
    


## ERRORS



           Refer to fgetwc(3p).
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           If the **wint_t** value returned by _getwchar_() is stored into a
           variable of type **wchar_t** and then compared against the **wint_t**
           macro WEOF, the result may be incorrect. Only the **wint_t** type is
           guaranteed to be able to represent any wide character and WEOF.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# vfscanf

## 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



           vfscanf, vscanf, vsscanf — format input of a stdarg argument list
    


## SYNOPSIS



           #include <stdarg.h>
           #include <stdio.h>
    
           int vfscanf(FILE *restrict _stream_ , const char *restrict _format_ ,
               va_list _arg_);
           int vscanf(const char *restrict _format_ , va_list _arg_);
           int vsscanf(const char *restrict _s_ , const char *restrict _format_ ,
               va_list _arg_);
    


## 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 _vscanf_(), _vfscanf_(), and _vsscanf_() functions shall be
           equivalent to the _scanf_(), _fscanf_(), and _sscanf_() functions,
           respectively, except that instead of being called with a variable
           number of arguments, they are called with an argument list as
           defined in the _< stdarg.h>_ header. These functions shall not invoke
           the _va_end_ macro. As these functions invoke the _va_arg_ macro, the
           value of _ap_ after the return is unspecified.
    


## RETURN VALUE



           Refer to fscanf(3p).
    


## ERRORS



           Refer to fscanf(3p).
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           Applications using these functions should call _va_end_(_ap_)
           afterwards to clean up.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# atan

## NAME



           atan, atanf, atanl - arc tangent function
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <math.h>**
    
           **double atan(double** _x_**);**
           **float atanf(float** _x_**);**
           **long double atanl(long double** _x_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **atanf**(), **atanl**():
               _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
    


## DESCRIPTION



           These functions calculate the principal value of the arc tangent
           of _x_ ; that is the value whose tangent is _x_.
    


## RETURN VALUE



           On success, these functions return the principal value of the arc
           tangent of _x_ in radians; the return value is in the range
           [-pi/2, pi/2].
    
           If _x_ is a NaN, a NaN is returned.
    
           If _x_ is +0 (-0), +0 (-0) is returned.
    
           If _x_ is positive infinity (negative infinity), +pi/2 (-pi/2) is
           returned.
    


## ERRORS



           No errors occur.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


* * *
# function::s64_arg

## NAME



           function::s64_arg - Return function argument as signed 64-bit
           value
    


## SYNOPSIS



               s64_arg:long(n:long)
    


## ARGUMENTS



           _n_
               index of argument to return
    


## DESCRIPTION



           Return the signed 64-bit value of argument n, same as
           longlong_arg.
    


* * *
# ecvt_r

## NAME



           ecvt_r, fcvt_r, qecvt_r, qfcvt_r - convert a floating-point number
           to a string
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <stdlib.h>**
    
           **[[deprecated]] int ecvt_r(double** _number_**, int** _ndigits_**,**
                                     **int *restrict** _decpt_**, int *restrict** _sign_**,**
                                     **char *restrict** _buf_**, size_t** _size_**);**
           **[[deprecated]] int fcvt_r(double** _number_**, int** _ndigits_**,**
                                     **int *restrict** _decpt_**, int *restrict** _sign_**,**
                                     **char *restrict** _buf_**, size_t** _size_**);**
    
           **[[deprecated]] int qecvt_r(long double** _number_**, int** _ndigits_**,**
                                     **int *restrict** _decpt_**, int *restrict** _sign_**,**
                                     **char *restrict** _buf_**, size_t** _size_**);**
           **[[deprecated]] int qfcvt_r(long double** _number_**, int** _ndigits_**,**
                                     **int *restrict** _decpt_**, int *restrict** _sign_**,**
                                     **char *restrict** _buf_**, size_t** _size_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **ecvt_r**(), **fcvt_r**(), **qecvt_r**(), **qfcvt_r**():
               /* glibc >= 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
    


## DESCRIPTION



           The functions **ecvt_r**(), **fcvt_r**(), **qecvt_r**(), and **qfcvt_r**() are
           identical to ecvt(3), fcvt(3), qecvt(3), and qfcvt(3),
           respectively, except that they do not return their result in a
           static buffer, but instead use the supplied _buf_ of size _size_.  See
           ecvt(3) and qecvt(3).
    


## RETURN VALUE



           These functions return 0 on success, and -1 otherwise.
    


## ATTRIBUTES



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


## STANDARDS



           GNU.
    


## NOTES



           These functions are obsolete.  Instead, sprintf(3) is recommended.
    


* * *
# form_field_new

## NAME



           **new_field** , **dup_field** , **link_field** , **free_field** - create and destroy
           form fields
    


## SYNOPSIS



           **#include <form.h>**
    
           **FIELD *new_field(int** _height_**, int** _width_**,**
                            **int** _toprow_**, int** _leftcol_**,**
                            **int** _offscreen_**, int** _nbuffers_**);**
           **FIELD *dup_field(FIELD ***_field_**, int** _toprow_**, int** _leftcol_**);**
           **FIELD *link_field(FIELD ***_field_**, int** _toprow_**, int** _leftcol_**);**
           **int free_field(FIELD ***_field_**);**
    


## DESCRIPTION



           The function **new_field** allocates a new field and initializes it
           from the parameters given: height, width, row of upper-left
           corner, column of upper-left corner, number off-screen rows, and
           number of additional working buffers.
    
           The function **dup_field** duplicates a field at a new location.  Most
           attributes (including current contents, size, validation type,
           buffer count, growth threshold, justification, foreground,
           background, pad character, options, and user pointer) are copied.
           Field status and the field page bit are not copied.
    
           The function **link_field** acts like **dup_field** , but the new field
           shares buffers with its parent.  Attribute data is separate.
    
           The function **free_field** de-allocates storage associated with a
           field.
    


## RETURN VALUE



           The functions **new_field** , **dup_field** , **link_field** return **NULL** on
           error.  They set **errno** according to their success:
    
           **E_OK** The routine succeeded.
    
           **E_BAD_ARGUMENT**
                Routine detected an incorrect or out-of-range argument.
    
           **E_SYSTEM_ERROR**
                System error occurred, e.g., malloc failure.
    
           The function **free_field** returns one of the following:
    
           **E_OK** The routine succeeded.
    
           **E_BAD_ARGUMENT**
                Routine detected an incorrect or out-of-range argument.
    
           **E_CONNECTED**
                field is connected.
    


## NOTES



           The header file **< form.h> **automatically includes the header file
           **< curses.h>**.
    


## PORTABILITY



           These routines emulate the System V forms library.  They were not
           supported on Version 7 or BSD versions.
    
           It may be unwise to count on the set of attributes copied by
           **dup_field** being portable; the System V forms library documents are
           not very explicit about what gets copied and what does not.
    


* * *