tripathysagar/man_text huggingface dataset:
# gnutls_x509_crt_sign

## NAME



           gnutls_x509_crt_sign - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crt_sign(gnutls_x509_crt_t** _crt_**, gnutls_x509_crt_t**
           _issuer_**, gnutls_x509_privkey_t** _issuer_key_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t crt
                       a certificate of type **gnutls_x509_crt_t**
    
           gnutls_x509_crt_t issuer
                       is the certificate of the certificate issuer
    
           gnutls_x509_privkey_t issuer_key
                       holds the issuer's private key
    


## DESCRIPTION



           This function is the same a **gnutls_x509_crt_sign2()** with no flags,
           and an appropriate hash algorithm. The hash algorithm used may
           vary between versions of GnuTLS, and it is tied to the security
           level of the issuer's public key.
    


## RETURNS



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


* * *
# ldap_sort

## NAME



           ldap_sort_entries, ldap_sort_values, ldap_sort_strcasecmp - LDAP
           sorting routines (deprecated)
    


## LIBRARY



           OpenLDAP LDAP (libldap, -lldap)
    


## DESCRIPTION



           The **ldap_sort_entries**(), **ldap_sort_values**(), and
           **ldap_sort_strcasecmp**() are deprecated.
    
           Deprecated interfaces generally remain in the library.  The macro
           LDAP_DEPRECATED can be defined to a non-zero value (e.g.,
           -DLDAP_DEPRECATED=1) when compiling program designed to use
           deprecated interfaces.  It is recommended that developers writing
           new programs, or updating old programs, avoid use of deprecated
           interfaces.  Over time, it is expected that documentation (and,
           eventually, support) for deprecated interfaces to be eliminated.
    


## ACKNOWLEDGEMENTS



           **OpenLDAP Software** is developed and maintained by The OpenLDAP
           Project <http://www.openldap.org/>.  **OpenLDAP Software** is derived
           from the University of Michigan LDAP 3.3 Release.
    


* * *
# function::is_myproc

## NAME



           function::is_myproc - Determines if the current probe point has
           occurred in the user's own process
    


## SYNOPSIS



               is_myproc:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns 1 if the current probe point has occurred in
           the user's own process.
    


* * *
# pthread_attr_setschedpolicy

## 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_attr_setschedpolicy — set the schedpolicy attribute
           (**REALTIME THREADS**)
    


## SYNOPSIS



           #include <pthread.h>
    
           int pthread_attr_setschedpolicy(pthread_attr_t *_attr_ , int _policy_);
    


## DESCRIPTION



           Refer to pthread_attr_getschedpolicy(3p).
    


* * *
# gnutls_x509_key_purpose_set

## NAME



           gnutls_x509_key_purpose_set - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **int gnutls_x509_key_purpose_set(gnutls_x509_key_purposes_t** _p_**,**
           **const char ***_oid_**);**
    


## ARGUMENTS



           gnutls_x509_key_purposes_t p
                       The key purposes
    
           const char * oid
                       The object identifier of the key purpose
    


## DESCRIPTION



           This function will store the specified key purpose in the
           purposes.
    


## RETURNS



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


## SINCE



           3.3.0
    


* * *
# gnutls_ocsp_resp_export

## NAME



           gnutls_ocsp_resp_export - API function
    


## SYNOPSIS



           **#include <gnutls/ocsp.h>**
    
           **int gnutls_ocsp_resp_export(gnutls_ocsp_resp_const_t** _resp_**,**
           **gnutls_datum_t ***_data_**);**
    


## ARGUMENTS



           gnutls_ocsp_resp_const_t resp
                       Holds the OCSP response
    
           gnutls_datum_t * data
                       newly allocate buffer holding DER encoded OCSP
                       response
    


## DESCRIPTION



           This function will export the OCSP response to DER format.
    


## RETURNS



           In case of failure a negative error code will be returned, and 0
           on success.
    


* * *
# selinux_restorecon_set_sehandle

## NAME



           selinux_restorecon_set_sehandle - set a labeling handle for use by
           selinux_restorecon(3)
    


## SYNOPSIS



           **#include <selinux/restorecon.h>**
           **#include <selinux/label.h>**
    
           **void selinux_restorecon_set_sehandle(struct selabel_handle**
           *****_handle_**);**
    


## DESCRIPTION



           **selinux_restorecon_set_sehandle**() sets the _handle_ to be use by
           selinux_restorecon(3) when relabeling files.
    
           **selinux_restorecon_set_sehandle**() is generally used when
           customised selabel_open(3) parameters are required to perform
           relabeling operations with selinux_restorecon(3).
    


* * *
# curs_inch

## NAME



           **inch** , **winch** , **mvinch** , **mvwinch** - get a character and attributes from
           a **curses** window
    


## SYNOPSIS



           **#include <curses.h>**
    
           **chtype inch(void);**
           **chtype winch(WINDOW ***_win_**);**
    
           **chtype mvinch(int** _y_**, int** _x_**);**
           **chtype mvwinch(WINDOW ***_win_**, int** _y_**, int** _x_**);**
    


## DESCRIPTION



           These routines return the character, of type **chtype** , at the
           current position in the named window.  If any attributes are set
           for that position, their values are OR'ed into the value returned.
           Constants defined in **< curses.h> **can be used with the **& **(logical
           AND) operator to extract the character or attributes alone.
    
       **Attributes**
           The following bit-masks may be AND-ed with characters returned by
           **winch**.
           **A_CHARTEXT** Bit-mask to extract character
           **A_ATTRIBUTES** Bit-mask to extract attributes
           **A_COLOR** Bit-mask to extract color-pair field information
    


## RETURN VALUE



           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.
    
           The **winch** function does not return an error if the window contains
           characters larger than 8-bits (255).  Only the low-order 8 bits of
           the character are used by **winch**.
    


## NOTES



           Note that all of these routines may be macros.
    


## PORTABILITY



           These functions are described in the XSI Curses standard, Issue 4.
    
           Very old systems (before standardization) provide a different
           function with the same name:
    
           •   The **winch** function was part of the original BSD curses
               library, which stored a 7-bit character combined with the
               _standout_ attribute.
    
               In BSD curses, **winch** returned only the character (as an
               integer) with the _standout_ attribute removed.
    
           •   System V curses added support for several video attributes
               which could be combined with characters in the window.
    
               Reflecting this improvement, the function was altered to
               return the character combined with all video attributes in a
               **chtype** value.
    
           X/Open Curses does not specify the size and layout of attributes,
           color and character values in **chtype** ; it is implementation-
           dependent.  This implementation uses 8 bits for character values.
           An application using more bits, e.g., a Unicode value, should use
           the wide-character equivalents to these functions.
    


* * *
# sd_event_source_set_destroy_callback

## NAME



           sd_event_source_set_destroy_callback,
           sd_event_source_get_destroy_callback, sd_event_destroy_t - Define
           the callback function for resource cleanup
    


## SYNOPSIS



           **#include <systemd/sd-event.h>**
    
           **typedef int (*sd_event_destroy_t)(void ***_userdata_**);**
    
           **int sd_event_source_set_destroy_callback(sd_event_source ***_source_**,**
                                                    **sd_event_destroy_t** _callback_**);**
    
           **int sd_event_source_get_destroy_callback(sd_event_source ***_source_**,**
                                                    **sd_event_destroy_t ***_callback_**);**
    


## DESCRIPTION



           **sd_event_source_set_destroy_callback()** sets _callback_ as the
           callback function to be called right before the event source
           object _source_ is deallocated. The _userdata_ pointer from the event
           source object will be passed as the _userdata_ parameter. This
           pointer can be set by an argument to the constructor functions,
           see sd_event_add_io(3), or directly, see
           sd_event_source_set_userdata(3). This callback function is called
           even if _userdata_ is **NULL**. Note that this callback is invoked at a
           time where the event source object itself is already invalidated,
           and executing operations or taking new references to the event
           source object is not permissible.
    
           **sd_event_source_get_destroy_callback()** returns the current
           callback for _source_ in the _callback_ parameter.
    


## RETURN VALUE



           On success, **sd_event_source_set_destroy_callback()** returns 0 or a
           positive integer. On failure, it returns a negative errno-style
           error code.
    
           **sd_event_source_get_destroy_callback()** returns positive if the
           destroy callback function is set, 0 if not. On failure, returns a
           negative errno-style error code.
    
       **Errors**
           Returned errors may indicate the following problems:
    
           **-EINVAL**
               The _source_ parameter is **NULL**.
    


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


* * *
# gnutls_x509_crl_get_extension_info

## NAME



           gnutls_x509_crl_get_extension_info - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crl_get_extension_info(gnutls_x509_crl_t** _crl_**,**
           **unsigned** _indx_**, void ***_oid_**, size_t ***_sizeof_oid_**, unsigned int ***
           _critical_**);**
    


## ARGUMENTS



           gnutls_x509_crl_t crl
                       should contain a **gnutls_x509_crl_t** type
    
           unsigned indx
                       Specifies which extension OID to send, use (0) to get
                       the first one.
    
           void * oid  a pointer to store the OID
    
           size_t * sizeof_oid
                       initially holds the maximum size of  _oid_ , on return
                       holds actual size of  _oid_ .
    
           unsigned int * critical
                       output variable with critical flag, may be NULL.
    


## DESCRIPTION



           This function will return the requested extension OID in the CRL,
           and the critical flag for it.  The extension OID will be stored as
           a string in the provided buffer.  Use
           **gnutls_x509_crl_get_extension_data()** to extract the data.
    
           If the buffer provided is not long enough to hold the output, then
           * _sizeof_oid_ is updated and **GNUTLS_E_SHORT_MEMORY_BUFFER** will be
           returned.
    


## RETURNS



           On success, **GNUTLS_E_SUCCESS**(0) is returned, otherwise a negative
           error code in case of an error.  If your have reached the last
           extension available **GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE** will be
           returned.
    


## SINCE



           2.8.0
    


* * *
# strtoimax

## NAME



           strtoimax, strtoumax - convert string to integer
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <inttypes.h>**
    
           **intmax_t strtoimax(const char *restrict** _nptr_**, char **restrict** _endptr_**,**
                              **int** _base_**);**
           **uintmax_t strtoumax(const char *restrict** _nptr_**, char **restrict** _endptr_**,**
                              **int** _base_**);**
    


## DESCRIPTION



           These functions are just like strtol(3) and strtoul(3), except
           that they return a value of type _intmax_t_ and _uintmax_t_ ,
           respectively.
    


## RETURN VALUE



           On success, the converted value is returned.  If nothing was found
           to convert, zero is returned.  On overflow or underflow **INTMAX_MAX**
           or **INTMAX_MIN** or **UINTMAX_MAX** is returned, and _errno_ is set to
           **ERANGE**.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


* * *
# function::module_size

## NAME



           function::module_size - The module size of the current script
    


## SYNOPSIS



               module_size:string()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the sizes of various sections of the stap
           module.
    


* * *
# gnutls_x509_trust_list_add_trust_dir

## NAME



           gnutls_x509_trust_list_add_trust_dir - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_trust_list_add_trust_dir(gnutls_x509_trust_list_t**
           _list_**, const char ***_ca_dir_**, const char ***_crl_dir_**,**
           **gnutls_x509_crt_fmt_t** _type_**, unsigned int** _tl_flags_**, unsigned int**
           _tl_vflags_**);**
    


## ARGUMENTS



           gnutls_x509_trust_list_t list
                       The list
    
           const char * ca_dir
                       A directory containing the CAs (optional)
    
           const char * crl_dir
                       A directory containing a list of CRLs (optional)
    
           gnutls_x509_crt_fmt_t type
                       The format of the certificates
    
           unsigned int tl_flags
                       flags from **gnutls_trust_list_flags_t**
    
           unsigned int tl_vflags
                       gnutls_certificate_verify_flags if flags specifies
                       GNUTLS_TL_VERIFY_CRL
    


## DESCRIPTION



           This function will add the given certificate authorities to the
           trusted list. Only directories are accepted by this function.
    


## RETURNS



           The number of added elements is returned.
    


## SINCE



           3.3.6
    


* * *
# tanh

## NAME



           tanh, tanhf, tanhl - hyperbolic tangent function
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



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


## DESCRIPTION



           These functions return the hyperbolic tangent of _x_ , which is
           defined mathematically as:
    
               tanh(x) = sinh(x) / cosh(x)
    


## RETURN VALUE



           On success, these functions return the hyperbolic tangent of _x_.
    
           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), +1 (-1) is
           returned.
    


