tripathysagar/man_text huggingface dataset:
# pthread_mutexattr_getpshared

## NAME



           pthread_mutexattr_getpshared, pthread_mutexattr_setpshared -
           get/set process-shared mutex attribute
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <pthread.h>**
    
           **int pthread_mutexattr_getpshared(**
                                 **const pthread_mutexattr_t *restrict** _attr_**,**
                                 **int *restrict** _pshared_**);**
           **int pthread_mutexattr_setpshared(pthread_mutexattr_t ***_attr_**,**
                                 **int** _pshared_**);**
    


## DESCRIPTION



           These functions get and set the process-shared attribute in a
           mutex attributes object.  This attribute must be appropriately set
           to ensure correct, efficient operation of a mutex created using
           this attributes object.
    
           The process-shared attribute can have one of the following values:
    
           **PTHREAD_PROCESS_PRIVATE**
                  Mutexes created with this attributes object are to be
                  shared only among threads in the same process that
                  initialized the mutex.  This is the default value for the
                  process-shared mutex attribute.
    
           **PTHREAD_PROCESS_SHARED**
                  Mutexes created with this attributes object can be shared
                  between any threads that have access to the memory
                  containing the object, including threads in different
                  processes.
    
           **pthread_mutexattr_getpshared**() places the value of the process-
           shared attribute of the mutex attributes object referred to by
           _attr_ in the location pointed to by _pshared_.
    
           **pthread_mutexattr_setpshared**() sets the value of the process-
           shared attribute of the mutex attributes object referred to by
           _attr_ to the value specified in **pshared**.
    
           If _attr_ does not refer to an initialized mutex attributes object,
           the behavior is undefined.
    


## RETURN VALUE



           On success, these functions return 0.  On error, they return a
           positive error number.
    


## ERRORS



           **pthread_mutexattr_setpshared**() can fail with the following errors:
    
           **EINVAL** The value specified in _pshared_ is invalid.
    
           **ENOTSUP**
                  _pshared is_ **PTHREAD_PROCESS_SHARED** but the implementation
                  does not support process-shared mutexes.
    


## STANDARDS



           POSIX.1-2008.
    


* * *
# uuid_parse

## NAME



           uuid_parse - convert an input UUID string into binary
           representation
    


## SYNOPSIS



           **#include <uuid.h>**
    
           **int uuid_parse(const char ***_in_**, uuid_t** _uu_**);**
           **int uuid_parse_range(const char ***_in_start_**, const char ***_in_end_**,**
           **uuid_t** _uu_**);**
    


## DESCRIPTION



           The **uuid_parse**() function converts the UUID string given by _in_
           into the binary representation. The input UUID is a string of the
           form 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb (in printf(3) format
           "%08x-%04x-%04x-%04x-%012x", 36 bytes plus the trailing '\0').
    
           The **uuid_parse_range**() function works like **uuid_parse**() but parses
           only range in string specified by _in_start_ and _in_end_ pointers.
    


## RETURN VALUE



           Upon successfully parsing the input string, 0 is returned, and the
           UUID is stored in the location pointed to by _uu_ , otherwise -1 is
           returned.
    


## CONFORMING TO



           This library parses UUIDs compatible with OSF DCE 1.1, and hash
           based UUIDs V3 and V5 compatible with RFC-4122
           <https://tools.ietf.org/html/rfc4122>.
    


## AVAILABILITY



           The **libuuid** library is part of the util-linux package since
           version 2.15.1. 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-08-09                  _UUID_PARSE_(3)
    


* * *
# is_selinux_enabled

## NAME



           is_selinux_enabled - check whether SELinux is enabled
    


## NAME



           is_selinux_mls_enabled - check whether SELinux is enabled for
           (Multi Level Security) MLS
    


## SYNOPSIS



           **#include <selinux/selinux.h>**
    
           **int is_selinux_enabled(void);**
    
           **int is_selinux_mls_enabled(void);**
    


## DESCRIPTION



           **is_selinux_enabled**() returns 1 if SELinux is running or 0 if it is
           not.
    
           **is_selinux_mls_enabled**() returns 1 if SELinux is capable of
           running in MLS mode or 0 if it is not. To determine the policy in
           use on the system, use selinux_getpolicytype(3).
    


* * *
# pmderivederrstr

## NAME



           **pmDerivedErrStr** - return error message from failure to parse
           derived metric definition
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **char *pmDerivedErrStr(void);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           When  pmRegisterDerived(3)  is  called to add a new derived metric
           definition and an error occurs, **pmDerivedErrStr** may be  called  to
           return the associated error message.
    
           The **pmRegisterDerivedMetric** interface provides a convenience wrap‐
           per around both **pmRegisterDerived** and **pmDerivedErrStr**.
    


