tripathysagar/man_text huggingface dataset:
# gethostname

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



           gethostname — get name of current host
    


## SYNOPSIS



           #include <unistd.h>
    
           int gethostname(char *_name_ , size_t _namelen_);
    


## DESCRIPTION



           The _gethostname_() function shall return the standard host name for
           the current machine.  The _namelen_ argument shall specify the size
           of the array pointed to by the _name_ argument. The returned name
           shall be null-terminated, except that if _namelen_ is an
           insufficient length to hold the host name, then the returned name
           shall be truncated and it is unspecified whether the returned name
           is null-terminated.
    
           Host names are limited to {HOST_NAME_MAX} bytes.
    


## RETURN VALUE



           Upon successful completion, 0 shall be returned; otherwise, -1
           shall be returned.
    


## ERRORS



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


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# function::user_uint16

## NAME



           function::user_uint16 - Retrieves an unsigned 16-bit integer value
           stored in user space
    


## SYNOPSIS



               user_uint16:long(addr:long)
    


## ARGUMENTS



           _addr_
               the user space address to retrieve the unsigned 16-bit integer
               from
    


## DESCRIPTION



           Returns the unsigned 16-bit integer value from a given user space
           address. Returns zero when user space data is not accessible.
    


* * *
# getuid

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



           getuid — get a real user ID
    


## SYNOPSIS



           #include <unistd.h>
    
           uid_t getuid(void);
    


## DESCRIPTION



           The _getuid_() function shall return the real user ID of the calling
           process.  The _getuid_() function shall not modify _errno_.
    


## RETURN VALUE



           The _getuid_() function shall always be successful and no return
           value is reserved to indicate the error.
    


## ERRORS



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


## EXAMPLES



       **Setting the Effective User ID to the Real User ID**
           The following example sets the effective user ID of the calling
           process to the real user ID.
    
               #include <unistd.h>
               ...
               seteuid(getuid());
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           In a conforming environment, _getuid_() will always succeed. It is
           possible for implementations to provide an extension where a
           process in a non-conforming environment will not be associated
           with a user or group ID. It is recommended that such
           implementations return (**uid_t**)-1 and set _errno_ to indicate such an
           environment; doing so does not violate this standard, since such
           an environment is already an extension.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# gnutls_x509_trust_list_remove_trust_mem

## NAME



           gnutls_x509_trust_list_remove_trust_mem - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int**
           **gnutls_x509_trust_list_remove_trust_mem(gnutls_x509_trust_list_t**
           _list_**, const gnutls_datum_t ***_cas_**, gnutls_x509_crt_fmt_t** _type_**);**
    


## ARGUMENTS



           gnutls_x509_trust_list_t list
                       The list
    
           const gnutls_datum_t * cas
                       A buffer containing a list of CAs (optional)
    
           gnutls_x509_crt_fmt_t type
                       The format of the certificates
    


## DESCRIPTION



           This function will remove the provided certificate authorities
           from the trusted list, and add them into a block list when needed.
    
           See also **gnutls_x509_trust_list_remove_cas()**.
    


## RETURNS



           The number of removed elements is returned.
    


## SINCE



           3.1.10
    


* * *
# siginterrupt