## ERRORS



           No errors occur.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


* * *
# gnutls_x509_name_constraints_add_permitted

## NAME



           gnutls_x509_name_constraints_add_permitted - API function
    


## SYNOPSIS



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


## ARGUMENTS



           gnutls_x509_name_constraints_t nc
                       The nameconstraints
    
           gnutls_x509_subject_alt_name_t type
                       The type of the constraints
    
           const gnutls_datum_t * name
                       The data of the constraints
    


## DESCRIPTION



           This function will add a name constraint to the list of permitted
           constraints. The constraints  _type_ can be any of the following
           types: **GNUTLS_SAN_DNSNAME** , **GNUTLS_SAN_RFC822NAME** , **GNUTLS_SAN_DN** ,
           **GNUTLS_SAN_URI** , **GNUTLS_SAN_IPADDRESS**. For the latter, an IP
           address in network byte order is expected, followed by its network
           mask.
    


## RETURNS



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


## SINCE



           3.3.0
    


* * *
# gnutls_handshake_write

## NAME



           gnutls_handshake_write - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_handshake_write(gnutls_session_t** _session_**,**
           **gnutls_record_encryption_level_t** _level_**, const void ***_data_**, size_t**
           _data_size_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           gnutls_record_encryption_level_t level
                       the current encryption level for reading a handshake
                       message
    
           const void * data
                       the (const) handshake data to be processed
    
           size_t data_size
                       the size of data
    


## DESCRIPTION



           This function processes a handshake message in the encryption
           level specified with  _level_ . Prior to calling this function, a
           handshake read callback must be set on  _session_ . Use
           **gnutls_handshake_set_read_function()** to do this.
    


## SINCE



           3.7.0
    


* * *
# semanage_modify

## NAME



           semanage_modify - SELinux Management API
    


## SYNOPSIS



           The following modify function is supported for any semanage
           record.
           Replace the function and object name as necessary.
    
           **extern int MODIFY_FUNCTION (**
                **semanage_handle_t ***_handle_**,**
                **const semanage_OBJECT_key_t ***_key_**,**
                **const semanage_OBJECT_t ***_data_**);**
    


## DESCRIPTION



           **Behavior:**
                  If a matching key is found in the local store, the provided
                  object will replace the current one. Otherwise, it will be
                  added to the store. When **semanage_commit**(3) is invoked,
                  changes will be permanently written into the local store,
                  and then loaded into policy. Validity of the object being
                  added is checked at commit time. Adding new objects with
                  respect to policy is allowed, except in the case of
                  booleans. Attempt to add new booleans with respect to
                  policy will fail at commit time.
    
           **Parameters:**
                  The _handle_ is used to track persistent state across
                  semanage calls, and for error reporting. The _key_ identifies
                  the _data_ object, which will be written into the store. The
                  key are data are properties of the caller, and are not
                  stored or modified internally.
    
           **Requirements:**
                  This function requires an semanage connection to be
                  established (see **semanage_connect**(3) ), and must be
                  executed in a transaction (see
                  **semanage_begin_transaction**(3) ).
    


## RETURN VALUE



           In case of failure, -1 is returned, and the semanage error
           callback is invoked, describing the error.  Otherwise 0 is
           returned.
    


* * *
# function::sprint_usyms

## NAME



           function::sprint_usyms - Return stack for user addresses from
           string
    


## SYNOPSIS



               sprint_usyms(callers:string)
    


## ARGUMENTS



           _callers_
               String with list of hexadecimal (user) addresses
    


## DESCRIPTION



           Perform a symbolic lookup of the addresses in the given string,
           which are assumed to be the result of a prior calls to **ustack** ,
           **ucallers** , and similar functions.
    
           Returns a simple backtrace from the given hex string. One line per
           address. Includes the symbol name (or hex address if symbol
           couldn't be resolved) and module name (if found), as obtained from
           **usymdata**. Includes the offset from the start of the function if
           found, otherwise the offset will be added to the module (if found,
           between brackets). Returns the backtrace as string (each line
           terminated by a newline character). Note that the returned stack
           will be truncated to MAXSTRINGLEN, to print fuller and richer
           stacks use **print_usyms**.
    


* * *
# function::returnstr

## NAME



           function::returnstr - Formats the return value as a string
    


## SYNOPSIS



               returnstr:string(format:long)
    


## ARGUMENTS



           _format_
               Variable to determine return type base value
    


## DESCRIPTION



           This function is used by the nd_syscall tapset, and returns a
           string. Set format equal to 1 for a decimal, 2 for hex, 3 for
           octal.
    
           Note that this function should only be used in dwarfless probes
           (i.e. 'kprobe.function(“foo”)'). Other probes should use
           **return_str**.
    


* * *
# gnutls_certificate_set_retrieve_function2

## NAME



           gnutls_certificate_set_retrieve_function2 - API function
    


## SYNOPSIS



           **#include <gnutls/abstract.h>**
    
           **void**
           **gnutls_certificate_set_retrieve_function2(gnutls_certificate_credentials_t**
           _cred_**, gnutls_certificate_retrieve_function2 ***_func_**);**
    


## ARGUMENTS



           gnutls_certificate_credentials_t cred
                       is a **gnutls_certificate_credentials_t** type.
    
           gnutls_certificate_retrieve_function2 * func
                       is the callback function
    


## DESCRIPTION



           This function sets a callback to be called in order to retrieve
           the certificate to be used in the handshake. The callback will
           take control only if a certificate is requested by the peer.
    
           The callback's function prototype is: int
           (*callback)(gnutls_session_t, const gnutls_datum_t* req_ca_dn, int
           nreqs, const gnutls_pk_algorithm_t* pk_algos, int pk_algos_length,
           gnutls_pcert_st** pcert, unsigned int *pcert_length,
           gnutls_privkey_t * pkey);
    
            _req_ca_dn_ is only used in X.509 certificates.  Contains a list
           with the CA names that the server considers trusted.  This is a
           hint and typically the client should send a certificate that is
           signed by one of these CAs. These names, when available, are DER
           encoded. To get a more meaningful value use the function
           **gnutls_x509_rdn_get()**.
    
            _pk_algos_ contains a list with server's acceptable public key
           algorithms.  The certificate returned should support the server's
           given algorithms.
    
            _pcert_ should contain a single certificate and public key or a
           list of them.
    
            _pcert_length_ is the size of the previous list.
    
            _pkey_ is the private key.
    
           If the callback function is provided then gnutls will call it, in
           the handshake, after the certificate request message has been
           received.  All the provided by the callback values will not be
           released or modified by gnutls.
    
           In server side pk_algos and req_ca_dn are NULL.
    
           The callback function should set the certificate list to be sent,
           and return 0 on success. If no certificate was selected then the
           number of certificates should be set to zero. The value (-1)
           indicates error and the handshake will be terminated. If both
           certificates are set in the credentials and a callback is
           available, the callback takes predence.
    


## SINCE



           3.0
    


* * *
# gnutls_srtp_set_profile

## NAME



           gnutls_srtp_set_profile - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_srtp_set_profile(gnutls_session_t** _session_**,**
           **gnutls_srtp_profile_t** _profile_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           gnutls_srtp_profile_t profile
                       is the profile id to add.
    


## DESCRIPTION



           This function is to be used by both clients and servers, to
           declare what SRTP profiles they support, to negotiate with the
           peer.
    


## RETURNS



           On success, **GNUTLS_E_SUCCESS**(0) is returned, otherwise a negative
           error code is returned.
    
           Since 3.1.4
    


* * *
# frexp

## NAME



           frexp, frexpf, frexpl - convert floating-point number to
           fractional and integral components
    


## LIBRARY



           Math library (_libm_ , _-lm_)
    


## SYNOPSIS



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


## DESCRIPTION



           These functions are used to split the number _x_ into a normalized
           fraction and an exponent which is stored in _e_.
    


## RETURN VALUE



           These functions return the normalized fraction.  If the argument _x_
           is not zero, the normalized fraction is _x_ times a power of two,
           and its absolute value is always in the range 1/2 (inclusive) to 1
           (exclusive), that is, [0.5,1).
    
           If _x_ is zero, then the normalized fraction is zero and zero is
           stored in _e_.
    
           If _x_ is a NaN, a NaN is returned, and the value of _*e_ is
           unspecified.
    
           If _x_ is positive infinity (negative infinity), positive infinity
           (negative infinity) is returned, and the value of _*e_ is
           unspecified.
    


## ERRORS



           No errors occur.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


## EXAMPLES



           The program below produces results such as the following:
    
               $ **./a.out 2560**
               frexp(2560, &e) = 0.625: 0.625 * 2^12 = 2560
               $ **./a.out -4**
               frexp(-4, &e) = -0.5: -0.5 * 2^3 = -4
    
       **Program source**
    
           #include <float.h>
           #include <math.h>
           #include <stdio.h>
           #include <stdlib.h>
    
           int
           main(int argc, char *argv[])
           {
               double x, r;
               int e;
    
               x = strtod(argv[1], NULL);
               r = frexp(x, &e);
    
               printf("frexp(%g, &e) = %g: %g * %d^%d = %g\n", x, r, r, 2, e, x);
               exit(EXIT_SUCCESS);
           }
    


* * *
# erand48

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



           erand48 — generate uniformly distributed pseudo-random numbers
    


## SYNOPSIS



           #include <stdlib.h>
    
           double erand48(unsigned short _xsubi_[3]);
    


## DESCRIPTION



           Refer to drand48(3p).
    


* * *
# io_uring_prep_unlink

## NAME



           io_uring_prep_unlinkat - prepare an unlinkat request
    


## SYNOPSIS



           **#include <fcntl.h>**
           **#include <unistd.h>**
           **#include <liburing.h>**
    
           **void io_uring_prep_unlinkat(struct io_uring_sqe ***_sqe_**,**
                                       **int** _dirfd_**,**
                                       **const char ***_path_**,**
                                       **int** _flags_**);**
    
           **void io_uring_prep_unlink(struct io_uring_sqe ***_sqe_**,**
                                     **const char ***_path_**,**
                                     **int** _flags_**);**
    


## DESCRIPTION



           The io_uring_prep_unlinkat(3) function prepares an unlinkat
           request. The submission queue entry _sqe_ is setup to use the
           directory file descriptor pointed to by _dirfd_ to start an unlinkat
           operation on the path identified by _path_ and using the flags given
           in _flags_.
    
           The io_uring_prep_unlink(3) function prepares an unlink request.
           The submission queue entry _sqe_ is setup to start an unlinkat
           operation on the path identified by _path_ relative to the current
           working directory and using the flags given in _flags_.
    
           These functions prepare an async unlinkat(2) or unlink(2) request.
           See those man pages for details.
    


## RETURN VALUE



           None
    


## ERRORS



           The CQE _res_ field will contain the result of the operation. See
           the related man page for details on possible values. Note that
           where synchronous system calls will return **-1** on failure and set
           _errno_ to the actual error value, io_uring never uses _errno_.
           Instead it returns the negated _errno_ directly in the CQE _res_
           field.
    


## NOTES



           As with any request that passes in data in a struct, that data
           must remain valid until the request has been successfully
           submitted. It need not remain valid until completion. Once a
           request has been submitted, the in-kernel state is stable. Very
           early kernels (5.4 and earlier) required state to be stable until
           the completion occurred. Applications can test for this behavior
           by inspecting the **IORING_FEAT_SUBMIT_STABLE** flag passed back from
           io_uring_queue_init_params(3).
    


* * *
# sd-daemon

## NAME



           sd-daemon, SD_EMERG, SD_ALERT, SD_CRIT, SD_ERR, SD_WARNING,
           SD_NOTICE, SD_INFO, SD_DEBUG - APIs for new-style daemons
    


## SYNOPSIS



           **#include <systemd/sd-daemon.h>**
    
           **pkg-config --cflags --libs libsystemd**
    


## DESCRIPTION



           sd-daemon.h is part of libsystemd(3) and provides APIs for
           new-style daemons, as implemented by the systemd(1) service
           manager.
    
           See sd_listen_fds(3), sd_notify(3), sd_booted(3), sd_is_fifo(3),
           sd_watchdog_enabled(3), and sd_pidfd_get_inode_id(3) for more
           information about the functions implemented. In addition to these
           functions, a couple of logging prefixes are defined as macros:
    
               #define SD_EMERG   "<0>"  /* system is unusable */
               #define SD_ALERT   "<1>"  /* action must be taken immediately */
               #define SD_CRIT    "<2>"  /* critical conditions */
               #define SD_ERR     "<3>"  /* error conditions */
               #define SD_WARNING "<4>"  /* warning conditions */
               #define SD_NOTICE  "<5>"  /* normal but significant condition */
               #define SD_INFO    "<6>"  /* informational */
               #define SD_DEBUG   "<7>"  /* debug-level messages */
    
           These prefixes are intended to be used in conjunction with
           stderr-based logging (or stdout-based logging) as implemented by
           systemd. If a systemd service definition file is configured with
           _StandardError=journal_ or _StandardError=kmsg_ (and similar with
           _StandardOutput=_), these prefixes can be used to encode a log level
           in lines printed. This is similar to the kernel **printk()** -style
           logging. See **klogctl**(2) for more information.
    
           The log levels are identical to syslog(3)'s log level system. To
           use these prefixes simply prefix every line with one of these
           strings. A line that is not prefixed will be logged at the default
           log level SD_INFO.
    
           **Example 1. Hello World**
    
           A daemon may log with the log level NOTICE by issuing this call:
    
               fprintf(stderr, SD_NOTICE "Hello World!\n");
    


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


* * *
# mitem_new

## NAME



           **new_item** , **free_item** - create and destroy menu items
    


## SYNOPSIS



           **#include <menu.h>**
    
           **ITEM *new_item(const char ***_name_**, const char ***_description_**);**
           **int free_item(ITEM ***_item_**);**
    


## DESCRIPTION



           The function **new_item** allocates a new item and initializes it from
           the **name** and **description** pointers.  Please notice that the item
           stores only the pointers to the name and description.  Those
           pointers must be valid during the lifetime of the item.  So you
           should be very careful with names or descriptions allocated on the
           stack of some routines.
           The function **free_item** de-allocates an item.  Please notice that
           it is the responsibility of the application to release the memory
           for the name or the description of the item.
    


## RETURN VALUE



           The function **new_item** returns **NULL** on error.  It sets **errno**
           according to the function's failure:
    
           **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_item** returns one of the following:
    
           **E_OK** The routine succeeded.
    
           **E_BAD_ARGUMENT**
                Routine detected an incorrect or out-of-range argument.
    
           **E_CONNECTED**
                Item is connected to a menu.
    
           **E_SYSTEM_ERROR**
                System error occurred (see errno(3)).
    


## NOTES



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


## PORTABILITY



           These routines emulate the System V menu library.  They were not
           supported on Version 7 or BSD versions.
    


* * *
# acl_set_qualifier

## NAME



           **acl_set_qualifier** — set the qualifier of an ACL entry
    


## LIBRARY



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


## SYNOPSIS



           <_sys/types.h_ > <_sys/acl.h_ > _int_ **acl_set_qualifier**(_acl_entry_t_
           _entry_d_ , _const void *qualifier_p_)
    


## DESCRIPTION



           The **acl_set_qualifier**() function sets the qualifier of the ACL
           entry indicated by the argument _entry_d_ to the value referred to
           by the argument _qualifier_p_.  If the value of the tag type in the
           ACL entry referred to by _entry_d_ is ACL_USER, then the value
           referred to by _qualifier_p_ shall be of type _uid_t_.  If the value
           of the tag type in the ACL entry referred to by _entry_d_ is
           ACL_GROUP, then the value referred to by _qualifier_p_ shall be of
           type _gid_t_.  If the value of the tag type in the ACL entry
           referred to by _entry_d_ is a tag type for which a qualifier is not
           supported, **acl_set_qualifier**() returns an error.
    
           Any ACL entry descriptors that refer to the entry referred to by
           _entry_d_ continue to refer to that entry. This function may cause
           memory to be allocated. The caller should free any releasable
           memory, when the ACL is no longer required, by calling **acl_free**()
           with a pointer to the ACL as argument.
    


## RETURN VALUE



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


## ERRORS



           If any of the following conditions occur, the **acl_set_qualifier**()
           function returns **-1** and sets _errno_ to the corresponding value:
    
           [EINVAL]           The argument _entry_d_ is not a valid descriptor
                              for an ACL entry.
    
                              The value of the tag type in the ACL entry
                              referenced by the argument _entry_d_ is neither
                              ACL_USER nor ACL_GROUP.
    
                              The value pointed to by the argument
                              _qualifier_p_ is not valid.
    
           [ENOMEM]           The **acl_set_qualifier**() function is unable to
                              allocate the memory required for the ACL
                              qualifier.
    


## STANDARDS



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


* * *
# arc4random

## NAME



           arc4random, arc4random_uniform, arc4random_buf -
           cryptographically-secure pseudorandom number generator
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <stdlib.h>**
    
           **uint32_t arc4random(void);**
           **uint32_t arc4random_uniform(uint32_t** _upper_bound_**);**
           **void arc4random_buf(** size_t n;
                               **void** _buf_**[**_n_**], size_t** _n_**);**
    


## DESCRIPTION



           These functions give cryptographically-secure pseudorandom
           numbers.
    
           **arc4random**() returns a uniformly-distributed value.
    
           **arc4random_uniform**() returns a uniformly-distributed value less
           than _upper_bound_ (see BUGS).
    
           **arc4random_buf**() fills the memory pointed to by _buf_ , with _n_ bytes
           of pseudorandom data.
    
           The rand(3) and drand48(3) families of functions should only be
           used where the quality of the pseudorandom numbers is not a
           concern _and_ there's a need for repeatability of the results.
           Unless you meet both of those conditions, use the **arc4random**()
           functions.
    


## RETURN VALUE



           **arc4random**() returns a pseudorandom number.
    
           **arc4random_uniform**() returns a pseudorandom number less than
           _upper_bound_ for valid input, or **0** when _upper_bound_ is invalid.
    


## ATTRIBUTES



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


## STANDARDS



           BSD.
    


## BUGS



           An _upper_bound_ of **0** doesn't make sense in a call to
           **arc4random_uniform**().  Such a call will fail, and return **0**.  Be
           careful, since that value is _not_ less than _upper_bound_.  In some
           cases, such as accessing an array, using that value could result
           in undefined behavior.
    


* * *
# gnutls_ocsp_resp_get_signature_algorithm

## NAME



           gnutls_ocsp_resp_get_signature_algorithm - API function
    


## SYNOPSIS



           **#include <gnutls/ocsp.h>**
    
           **int**
           **gnutls_ocsp_resp_get_signature_algorithm(gnutls_ocsp_resp_const_t**
           _resp_**);**
    


## ARGUMENTS



           gnutls_ocsp_resp_const_t resp
                       should contain a **gnutls_ocsp_resp_t** type
    


## DESCRIPTION



           This function will return a value of the **gnutls_sign_algorithm_t**
           enumeration that is the signature algorithm that has been used to
           sign the OCSP response.
    


## RETURNS



           a **gnutls_sign_algorithm_t** value, or a negative error code on
           error.
    


* * *
# setpgrp

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



           setpgrp — set the process group ID
    


## SYNOPSIS



           #include <unistd.h>
    
           pid_t setpgrp(void);
    


## DESCRIPTION



           If the calling process is not already a session leader, _setpgrp_()
           sets the process group ID of the calling process to the process ID
           of the calling process. If _setpgrp_() creates a new session, then
           the new session has no controlling terminal.
    
           The _setpgrp_() function has no effect when the calling process is a
           session leader.
    


## RETURN VALUE



           Upon completion, _setpgrp_() shall return the process group ID.
    


## ERRORS



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


## EXAMPLES



           None.
    


## APPLICATION USAGE



           It is unspecified whether this function behaves as _setpgid_(0,0) or
           _setsid_() unless the process is already a session leader.
           Therefore, applications are encouraged to use _setpgid_() or
           _setsid_() as appropriate.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           The _setpgrp_() function may be removed in a future version.
    


* * *
# gnutls_srtp_get_keys

## NAME



           gnutls_srtp_get_keys - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_srtp_get_keys(gnutls_session_t** _session_**, void ***
           _key_material_**, unsigned int** _key_material_size_**, gnutls_datum_t ***
           _client_key_**, gnutls_datum_t ***_client_salt_**, gnutls_datum_t ***
           _server_key_**, gnutls_datum_t ***_server_salt_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           void * key_material
                       Space to hold the generated key material
    
           unsigned int key_material_size
                       The maximum size of the key material
    
           gnutls_datum_t * client_key
                       The master client write key, pointing inside the key
                       material
    
           gnutls_datum_t * client_salt
                       The master client write salt, pointing inside the key
                       material
    
           gnutls_datum_t * server_key
                       The master server write key, pointing inside the key
                       material
    
           gnutls_datum_t * server_salt
                       The master server write salt, pointing inside the key
                       material
    


## DESCRIPTION



           This is a helper function to generate the keying material for
           SRTP.  It requires the space of the key material to be
           pre-allocated (should be at least 2x the maximum key size and salt
           size). The  _client_key_ ,  _client_salt_ ,  _server_key_ and
           _server_salt_ are convenience datums that point inside the key
           material. They may be **NULL**.
    


## RETURNS



           On success the size of the key material is returned, otherwise,
           **GNUTLS_E_SHORT_MEMORY_BUFFER** if the buffer given is not
           sufficient, or a negative error code.
    
           Since 3.1.4
    


* * *