* * *
# umad_register_oui

## NAME



           umad_register_oui - register the specified class in vendor range 2
           for port
    


## SYNOPSIS



           **#include <infiniband/umad.h>**
    
           **int umad_register_oui(int** _portid_**, int** _mgmt_class_**, uint8_t** _rmpp_version_**, uint8_t** _oui[3]_**, uint32_t** _method_mask[4]_**);**
    


## DESCRIPTION



           **umad_register_oui()** registers the specified class in vendor range
           2, the specified _oui_ , and whether RMPP is being used for the port
           specified by the _portid_ handle. If _method_mask_ array is provided,
           the caller is registered as a replier (server) for the methods
           having their corresponding bit on in the _method_mask_.  If
           _method_mask_ is NULL, the caller is registered as a MAD client,
           meaning that it can only receive replies on MADs that it sent
           (solicited MADs).
    


## RETURN VALUE



           **umad_register()** returns non-negative agent id number on success,
           and a negative value on error as follows:
            -EINVAL invalid port handle or class is not in the vendor class 2
           range
            -EPERM  registration failed
    


* * *
# tapset::panic

## NAME



           tapset::panic - systemtap panic tapset
    


## DESCRIPTION



            Functions in the panic tapset allow a probe handler to invoke
            the system panic routine with a user-specified message.
    
            This may be used with a crash dump collection facility such as
            kexec/kdump in order to capture data for post-mortem debugging.
    
            Due to the fact that this will bring the system to an immediate
            halt the functions in this tapset require guru mode.
    
           **panic** trigger a panic
    
                  See function::panic(3stap)
                   for details.
    


* * *
# gnutls_pkcs11_obj_get_type

## NAME



           gnutls_pkcs11_obj_get_type - API function
    


## SYNOPSIS



           **#include <gnutls/pkcs11.h>**
    
           **gnutls_pkcs11_obj_type_t**
           **gnutls_pkcs11_obj_get_type(gnutls_pkcs11_obj_t** _obj_**);**
    


## ARGUMENTS



           gnutls_pkcs11_obj_t obj
                       Holds the PKCS 11 object
    


## DESCRIPTION



           This function will return the type of the object being stored in
           the structure.
    


## RETURNS



           The type of the object
    


## SINCE



           2.12.0
    


* * *
# acl_copy_ext

## NAME



           **acl_copy_ext** — copy an ACL from internal to external
           representation
    


## LIBRARY



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


## SYNOPSIS



           <_sys/types.h_ > <_sys/acl.h_ > _ssize_t_ **acl_copy_ext**(_void *buf_p_ , _acl_t_
           _acl_ , _ssize_t size_)
    


## DESCRIPTION



           The **acl_copy_ext**() function copies the ACL pointed to by _acl_ from
           system-managed space to the user managed space pointed to by
           _buf_p_.  The _size_ parameter represents the size in bytes of the
           buffer pointed to by _buf_p_.  The format of the ACL placed in the
           buffer pointed to by _buf_p_ is a contiguous, persistent data item,
           the format of which is unspecified.  It is the responsibility of
           the invoker to allocate an area large enough to hold the copied
           ACL. The size of the exportable, contiguous, persistent form of
           the ACL may be obtained by invoking the **acl_size**() function.
    
           Any ACL entry descriptors that refer to an entry in the ACL
           referenced by _acl_ continue to refer to those entries. Any existing
           ACL pointers that refer to the ACL referenced by _acl_ continue to
           refer to the ACL.
    


## RETURN VALUE



           Upon success, this function returns the number of bytes placed in
           the buffer pointed to by _buf_p_.  On error, a value of **(ssize_t)-1**
           is returned and _errno_ is set appropriately.
    


## ERRORS



           If any of the following conditions occur, the **acl_copy_ext**()
           function returns a value of **(ssize_t)-1** and sets _errno_ to the
           corresponding value:
    
           [EINVAL]           The _size_ parameter is zero or negative.
    
                              The argument _acl_ is not a valid pointer to an
                              ACL.
    
                              The ACL referenced by _acl_ contains one or more
                              improperly formed ACL entries, or for some
                              other reason cannot be translated into the
                              external form of an ACL.
    
           [ERANGE]           The _size_ parameter is greater than zero but
                              smaller than the length of the contiguous,
                              persistent form of the ACL.
    


## STANDARDS



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


* * *
# gnutls_decode_rs_value

## NAME



           gnutls_decode_rs_value - API function
    


## SYNOPSIS



           **#include <gnutls/crypto.h>**
    
           **int gnutls_decode_rs_value(const gnutls_datum_t ***_sig_value_**,**
           **gnutls_datum_t ***_r_**, gnutls_datum_t ***_s_**);**
    