## NAME



           siginterrupt - allow signals to interrupt system calls
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <signal.h>**
    
           **[[deprecated]] int siginterrupt(int** _sig_**, int** _flag_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **siginterrupt**():
               _XOPEN_SOURCE >= 500
                   || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
                   || /* glibc <= 2.19: */ _BSD_SOURCE
    


## DESCRIPTION



           The **siginterrupt**() function changes the restart behavior when a
           system call is interrupted by the signal _sig_.  If the _flag_
           argument is false (0), then system calls will be restarted if
           interrupted by the specified signal _sig_.  This is the default
           behavior in Linux.
    
           If the _flag_ argument is true (1) and no data has been transferred,
           then a system call interrupted by the signal _sig_ will return -1
           and _errno_ will be set to **EINTR**.
    
           If the _flag_ argument is true (1) and data transfer has started,
           then the system call will be interrupted and will return the
           actual amount of data transferred.
    


## RETURN VALUE



           The **siginterrupt**() function returns 0 on success.  It returns -1
           if the signal number _sig_ is invalid, with _errno_ set to indicate
           the error.
    


## ERRORS



           **EINVAL** The specified signal number is invalid.
    


## ATTRIBUTES



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


## STANDARDS



           POSIX.1-2008.
    


* * *
# memfrob

## NAME



           memfrob - frobnicate (obfuscate) a memory area
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#define _GNU_SOURCE** /* See feature_test_macros(7) */
           **#include <string.h>**
    
           **void *memfrob(** size_t n;
                         **void** _s_**[**_n_**], size_t** _n_**);**
    


## DESCRIPTION



           The **memfrob**() function obfuscates the first _n_ bytes of the memory
           area _s_ by exclusive-ORing each character with the number 42.  The
           effect can be reversed by using **memfrob**() on the obfuscated memory
           area.
    
           Note that this function is not a proper encryption routine as the
           XOR constant is fixed, and is suitable only for hiding strings.
    


## RETURN VALUE



           The **memfrob**() function returns a pointer to the obfuscated memory
           area.
    


## ATTRIBUTES



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


## STANDARDS



           GNU.
    


* * *
# ibv_query_gid_table

## NAME



           ibv_query_gid_table - query an InfiniBand device’s GID table
    


## SYNOPSIS



                  #include <infiniband/verbs.h>
    
                  ssize_t ibv_query_gid_table(struct ibv_context *context,
                                              struct ibv_gid_entry *entries,
                                              size_t max_entries,
                                              uint32_t flags);
    


## DESCRIPTION



           **ibv_query_gid_table()** returns the valid GID table entries of the
           RDMA device context _context_ at the pointer _entries_.
    
           A caller must allocate _entries_ array for the GID table entries it
           desires to query.  This API returns only valid GID table entries.
    
           A caller must pass non zero number of entries at _max_entries_ that
           corresponds to the size of _entries_ array.
    
           _entries_ array must be allocated such that it can contain all the
           valid GID table entries of the device.  If there are more valid
           GID entries than the provided value of _max_entries_ and _entries_
           array, the call will fail.  For example, if an RDMA device _context_
           has a total of 10 valid GID entries, _entries_ should be allocated
           for at least 10 entries, and _max_entries_ should be set
           appropriately.
    


## ARGUMENTS



           _context_
                  The context of the device to query.
    
           _entries_
                  Array of ibv_gid_entry structs where the GID entries are
                  returned.  Please see ibv_query_gid_ex(3) man page for
                  _ibv_gid_entry_.
    
           _max_entries_
                  Maximum number of entries that can be returned.
    
           _flags_  Extra fields to query post _entries- >ndev_ifindex_, for now
                  must be 0.
    


## RETURN VALUE



           **ibv_query_gid_table()** returns the number of entries that were read
           on success or negative errno value on error.  Number of entries
           returned is <= max_entries.
    


* * *
# gnutls_x509_crq_set_key_usage

## NAME



           gnutls_x509_crq_set_key_usage - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crq_set_key_usage(gnutls_x509_crq_t** _crq_**, unsigned**
           **int** _usage_**);**
    


## ARGUMENTS



           gnutls_x509_crq_t crq
                       a certificate request of type **gnutls_x509_crq_t**
    
           unsigned int usage
                       an ORed sequence of the GNUTLS_KEY_* elements.
    


## DESCRIPTION



           This function will set the keyUsage certificate extension.
    


## RETURNS



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


## SINCE



           2.8.0
    


* * *
# pcre2_set_bsr

## NAME



           PCRE2 - Perl-compatible regular expressions (revised API)
    


## SYNOPSIS



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


## DESCRIPTION



    
           This function sets the convention for processing \R within a
           compile context.  The second argument must be one of
           PCRE2_BSR_ANYCRLF or PCRE2_BSR_UNICODE. The result is zero for
           success or PCRE2_ERROR_BADDATA if the second argument is invalid.
    
           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.
    


* * *
# csqrt

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



           csqrt, csqrtf, csqrtl — complex square root functions
    


## SYNOPSIS



           #include <complex.h>
    
           double complex csqrt(double complex _z_);
           float complex csqrtf(float complex _z_);
           long double complex csqrtl(long double complex _z_);
    


## DESCRIPTION



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


## RETURN VALUE



           These functions shall return the complex square root value, in the
           range of the right half-plane (including the imaginary axis).
    


## ERRORS



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


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# pthread_kill

## NAME



           pthread_kill - send a signal to a thread
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <signal.h>**
    
           **int pthread_kill(pthread_t** _thread_**, int** _sig_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **pthread_kill**():
               _POSIX_C_SOURCE >= 199506L || _XOPEN_SOURCE >= 500
    


## DESCRIPTION



           The **pthread_kill**() function sends the signal _sig_ to _thread_ , a
           thread in the same process as the caller.  The signal is
           asynchronously directed to _thread_.
    
           If _sig_ is 0, then no signal is sent, but error checking is still
           performed.
    


## RETURN VALUE



           On success, **pthread_kill**() returns 0; on error, it returns an
           error number, and no signal is sent.
    


## ERRORS



           **EINVAL** An invalid signal was specified.
    


## ATTRIBUTES



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


## VERSIONS



           The glibc implementation of **pthread_kill**() gives an error (**EINVAL**)
           on attempts to send either of the real-time signals used
           internally by the NPTL threading implementation.  See nptl(7) for
           details.
    
           POSIX.1-2008 recommends that if an implementation detects the use
           of a thread ID after the end of its lifetime, **pthread_kill**()
           should return the error **ESRCH**.  The glibc implementation returns
           this error in the cases where an invalid thread ID can be
           detected.  But note also that POSIX says that an attempt to use a
           thread ID whose lifetime has ended produces undefined behavior,
           and an attempt to use an invalid thread ID in a call to
           **pthread_kill**() can, for example, cause a segmentation fault.
    


## STANDARDS



           POSIX.1-2008.
    


## NOTES



           Signal dispositions are process-wide: if a signal handler is
           installed, the handler will be invoked in the thread _thread_ , but
           if the disposition of the signal is "stop", "continue", or
           "terminate", this action will affect the whole process.
    


* * *
# pmdadso

## NAME



           **pmdaDSO** - initialize the PMDA to run as a DSO
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
           **#include <pcp/pmda.h>**
    
           **int pmdaDSO(pmdaInterface ***_dispatch_**, int** _interface_**, char ***_name_**,**
                       **char ***_helptext_**);**
    
           **cc ... -lpcp_pmda -lpcp**
    


## DESCRIPTION



           **pmdaDSO** initializes the **pmdaInterface** structure to use the _inter‐_
           _face_ extensions, assuming the PMDA(3) is to be run as a DSO.   The
           **pmdaInterface** structure is initialized with:
    
           _name_   The name of the agent.
    
           _helptext_
                  The default path to the help text (see pmdaText(3)).  If no
                  help text is installed, or you are not using pmdaText(3),
                  then this should be set to NULL, otherwise _helptext_ will be
                  copied, so the storage associated with _helptext_ may be re‐
                  leased after the call to **pmdaDSO**.
    
           The callbacks are initialized to pmdaProfile(3), pmdaFetch(3),
           pmdaDesc(3), pmdaText(3), pmdaInstance(3) and pmdaStore(3).
    
           The _interface_ structure also contains the _domain_ of the PMDA(3),
           which is defined in the pmcd(1) configuration file. The _domain_ is
           used to initialize the metric and instance descriptors (see
           pmdaInit(3)).
    


## CAVEAT



           The PMDA must be using **PMDA_INTERFACE_2** or later.
    
           Once **pmdaDSO** has been called, it is expected that the **pmdaInter‐**
           **face** structure pointed to by _dispatch_ will remain accessible to
           the routines in _libpcp_pmda_ (not reclaimed off the stack, not
           freed or otherwise released, etc.).  If the caller needs to move
           or relocate the **pmdaInterface** structure for any reason, then after
           the move pmdaInterfaceMoved(3) must be called to re-establish the
           internal integrity of the _pmdaInterface_ structure at the new loca‐
           tion before any other routine in _libpcp_pmda_ is called.
    


## DIAGNOSTICS



           **Incompatible version of pmcd detected**
                  When pmcd(1) creates the **pmdaInterface** structure, the _dis‐_
                  _patch.comm.version_ field is set to the highest protocol
                  that pmcd(1) understands.  This message indicates that the
                  pmcd(1) process does not understand the protocol used by
                  **pmdaDSO**.
    
           **Unable to allocate memory for pmdaExt structure**
                  In addition, _dispatch- >status_ is set to a value less than
                  zero.
    


* * *
# gnutls_x509_crt_list_import_pkcs11

## NAME



           gnutls_x509_crt_list_import_pkcs11 - API function
    


## SYNOPSIS



           **#include <gnutls/pkcs11.h>**
    
           **int gnutls_x509_crt_list_import_pkcs11(gnutls_x509_crt_t ***_certs_**,**
           **unsigned int** _cert_max_**, gnutls_pkcs11_obj_t *const** _objs_**, unsigned**
           **int** _flags_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t * certs
                       A list of certificates of type **gnutls_x509_crt_t**
    
           unsigned int cert_max
                       The maximum size of the list
    
           gnutls_pkcs11_obj_t *const objs
                       A list of PKCS 11 objects
    
           unsigned int flags
                       0 for now
    


## DESCRIPTION



           This function will import a PKCS 11 certificate list to a list of
           **gnutls_x509_crt_t** type. These must not be initialized.
    


## RETURNS



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


## SINCE



           2.12.0
    


* * *
# io_uring_close_ring_fd

## NAME



           io_uring_close_ring_fd - close a ring file descriptor and use it
           only via registered index
    


## SYNOPSIS



           **#include <liburing.h>**
    
           **int io_uring_close_ring_fd(struct io_uring ***_ring_**);**
    


## DESCRIPTION



           io_uring_close_ring_fd(3) closes the ring file descriptor, which
           must have been previously registered.  The file will remain open,
           but accessible only via the registered index, not via any file
           descriptor. Subsequent liburing calls will continue to work, using
           the registered ring fd.
    
           The kernel must support **IORING_FEAT_REG_REG_RING**.
    
           Libraries that must avoid disrupting their users' uses of file
           descriptors, and must continue working even in the face of
           close_range(2) and similar, can use io_uring_close_ring_fd(3) to
           work with liburing without having any open file descriptor.
    


## NOTES



           Each thread that wants to make use of io_uring must register the
           fd. A library that may get called from arbitrary theads may need
           to detect when it gets called on a previously unseen thread and
           create and register a ring for that thread.
    


## RETURN VALUE



           Returns 1 on success, or **-errno** on error.
    


* * *
# gnutls_session_force_valid

## NAME



           gnutls_session_force_valid - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **void gnutls_session_force_valid(gnutls_session_t** _session_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    


## DESCRIPTION



           Clears the invalid flag in a session. That means that sessions
           were corrupt or invalid data were received can be re-used. Use
           only when debugging or experimenting with the TLS protocol. Should
           not be used in typical applications.
    


* * *
# pmapi_internal

## NAME



           **PMAPI_INTERNAL** - internal details for the Performance Metrics
           Application Programming Interface
    


## C SYNOPSIS



           **#include "pmapi.h"**
           **#include "libpcp.h"**
    
            ... assorted routines ...
    
           **cc ... -lpcp**
    


## CAVEAT



           This  documentation  is intended for internal Performance Co-Pilot
           (PCP) developer use.
    
           These interfaces are not part of the PCP APIs that are  guaranteed
           to  remain  fixed  across  releases, and they may not work, or may
           provide different semantics at some point in the future.
    


## DESCRIPTION



           Refer to PMAPI(3) for general information about the  external  in‐
           terfaces  defined in <pcp/pmapi.h>.  The interfaces described here
           assume that context.
    


## MULTI-THREADED APPLICATIONS



           The following groups of internal functions and services in  **libpcp**
           are  restricted  to being called from a single-thread, and this is
           enforced by returning **PM_ERR_THREAD** when an attempt  to  call  the
           routines in each group from more than one thread is detected.
    
           1.  The interval timer services use global state with semantics
               that demand it is only used in the context of a single thread,
               so __pmAFregister(3), __pmAFunregister(3), __pmAFblock(3),
               __pmAFunblock(3) and __pmAFisempty(3).
    
           2.  The following access control manipulation routines that are
               principally intended for single-threaded applications: **__pmAc‐**
               **cAddOp** , **__pmAccSaveHosts** , **__pmAccRestoreHosts** , **__pmAc‐**
               **cFreeSavedHosts** , **__pmAccAddHost** , **__pmAccAddClient** , **__pmAccDel‐**
               **Client** and **__pmAccDumpHosts**.
    
           3.  The following routines that identify _pmlogger_ control ports
               and are principally intended for single-threaded applications:
               **__pmLogFindPort** and **__pmLogFindLocalPorts**.
    


* * *
# mlx5dv_reserved_qpn_dealloc

## NAME



           mlx5dv_reserved_qpn_alloc - Allocate a reserved QP number from
           device
    
           mlx5dv_reserved_qpn_dealloc - Release the reserved QP number
    


## SYNOPSIS



                  #include <infiniband/mlx5dv.h>
    
                  int mlx5dv_reserved_qpn_alloc(struct ibv_context *ctx, uint32_t *qpn);
    
                  int mlx5dv_reserved_qpn_dealloc(struct ibv_context *ctx, uint32_t qpn);
    


## DESCRIPTION



           When work with RDMA_CM RDMA_TCP_PS + external QP support, a client
           node needs GUID level unique QP numbers to comply with the CM’s
           timewait logic.
    
           If a real unique QP is not allocated, a device global QPN value is
           required and can be allocated via this interface.
    
           The mlx5 DCI QP is such an example, which could connect to the
           remote DCT’s multiple times as long as the application provides
           unique QPN for each new RDMA_CM connection.
    
           These 2 APIs provide the allocation/deallocation of a unique QP
           number from/to device.  This qpn can be used with DC QPN in
           RDMA_CM connection establishment, which will comply with the CM
           timewait kernel logic.
    


## ARGUMENTS



           _ctx_    The device context to issue the action on.
    
           _qpn_    The allocated QP number (for alloc API), or the QP number
                  to be deallocated (for dealloc API).
    


## RETURN VALUE



           0 on success; EOPNOTSUPP if not supported, or other errno value on
           other failures.
    


* * *
# probe::ioscheduler.elv_completed_request

## NAME



           probe::ioscheduler.elv_completed_request - Fires when a request is
           completed
    


## SYNOPSIS



           ioscheduler.elv_completed_request
    


## VALUES



           _elevator_name_
               The type of I/O elevator currently enabled
    
           _name_
               Name of the probe point
    
           _rq_
               Address of the request
    
           _disk_major_
               Disk major number of the request
    
           _rq_flags_
               Request flags
    
           _disk_minor_
               Disk minor number of the request
    


* * *
# gnutls_privkey_import_ext

## NAME



           gnutls_privkey_import_ext - API function
    


## SYNOPSIS



           **#include <gnutls/abstract.h>**
    
           **int gnutls_privkey_import_ext(gnutls_privkey_t** _pkey_**,**
           **gnutls_pk_algorithm_t** _pk_**, void ***_userdata_**,**
           **gnutls_privkey_sign_func** _sign_func_**, gnutls_privkey_decrypt_func**
           _decrypt_func_**, unsigned int** _flags_**);**
    


## ARGUMENTS



           gnutls_privkey_t pkey
                       The private key
    
           gnutls_pk_algorithm_t pk
                       The public key algorithm
    
           void * userdata
                       private data to be provided to the callbacks
    
           gnutls_privkey_sign_func sign_func
                       callback for signature operations
    
           gnutls_privkey_decrypt_func decrypt_func
                       callback for decryption operations
    
           unsigned int flags
                       Flags for the import
    


## DESCRIPTION



           This function will associate the given callbacks with the
           **gnutls_privkey_t** type. At least one of the two callbacks must be
           non-null.
    
           Note that the signing function is supposed to "raw" sign data,
           i.e., without any hashing or preprocessing. In case of RSA the
           DigestInfo will be provided, and the signing function is expected
           to do the PKCS **1** 1.5 padding and the exponentiation.
    
           See also **gnutls_privkey_import_ext3()**.
    


## RETURNS



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


## SINCE



           3.0
    


* * *
# mlx5dv_alloc_dm

## NAME



           mlx5dv_alloc_dm - allocates device memory (DM)
    


## SYNOPSIS



                  #include <infiniband/mlx5dv.h>
    
                  struct ibv_dm *mlx5dv_alloc_dm(struct ibv_context *context,
                                     struct ibv_alloc_dm_attr *dm_attr,
                                     struct mlx5dv_alloc_dm_attr *mlx5_dm_attr)
    


## DESCRIPTION



           **mlx5dv_alloc_dm()** allocates device memory (DM) with specific
           driver properties.
    


## ARGUMENTS



           Please see _ibv_alloc_dm(3)_ man page for _context_ and _dm_attr_.
    
       **mlx5_dm_attr**
                  struct mlx5dv_alloc_dm_attr {
                      enum mlx5dv_alloc_dm_type type;
                      uint64_t comp_mask;
                  };
    
           _type_   The device memory type user wishes to allocate:
    
                  MLX5DV_DM_TYPE_MEMIC Device memory of type MEMIC - On-Chip
                  memory that can be allocated and used as memory region for
                  transmitting/receiving packet directly from/to the memory
                  on the chip.
    
                  MLX5DV_DM_TYPE_STEERING_SW_ICM Device memory of type
                  STEERING SW ICM - This memory is used by the device to
                  store the packet steering tables and rules.  Can be used
                  for direct table and steering rules creation when allocated
                  by a privileged user.
    
                  MLX5DV_DM_TYPE_HEADER_MODIFY_SW_ICM Device memory of type
                  HEADER MODIFY SW ICM - This memory is used by the device to
                  store the packet header modification tables and rules.  Can
                  be used for direct table and header modification rules
                  creation when allocated by a privileged user.
    
                  MLX5DV_DM_TYPE_HEADER_MODIFY_PATTERN_SW_ICM Device memory
                  of type HEADER MODIFY PATTERN SW ICM - This memory is used
                  by the device to store packet header modification
                  patterns/templates.  Can be used for direct table and
                  header modification rules creation when allocated by a
                  privileged user.
    
                  MLX5DV_DM_TYPE_ENCAP_SW_ICM Device memory of type PACKET
                  ENCAP SW ICM - This memory is used by the device to store
                  packet encap data.  Can be used for packet encap reformat
                  rules creation when allocated by a privileged user.
    
           _comp_mask_
                  Bitmask specifying what fields in the structure are valid:
                  Currently reserved and should be set to 0.
    


## RETURN VALUE



           **mlx5dv_alloc_dm()** returns a pointer to the created DM, on error
           NULL will be returned and errno will be set.
    


* * *
# mlx5dv_devx_free_msi_vector

## NAME



           mlx5dv_devx_alloc_msi_vector - Allocate an msi vector to be used
           for creating an EQ.
    
           mlx5dv_devx_free_msi_vector - Release an msi vector.
    


## SYNOPSIS



                  #include <infiniband/mlx5dv.h>
    
                  struct mlx5dv_devx_msi_vector *
                  mlx5dv_devx_alloc_msi_vector(struct ibv_context *ibctx);
    
                  int mlx5dv_devx_free_msi_vector(struct mlx5dv_devx_msi_vector *msi);
    


## DESCRIPTION



           Allocate or free an msi vector to be used for creating an EQ.
    
           The allocate API exposes a mlx5dv_devx_msi_vector object, which
           includes an msi vector and a fd.  The vector can be used as the
           “eqc.intr” field when creating an EQ, while the fd (created as
           non-blocking) can be polled to see once there is some data on that
           EQ.
    


## ARGUMENTS



           _ibctx_  RDMA device context to create the action on.
    
           _msi_    The msi vector object to work on.
    
       **msi_vector**
                  struct mlx5dv_devx_msi_vector {
                      int vector;
                      int fd;
                  };
    
           _vector_ The vector to be used when creating the EQ over the device
                  specification.
    
           _fd_     The FD that will be used for polling.
    


## RETURN VALUE



           Upon success _mlx5dv_devx_alloc_msi_vector_ will return a new _struct_
           _mlx5dv_devx_msi_vector_ ; On error NULL will be returned and errno
           will be set.
    
           Upon success _mlx5dv_devx_free_msi_vector_ will return 0, on error
           errno will be returned.
    


* * *
# gnutls_x509_aki_deinit

## NAME



           gnutls_x509_aki_deinit - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **void gnutls_x509_aki_deinit(gnutls_x509_aki_t** _aki_**);**
    


## ARGUMENTS



           gnutls_x509_aki_t aki
                       The authority key identifier type
    


## DESCRIPTION



           This function will deinitialize an authority key identifier.
    


## SINCE



           3.3.0
    


* * *
# grantpt

## NAME



           grantpt - grant access to the slave pseudoterminal
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#define _XOPEN_SOURCE**
           **#include <stdlib.h>**
    
           **int grantpt(int** _fd_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **grantpt**():
               Since glibc 2.24:
                   _XOPEN_SOURCE >= 500
               glibc 2.23 and earlier:
                   _XOPEN_SOURCE
    


## DESCRIPTION



           The **grantpt**() function changes the mode and owner of the slave
           pseudoterminal device corresponding to the master pseudoterminal
           referred to by the file descriptor _fd_.  The user ID of the slave
           is set to the real UID of the calling process.  The group ID is
           set to an unspecified value (e.g., _tty_).  The mode of the slave is
           set to 0620 (crw--w----).
    
           The behavior of **grantpt**() is unspecified if a signal handler is
           installed to catch **SIGCHLD** signals.
    


## RETURN VALUE



           When successful, **grantpt**() returns 0.  Otherwise, it returns -1
           and sets _errno_ to indicate the error.
    


## ERRORS



           **EACCES** The corresponding slave pseudoterminal could not be
                  accessed.
    
           **EBADF** The _fd_ argument is not a valid open file descriptor.
    
           **EINVAL** The _fd_ argument is valid but not associated with a master
                  pseudoterminal.
    


## ATTRIBUTES



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


## STANDARDS



           POSIX.1-2008.
    


* * *
# probe::stapio.receive_control_message

## NAME



           probe::stapio.receive_control_message - Received a control message
    


## SYNOPSIS



           stapio.receive_control_message
    


## VALUES



           _len_
               the length (in bytes) of the data blob
    
           _data_
               a ptr to a binary blob of data sent as the control message
    
           _type_
               type of message being send; defined in
               runtime/transport/transport_msgs.h
    


## DESCRIPTION



           Fires just after a message was receieved and before it's
           processed.
    


* * *
# ausearch_add_interpreted_item

## NAME



           ausearch_add_interpreted_item - build up search rule
    


## SYNOPSIS



           **#include <auparse.h>**
    
           **int ausearch_add_interpreted_item(auparse_state_t**
           *****_au,_**const** _char_***"**_field,_**const** _char_***"**_op,_**const** _char_***"**_value,_**ausearch_rule_t"**_how);"_
    


## DESCRIPTION



           ausearch_add_interpreted_item adds one search condition to the
           current audit search expression. The search conditions can then be
           used to scan logs, files, or buffers for something of interest.
           The field value is the field name that the value will be checked
           for. The op variable describes what kind of check is to be done.
           Legal op values are:
    
                  _exists_
                          just check that a field name exists
    
                  _=_
                          locate the field name and check that the value
                         associated with it is equal to the value given in
                         this rule.
    
                  _!=_
                          locate the field name and check that the value
                         associated with it is NOT equal to the value given
                         in this rule.
    
           The value parameter is compared to the interpreted field value
           (the value that would be returned by auparse_interpret_field(3)).
    
           The how value determines how this search condition will affect the
           existing search expression if one is already defined. The possible
           values are:
    
                  _AUSEARCH_RULE_CLEAR_
                         Clear the current search expression, if any, and use
                         only this search condition.
    
                  _AUSEARCH_RULE_OR_
                         If a search expression _E_ is already configured,
                         replace it by **(**_E_ **||**_this_search_condition_**)**.
    
                  _AUSEARCH_RULE_AND_
                         If a search expression _E_ is already configured,
                         replace it by **(**_E_ **& & **_this_search_condition_**)**.
    


## RETURN VALUE



           Returns -1 if an error occurs; otherwise, 0 for success.
    


* * *
# gnutls_pkcs11_obj_get_exts

## NAME



           gnutls_pkcs11_obj_get_exts - API function
    


## SYNOPSIS



           **#include <gnutls/pkcs11.h>**
    
           **int gnutls_pkcs11_obj_get_exts(gnutls_pkcs11_obj_t** _obj_**,**
           **gnutls_x509_ext_st ****_exts_**, unsigned int ***_exts_size_**, unsigned int**
           _flags_**);**
    


## ARGUMENTS



           gnutls_pkcs11_obj_t obj
                       should contain a **gnutls_pkcs11_obj_t** type
    
           gnutls_x509_ext_st ** exts
                       a pointer to a **gnutls_x509_ext_st** pointer
    
           unsigned int * exts_size
                       will be updated with the number of  _exts_
    
           unsigned int flags
                       Or sequence of **GNUTLS_PKCS11_OBJ_** * flags
    


## DESCRIPTION



           This function will return information about attached extensions
           that associate to the provided object (which should be a
           certificate).  The extensions are the attached p11-kit trust
           module extensions.
    
           Each element of  _exts_ must be deinitialized using
           **gnutls_x509_ext_deinit()** while  _exts_ should be deallocated using
           **gnutls_free()**.
    


## RETURNS



           **GNUTLS_E_SUCCESS**(0) on success or a negative error code on error.
    


## SINCE



           3.3.8
    


* * *
# EXIT_SUCCESS

## NAME



           EXIT_SUCCESS, EXIT_FAILURE - termination status constants
    


## LIBRARY



           Standard C library (_libc_)
    


## SYNOPSIS



           **#include <stdlib.h>**
    
           **#define EXIT_SUCCESS** 0
           **#define EXIT_FAILURE** /* nonzero */
    


## DESCRIPTION



           **EXIT_SUCCESS** and **EXIT_FAILURE** represent a successful and
           unsuccessful exit status respectively, and can be used as
           arguments to the exit(3) function.
    


## STANDARDS



           C11, POSIX.1-2008.
    


## EXAMPLES



           #include <stdio.h>
           #include <stdlib.h>
    
           int
           main(int argc, char *argv[])
           {
               FILE *fp;
    
               if (argc != 2) {
                   fprintf(stderr, "Usage: %s <file>\n", argv[0]);
                   exit(EXIT_FAILURE);
               }
    
               fp = fopen(argv[1], "r");
               if (fp == NULL) {
                   perror(argv[1]);
                   exit(EXIT_FAILURE);
               }
    
               /* Other code omitted */
    
               fclose(fp);
               exit(EXIT_SUCCESS);
           }
    


* * *
# function::cputime_to_msecs

## NAME



           function::cputime_to_msecs - Translates the given cputime into
           milliseconds
    


## SYNOPSIS



               cputime_to_msecs:long(cputime:long)
    


## ARGUMENTS



           _cputime_
               Time to convert to milliseconds.
    


* * *
# function::fp_sub

## NAME



           function::fp_sub - Subtraction between floating points
    


## SYNOPSIS



               fp_sub:long(sub1:long,sub2:long)
    


## ARGUMENTS



           _sub1_
               the 64 bit floating point minuend
    
           _sub2_
               64 bit floating point subtrahend
    


## DESCRIPTION



           result would be minuend minus subtrahend
    


* * *
# io_uring_buf_ring_init

## NAME



           io_uring_buf_ring_init - Initialise a  buffer ring
    


## SYNOPSIS



           **#include <liburing.h>**
    
           **void io_uring_buf_ring_init(struct io_uring_buf_ring ***_br_**);**
    


## DESCRIPTION



           io_uring_buf_ring_init(3) initialises _br_ so that it is ready to be
           used. It may be called after io_uring_register_buf_ring(3) but
           must be called before the buffer ring is used in any other way.
    


## RETURN VALUE



           None
    


## NOTES



           Unless manual setup is needed, it's recommended to use
           io_uring_setup_buf_ring(3) as it provides a simpler way to setup a
           provided buffer ring.
    


* * *
# fwide

## NAME



           fwide - set and determine the orientation of a FILE stream
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <wchar.h>**
    
           **int fwide(FILE ***_stream_**, int** _mode_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **fwide**():
               _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE
                   || _POSIX_C_SOURCE >= 200112L
    


## DESCRIPTION



           When _mode_ is zero, the **fwide**() function determines the current
           orientation of _stream_.  It returns a positive value if _stream_ is
           wide-character oriented, that is, if wide-character I/O is
           permitted but char I/O is disallowed.  It returns a negative value
           if _stream_ is byte oriented—that is, if char I/O is permitted but
           wide-character I/O is disallowed.  It returns zero if _stream_ has
           no orientation yet; in this case the next I/O operation might
           change the orientation (to byte oriented if it is a char I/O
           operation, or to wide-character oriented if it is a wide-character
           I/O operation).
    
           Once a stream has an orientation, it cannot be changed and
           persists until the stream is closed.
    
           When _mode_ is nonzero, the **fwide**() function first attempts to set
           _stream_ 's orientation (to wide-character oriented if _mode_ is
           greater than 0, or to byte oriented if _mode_ is less than 0).  It
           then returns a value denoting the current orientation, as above.
    


## RETURN VALUE



           The **fwide**() function returns the stream's orientation, after
           possibly changing it.  A positive return value means wide-
           character oriented.  A negative return value means byte oriented.
           A return value of zero means undecided.
    


## STANDARDS



           C11, POSIX.1-2008.
    


## NOTES



           Wide-character output to a byte oriented stream can be performed
           through the fprintf(3) function with the **%lc** and **%ls** directives.
    
           Char oriented output to a wide-character oriented stream can be
           performed through the fwprintf(3) function with the **%c** and **%s**
           directives.
    


* * *
# function::text_str

## NAME



           function::text_str - Escape any non-printable chars in a string
    


## SYNOPSIS



               text_str:string(input:string)
    


## ARGUMENTS



           _input_
               the string to escape
    


## DESCRIPTION



           This function accepts a string argument, and any ASCII characters
           that are not printable are replaced by the corresponding escape
           sequence in the returned string.
    


* * *
# sctp_send

## NAME



           sctp_send - Send a message from a SCTP socket.
    


## SYNOPSIS



           **#include <sys/types.h>**
           **#include <sys/socket.h>**
           **#include <netinet/sctp.h>**
    
           **int sctp_send(int** _sd_**, const void ***_msg_**, size_t** _len_**,**
                            **const struct sctp_sndrcvinfo ***_sinfo_**,**
                            **uint32_t** _flags_**);**
    


## DESCRIPTION



           **sctp_send** is a wrapper library function that can be used to send a
           message from a socket without the use of the CMSG header
           structures.  _sd_ is the socket descriptor from which the message
           pointed to by _msg_ of length _len_ is sent.  _sinfo_ is a pointer to a
           sctp_sndrcvinfo structure.  _flags_ parameter is composed of a
           bitwise OR of the flags that can be be passed as the 3rd argument
           of a standard sendmsg() call.
    


## RETURN VALUE



           On success, **sctp_sendmsg** returns the number of bytes sent or -1 if
           an error occurred.
    


* * *
# function::umodname

## NAME



           function::umodname - Returns the (short) name of the user module.
    


## SYNOPSIS



               umodname:string(addr:long)
    


## ARGUMENTS



           _addr_
               User-space address
    


## DESCRIPTION



           Returns the short name of the user space module for the current
           task that that the given address is part of. Reports an error when
           the address isn't in a (mapped in) module, or the module cannot be
           found for some reason.
    


* * *
# ibv_query_pkey

## NAME



           ibv_query_pkey - query an InfiniBand port’s P_Key table
    


## SYNOPSIS



                  #include <infiniband/verbs.h>
    
                  int ibv_query_pkey(struct ibv_context *context,
                                     uint8_t port_num,
                                     int index,
                                     uint16_t *pkey);
    


## DESCRIPTION



           **ibv_query_pkey()** returns the P_Key value (in network byte order)
           in entry _index_ of port _port_num_ for device context _context_ through
           the pointer _pkey_.
    


## RETURN VALUE



           **ibv_query_pkey()** returns 0 on success, and -1 on error.
    


* * *