## ARGUMENTS



           const gnutls_datum_t * sig_value
                       holds a Dss-Sig-Value DER or BER encoded structure
    
           gnutls_datum_t * r
                       will contain the r value
    
           gnutls_datum_t * s
                       will contain the s value
    


## DESCRIPTION



           This function will decode the provided  _sig_value_ , into  _r_ and  _s_
           elements. The Dss-Sig-Value is used for DSA and ECDSA signatures.
    
           The output values may be padded with a zero byte to prevent them
           from being interpreted as negative values. The value should be
           deallocated using **gnutls_free()**.
    


## RETURNS



           On success, **GNUTLS_E_SUCCESS**(0) is returned, otherwise an error
           code is returned.
    


## SINCE



           3.6.0
    


* * *
# gnutls_aead_cipher_encrypt

## NAME



           gnutls_aead_cipher_encrypt - API function
    


## SYNOPSIS



           **#include <gnutls/crypto.h>**
    
           **int gnutls_aead_cipher_encrypt(gnutls_aead_cipher_hd_t** _handle_**,**
           **const void ***_nonce_**, size_t** _nonce_len_**, const void ***_auth_**, size_t**
           _auth_len_**, size_t** _tag_size_**, const void ***_ptext_**, size_t** _ptext_len_**,**
           **void ***_ctext_**, size_t ***_ctext_len_**);**
    


## ARGUMENTS



           gnutls_aead_cipher_hd_t handle
                       is a **gnutls_aead_cipher_hd_t** type.
    
           const void * nonce
                       the nonce to set
    
           size_t nonce_len
                       The length of the nonce
    
           const void * auth
                       additional data to be authenticated
    
           size_t auth_len
                       The length of the data
    
           size_t tag_size
                       The size of the tag to use (use zero for the default)
    
           const void * ptext
                       the data to encrypt
    
           size_t ptext_len
                       The length of data to encrypt
    
           void * ctext
                       the encrypted data including authentication tag
    
           size_t * ctext_len
                       the length of encrypted data (initially must hold the
                       maximum available size, including space for tag)
    


## DESCRIPTION



           This function will encrypt the given data using the algorithm
           specified by the context. The output data will contain the
           authentication tag.
    


## RETURNS



           Zero or a negative error code on error.
    


## SINCE



           3.4.0
    


* * *
# cabs

## NAME



           cabs, cabsf, cabsl - absolute value of a complex number
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <complex.h>**
    
           **double cabs(double complex** _z_**);**
           **float cabsf(float complex** _z_**);**
           **long double cabsl(long double complex** _z_**);**
    


## DESCRIPTION



           These functions return the absolute value of the complex number _z_.
           The result is a real number.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


## NOTES



           The function is actually an alias for _hypot(a, b)_ (or,
           equivalently, _sqrt(a*a + b*b)_).
    


* * *
# pmtrimnamespace

## NAME



           **pmTrimNameSpace** - prune a performance metrics name space
    


## C SYNOPSIS



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


## DESCRIPTION



           In  some  (rare) cases it is helpful to prune the Performance Met‐
           rics Name Space (PMNS) to match the available metrics.
    
           The default PMNS that is accessible to a Performance  Metrics  Ap‐
           plication  Programming Interface (PMAPI) client is provided by the
           current PMAPI context:
    
           •  for a PMAPI context of type **PM_CONTEXT_HOST** the PMNS is provid‐
              ed by pmcd(1) on the associated host and no pruning is required
    
           •  for a PMAPI context of type **PM_CONTEXT_ARCHIVE** the PMNS is
              stored within the associated Performance Co-Pilot (PCP) archive
              and no pruning is required
    
           •  for a PMAPI context of type **PM_CONTEXT_LOCAL** at the first PMAPI
              call requiring access to the PMNS it is loaded from the default
              local location **$PCP_VAR_DIR/pmns/root**(or **$PMNS_DEFAULT**) and no
              pruning is required.
    
           If the default PMNS is in effect then calling **pmTrimNameSpace** is a
           no-op and returns zero with no change to the PMNS.
    
           PMAPI clients also have the option of over-riding the default PMNS
           by loading a _local_ PMNS from a file (see PMNS(5) for the format)
           by calling pmLoadASCIINameSpace(3) or pmLoadNameSpace(3) and this
           is when some PMNS pruning _may_ be useful.
    
           If a _local_ PMNS is in effect when **pmTrimNameSpace** is called then
           the first action is to restore the PMNS to the state as of the
           completion of the last pmLoadASCIINameSpace(3) or
           pmLoadNameSpace(3), so that the effects of consecutive calls to
           **pmTrimNameSpace** are **not** additive.
    
           The subsequent actions of **pmTrimNameSpace** depend on the type of
           the current PMAPI context.
    
           •  For a context of type **PM_CONTEXT_ARCHIVE** the _local_ PMNS is
              trimmed to exclude metrics for which no description can be
              found in the PCP archive.  The PMNS is further trimmed to re‐
              move empty subtrees that do not contain any performance metric.
              Since PCP archives usually contain some subset of all metrics
              named in a PMNS, **pmTrimNameSpace** effectively prunes the appli‐
              cation's PMNS to contain only the names of the metrics in the
              archive.
    
           •  For a context of type **PM_CONTEXT_HOST** or **PM_CONTEXT_LOCAL** no
              further action is required.
    
           On success, **pmTrimNameSpace** returns zero.
    


## DIAGNOSTICS



           **PM_ERR_NOPMNS**
                  there has been some earlier problem with establishing the
                  relevant PMNS
    
           **PM_ERR_NOCONTEXT**
                  the current PMAPI context is invalid
    


* * *
# function::task_prio

## NAME



           function::task_prio - The priority value of the task
    


## SYNOPSIS



               task_prio:long(task:long)
    


## ARGUMENTS



           _task_
               task_struct pointer
    


## DESCRIPTION



           This function returns the priority value of the given task.
    


* * *
# setservent

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



           setservent — network services database functions
    


## SYNOPSIS



           #include <netdb.h>
    
           void setservent(int _stayopen_);
    


## DESCRIPTION



           Refer to endservent(3p).
    


* * *
# sd_machine_get_class

## NAME



           sd_machine_get_class, sd_machine_get_ifindices - Determine the
           class and network interface indices of a locally running virtual
           machine or container
    


## SYNOPSIS



           **#include <systemd/sd-login.h>**
    
           **int sd_machine_get_class(const char***_machine_**, char ****_class_**);**
    
           **int sd_machine_get_ifindices(const char***_machine_**,**
                                        **int ****_ret_ifindices_**);**
    


## DESCRIPTION



           **sd_machine_get_class()** may be used to determine the class of a
           locally running virtual machine or container that is registered
           with systemd-machined.service(8). The string returned is either
           "vm" or "container". The returned string needs to be freed with
           the libc free(3) call after use.
    
           **sd_machine_get_ifindices()** may be used to determine the numeric
           indices of the network interfaces on the host that are pointing
           towards the specified locally running virtual machine or
           container. The vm or container must be registered with
           systemd-machined.service(8). The output parameter _ret_ifindices_
           may be passed as **NULL** when the output value is not needed. The
           returned array needs to be freed with the libc free(3) call after
           use.
    


## RETURN VALUE



           On success, these functions return a non-negative integer.
           **sd_machine_get_ifindices()** returns the number of the relevant
           network interfaces. On failure, these calls return a negative
           errno-style error code.
    
       **Errors**
           Returned errors may indicate the following problems:
    
           **-ENXIO**
               The specified machine does not exist or is currently not
               running.
    
           **-EINVAL**
               An input parameter was invalid (out of range, or **NULL** , where
               that is not accepted).
    
           **-ENOMEM**
               Memory allocation failed.
    


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


* * *
# probe::tcpmib.PassiveOpens

## NAME



           probe::tcpmib.PassiveOpens - Count the passive creation of a
           socket
    


## SYNOPSIS



           tcpmib.PassiveOpens
    


## VALUES



           _sk_
               pointer to the struct sock being acted on
    
           _op_
               value to be added to the counter (default value of 1)
    


## DESCRIPTION



           The packet pointed to by _skb_ is filtered by the function
           **tcpmib_filter_key**. If the packet passes the filter is is counted
           in the global _PassiveOpens_ (equivalent to SNMP's MIB
           TCP_MIB_PASSIVEOPENS)
    


* * *
# libpfm_arm_neoverse_v2

## NAME



           libpfm_arm_neoverse_v2 - support for Arm Neoverse V2 core PMU
    


## SYNOPSIS



           **#include <perfmon/pfmlib.h>**
    
           **PMU name: arm_v2**
           **PMU desc: Arm Neoverse V2**
    


## DESCRIPTION



           The library supports the Arm Neoverse V2 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 Neoverse V2:
    
           **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.
    


* * *
# gamma

## NAME



           gamma, gammaf, gammal - (logarithm of the) gamma function
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



           **#include <math.h>**
    
           **[[deprecated]] double gamma(double** _x_**);**
           **[[deprecated]] float gammaf(float** _x_**);**
           **[[deprecated]] long double gammal(long double** _x_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **gamma**():
               _XOPEN_SOURCE
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
    
           **gammaf**(), **gammal**():
               _XOPEN_SOURCE >= 600 || (_XOPEN_SOURCE && _ISOC99_SOURCE)
                   || /* Since glibc 2.19: */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
    


## DESCRIPTION



           These functions are deprecated: instead, use either the tgamma(3)
           or the lgamma(3) functions, as appropriate.
    
           For the definition of the Gamma function, see tgamma(3).
    
       ***BSD version**
           The libm in 4.4BSD and some versions of FreeBSD had a **gamma**()
           function that computes the Gamma function, as one would expect.
    
       **glibc version**
           glibc has a **gamma**() function that is equivalent to lgamma(3) and
           computes the natural logarithm of the Gamma function.
    


## RETURN VALUE



           See lgamma(3).
    


## ERRORS



           See lgamma(3).
    


## ATTRIBUTES



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


## STANDARDS



           None.
    


* * *
# gnutls_privkey_import_x509

## NAME



           gnutls_privkey_import_x509 - API function
    


## SYNOPSIS



           **#include <gnutls/abstract.h>**
    
           **int gnutls_privkey_import_x509(gnutls_privkey_t** _pkey_**,**
           **gnutls_x509_privkey_t** _key_**, unsigned int** _flags_**);**
    


## ARGUMENTS



           gnutls_privkey_t pkey
                       The private key
    
           gnutls_x509_privkey_t key
                       The private key to be imported
    
           unsigned int flags
                       Flags for the import
    


## DESCRIPTION



           This function will import the given private key to the abstract
           **gnutls_privkey_t** type.
    
           The **gnutls_x509_privkey_t** object must not be deallocated during
           the lifetime of this structure.
    
            _flags_ might be zero or one of **GNUTLS_PRIVKEY_IMPORT_AUTO_RELEASE**
           and **GNUTLS_PRIVKEY_IMPORT_COPY**.
    


## RETURNS



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


## SINCE



           2.12.0
    


* * *
# pcre2_callout_enumerate

## NAME



           PCRE2 - Perl-compatible regular expressions (revised API)
    


## SYNOPSIS



    
           **#include <pcre2.h>**
    
           **int pcre2_callout_enumerate(const pcre2_code ***_code_**,**
             **int (***_callback_**)(pcre2_callout_enumerate_block *, void *),**
             **void ***_callout_data_**);**
    


## DESCRIPTION



    
           This function scans a compiled regular expression and calls the
           _callback()_ function for each callout within the pattern. The yield
           of the function is zero for success and non-zero otherwise. The
           arguments are:
    
             _code_           Points to the compiled pattern
             _callback_       The callback function
             _callout_data_   User data that is passed to the callback
    
           The _callback()_ function is passed a pointer to a data block
           containing the following fields (not necessarily in this order):
    
             uint32_t   _version_                Block version number
             uint32_t   _callout_number_         Number for numbered callouts
             PCRE2_SIZE _pattern_position_       Offset to next item in pattern
             PCRE2_SIZE _next_item_length_       Length of next item in pattern
             PCRE2_SIZE _callout_string_offset_  Offset to string within
           pattern
             PCRE2_SIZE _callout_string_length_  Length of callout string
             PCRE2_SPTR _callout_string_         Points to callout string or is
           NULL
    
           The second argument passed to the **callback()** function is the
           callout data that was passed to **pcre2_callout_enumerate()**. The
           **callback()** function must return zero for success. Any other value
           causes the pattern scan to stop, with the value being passed back
           as the result of **pcre2_callout_enumerate()**.
    
           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.
    


* * *
# sctp_getladdrs

## NAME



           sctp_getladdrs - Returns all locally bound addresses on a socket.
    


## SYNOPSIS



           **#include <sys/types.h>**
           **#include <sys/socket.h>**
           **#include <netinet/sctp.h>**
    
           **int sctp_getladdrs(int** _sd_**, sctp_assoc_t** _assoc_id_**,**
                              **struct sockaddr ****_addrs_**);**
    
           **void sctp_freeladdrs(struct sockaddr ***_addrs_**);**
    


## DESCRIPTION



           **sctp_getladdrs** returns all locally bound addresses on a socket. On
           return, _addrs_ will point to a dynamically allocated packed array
           of **sockaddr** structures of the appropriate type for each local
           address. The caller should use **sctp_freeladdrs** to free the memory.
           Note that the in/out parameter _addrs_ must not be NULL.
    
           If _sd_ is an IPv4 socket, the addresses returned will be all IPv4
           addresses. If _sd_ is an IPv6 socket, the addresses returned can be
           a mix of IPv4 or IPv6 addresses.
    
           For one-to-many style sockets, _id_ specifies the association to
           query. For one-to-one style sockets, _id_ is ignored.
    
           If the _id_ field is set to 0, then the locally bound addresses are
           returned without regard to any particular association.
    
           **sctp_freeladdrs** frees all the resources allocated by
           **sctp_getladdrs**
    


## RETURN VALUE



           On success, **sctp_getladdrs** returns the number of local addresses
           bound to the socket. If the socket is unbound, 0 is returned and
           the value of _*addrs_ is undefined. On error, **sctp_getladdrs** returns
           -1 and the value of _*addrs_ is undefined.
    


* * *
# gnutls_crypto_register_aead_cipher

## NAME



           gnutls_crypto_register_aead_cipher - API function
    


## SYNOPSIS



           **#include <gnutls/crypto.h>**
    
           **int gnutls_crypto_register_aead_cipher(gnutls_cipher_algorithm_t**
           _algorithm_**, int** _priority_**, gnutls_cipher_init_func** _init_**,**
           **gnutls_cipher_setkey_func** _setkey_**, gnutls_cipher_aead_encrypt_func**
           _aead_encrypt_**, gnutls_cipher_aead_decrypt_func** _aead_decrypt_**,**
           **gnutls_cipher_deinit_func** _deinit_**);**
    


## ARGUMENTS



           gnutls_cipher_algorithm_t algorithm
                       is the gnutls AEAD cipher identifier
    
           int priority
                       is the priority of the algorithm
    
           gnutls_cipher_init_func init
                       A function which initializes the cipher
    
           gnutls_cipher_setkey_func setkey
                       A function which sets the key of the cipher
    
           gnutls_cipher_aead_encrypt_func aead_encrypt
                       Perform the AEAD encryption
    
           gnutls_cipher_aead_decrypt_func aead_decrypt
                       Perform the AEAD decryption
    
           gnutls_cipher_deinit_func deinit
                       A function which deinitializes the cipher
    


## DESCRIPTION



           This function will register a cipher algorithm to be used by
           gnutls.  Any algorithm registered will override the included
           algorithms and by convention kernel implemented algorithms have
           priority of 90 and CPU-assisted of 80.  The algorithm with the
           lowest priority will be used by gnutls.
    
           In the case the registered init or setkey functions return
           **GNUTLS_E_NEED_FALLBACK** , GnuTLS will attempt to use the next in
           priority registered cipher.
    
           The functions registered will be used with the new AEAD API
           introduced in GnuTLS 3.4.0. Internally GnuTLS uses the new AEAD
           API.
    


## DEPRECATED



           since 3.7.0 it is no longer possible to override cipher
           implementation
    


## RETURNS



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


## SINCE



           3.4.0
    


* * *
# pthread_condattr_getclock

## 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_condattr_getclock, pthread_condattr_setclock — get and set
           the clock selection condition variable attribute
    


## SYNOPSIS



           #include <pthread.h>
    
           int pthread_condattr_getclock(const pthread_condattr_t *restrict _attr_ ,
               clockid_t *restrict _clock_id_);
           int pthread_condattr_setclock(pthread_condattr_t *_attr_ ,
               clockid_t _clock_id_);
    


## DESCRIPTION



           The _pthread_condattr_getclock_() function shall obtain the value of
           the _clock_ attribute from the attributes object referenced by _attr_.
    
           The _pthread_condattr_setclock_() function shall set the _clock_
           attribute in an initialized attributes object referenced by _attr_.
           If _pthread_condattr_setclock_() is called with a _clock_id_ argument
           that refers to a CPU-time clock, the call shall fail.
    
           The _clock_ attribute is the clock ID of the clock that shall be
           used to measure the timeout service of _pthread_cond_timedwait_().
           The default value of the _clock_ attribute shall refer to the system
           clock.
    
           The behavior is undefined if the value specified by the _attr_
           argument to _pthread_condattr_getclock_() or
           _pthread_condattr_setclock_() does not refer to an initialized
           condition variable attributes object.
    


## RETURN VALUE



           If successful, the _pthread_condattr_getclock_() function shall
           return zero and store the value of the clock attribute of _attr_
           into the object referenced by the _clock_id_ argument. Otherwise, an
           error number shall be returned to indicate the error.
    
           If successful, the _pthread_condattr_setclock_() function shall
           return zero; otherwise, an error number shall be returned to
           indicate the error.
    


## ERRORS



           The _pthread_condattr_setclock_() function may fail if:
    
           **EINVAL** The value specified by _clock_id_ does not refer to a known
                  clock, or is a CPU-time clock.
    
           These functions shall not return an error code of **[EINTR]**.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           If an implementation detects that the value specified by the _attr_
           argument to _pthread_condattr_getclock_() or
           _pthread_condattr_setclock_() does not refer to an initialized
           condition variable attributes object, it is recommended that the
           function should fail and report an **[EINVAL]** error.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# function::target

## NAME



           function::target - Return the process ID of the target process
    


## SYNOPSIS



               target:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the process ID of the target process. This
           is useful in conjunction with the -x PID or -c CMD command-line
           options to stap. An example of its use is to create scripts that
           filter on a specific process.
    
           -x <pid> **target** returns the pid specified by -x
    
           -c <command> **target** returns the pid for the executed command
           specified by -c
    


* * *
# ibv_create_rwq_ind_table

## NAME



           ibv_create_rwq_ind_table, ibv_destroy_rwq_ind_table  - create or
           destroy a Receive Work Queue Indirection Table (RWQ IND TBL).
    


## SYNOPSIS



           **#include <infiniband/verbs.h>**
    
           **struct ibv_rwq_ind_table *ibv_create_rwq_ind_table(struct ibv_context** _*context,_
                                                                      **struct ibv_rwq_ind_table_init_attr** _*init_attr_**);**
    
           **int ibv_destroy_rwq_ind_table(struct ibv_rwq_ind_table** _*rwq_ind_table_**);**
    


## DESCRIPTION



           **ibv_create_rwq_ind_table()** creates a RWQ IND TBL associated with
           the ibv_context _context_.  The argument _init_attr_ is an
           ibv_rwq_ind_table_init_attr struct, as defined in
           <infiniband/verbs.h>.
    
           struct ibv_rwq_ind_table_init_attr {
                   uint32_t        log_ind_tbl_size;     /* Log, base 2, of Indirection table size */
                   struct          ibv_wq **ind_tbl;     /* Each entry is a pointer to Receive Work Queue */
                   uint32_t        comp_mask;            /* Identifies valid fields. Use ibv_ind_table_init_attr_mask */
           };
    
           The function **ibv_create_rwq_ind_table()** will create a RWQ IND TBL
           that holds a table of Receive Work Queue.  For further usage of
           the created object see below _NOTES_.
    
           **ibv_destroy_rwq_ind_table()** destroys the RWQ IND TBL
           _rwq_ind_table_.
    


## RETURN VALUE



           **ibv_create_rwq_ind_table()** returns a pointer to the created RWQ
           IND TBL, or NULL if the request fails.
    
           **ibv_destroy_rwq_ind_table()** returns 0 on success, or the value of
           errno on failure (which indicates the failure reason).
    


## NOTES



           The created object should be used as part of _ibv_create_qp_ex()_ to
           enable dispatching of incoming packets based on some RX hash
           configuration.
    


* * *
# pthread_mutexattr_setkind_np

## NAME



           pthread_mutexattr_setkind_np, pthread_mutexattr_getkind_np -
           deprecated mutex creation attributes
    


## SYNOPSIS



           **#include <pthread.h>**
    
           **int pthread_mutexattr_setkind_np(pthread_mutexattr_t ***_attr_**, int** _kind_**);**
           **int pthread_mutexattr_getkind_np(const pthread_mutexattr_t ***_attr_**,**
                                            **int ***_kind_**);**
    


## DESCRIPTION



           These functions are deprecated, use pthread_mutexattr_settype(3)
           and pthread_mutexattr_gettype(3) instead.
    


## RETURN VALUE



           **pthread_mutexattr_getkind_np**() always returns 0.
    
           **pthread_mutexattr_setkind_np**() returns 0 on success and a non-zero
           error code on error.
    


## ERRORS



           On error, **pthread_mutexattr_setkind_np**() returns the following
           error code:
    
           **EINVAL** _kind_ is neither **PTHREAD_MUTEX_FAST_NP** nor
                  **PTHREAD_MUTEX_RECURSIVE_NP** nor **PTHREAD_MUTEX_ERRORCHECK_NP**.
    


* * *
# tapset::random

## NAME



           tapset::random - systemtap random tapset
    


## DESCRIPTION



           **randint**
                  Return a random number between [0,n)
    
                  See function::randint(3stap)
                   for details.
    


* * *
# probe::signal.do_action.return

## NAME



           probe::signal.do_action.return - Examining or changing a signal
           action completed
    


## SYNOPSIS



           signal.do_action.return
    


## VALUES



           _retstr_
               Return value as a string
    
           _name_
               Name of the probe point
    


* * *
# sem_init

## NAME



           sem_init - initialize an unnamed semaphore
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <semaphore.h>**
    
           **int sem_init(sem_t ***_sem_**, int** _pshared_**, unsigned int** _value_**);**
    


## DESCRIPTION



           **sem_init**() initializes the unnamed semaphore at the address
           pointed to by _sem_.  The _value_ argument specifies the initial value
           for the semaphore.
    
           The _pshared_ argument indicates whether this semaphore is to be
           shared between the threads of a process, or between processes.
    
           If _pshared_ has the value 0, then the semaphore is shared between
           the threads of a process, and should be located at some address
           that is visible to all threads (e.g., a global variable, or a
           variable allocated dynamically on the heap).
    
           If _pshared_ is nonzero, then the semaphore is shared between
           processes, and should be located in a region of shared memory (see
           shm_open(3), mmap(2), and shmget(2)).  (Since a child created by
           fork(2) inherits its parent's memory mappings, it can also access
           the semaphore.)  Any process that can access the shared memory
           region can operate on the semaphore using sem_post(3),
           sem_wait(3), and so on.
    
           Initializing a semaphore that has already been initialized results
           in undefined behavior.
    


## RETURN VALUE



           **sem_init**() returns 0 on success; on error, -1 is returned, and
           _errno_ is set to indicate the error.
    


## ERRORS



           **EINVAL** _value_ exceeds **SEM_VALUE_MAX**.
    
           **ENOSYS** _pshared_ is nonzero, but the system does not support
                  process-shared semaphores (see sem_overview(7)).
    


## ATTRIBUTES



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


## STANDARDS



           POSIX.1-2008.
    


## EXAMPLES



           See shm_open(3) and sem_wait(3).
    


* * *
# curs_insstr

## NAME



           **insstr** , **insnstr** , **winsstr** , **winsnstr** , **mvinsstr** , **mvinsnstr** ,
           **mvwinsstr** , **mvwinsnstr** - insert string before cursor in a **curses**
           window
    


## SYNOPSIS



           **#include <curses.h>**
           **int insstr(const char ***_str_**);**
           **int insnstr(const char ***_str_**, int** _n_**);**
           **int winsstr(WINDOW ***_win_**, const char ***_str_**);**
           **int winsnstr(WINDOW ***_win_**, const char ***_str_**, int** _n_**);**
    
           **int mvinsstr(int** _y_**, int** _x_**, const char ***_str_**);**
           **int mvinsnstr(int** _y_**, int** _x_**, const char ***_str_**, int** _n_**);**
           **int mvwinsstr(WINDOW ***_win_**, int** _y_**, int** _x_**, const char ***_str_**);**
           **int mvwinsnstr(WINDOW ***_win_**, int** _y_**, int** _x_**, const char ***_str_**, int** _n_**);**
    


## DESCRIPTION



           These routines insert a character string (as many characters as
           will fit on the line) before the character under the cursor.  All
           characters to the right of the cursor are shifted right with the
           possibility of the rightmost characters on the line being lost.
           The cursor position does not change (after moving to _y_ , _x_ , if
           specified).  The functions with _n_ as the last argument insert a
           leading substring of at most _n_ characters.  If _n_ <=0, then the
           entire string is inserted.
    
           Special characters are handled as in **addch**.
    


## RETURN VALUE



           All routines that return an integer return **ERR** upon failure and **OK**
           (SVr4 specifies only "an integer value other than **ERR** ") upon
           successful completion, unless otherwise noted in the preceding
           routine descriptions.
    
           X/Open defines no error conditions.  In this implementation, if
           the window parameter is null or the str parameter is null, an
           error is returned.
    
           Functions with a “mv” prefix first perform a cursor movement using
           **wmove** , and return an error if the position is outside the window,
           or if the window pointer is null.
    


## NOTES



           Note that all but **winsnstr** may be macros.
    


## PORTABILITY



           These functions are described in the XSI Curses standard, Issue 4,
           which adds const qualifiers to the arguments.
    
           The Single Unix Specification, Version 2 states that **insnstr** and
           **winsnstr** perform wrapping.  This is probably an error, since it
           makes this group of functions inconsistent.  Also, no
           implementation of curses documents this inconsistency.
    


* * *
# gnutls_transport_set_int2

## NAME



           gnutls_transport_set_int2 - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **void gnutls_transport_set_int2(gnutls_session_t** _session_**, int**
           _recv_fd_**, int** _send_fd_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           int recv_fd is socket descriptor for the pull function
    
           int send_fd is socket descriptor for the push function
    


## DESCRIPTION



           This function sets the first argument of the transport functions,
           such as **send()** and **recv()** for the default callbacks using the
           system's socket API. With this function you can set two different
           descriptors for receiving and sending.
    
           This function is equivalent to calling **gnutls_transport_set_ptr2()**
           with the descriptors, but requires no casts.
    


## SINCE



           3.1.9
    


* * *