tripathysagar/man_text huggingface dataset:
# libpfm_amd64_fam19h_zen3

## NAME



           libpfm_amd64_fam19h_zen3 - support for AMD64 Family 19h processors
    


## SYNOPSIS



           **#include <perfmon/pfmlib.h>**
    
           **PMU name: amd64_fam19h_zen3**
           **PMU desc: AMD64 Fam19h Zen3**
    


## DESCRIPTION



           The library supports AMD Family 19h processors Zen3 core PMU in
           both 32 and 64-bit modes.
    


## MODIFIERS



           The following modifiers are supported on AMD64 Family 19h Zen3
           core PMU:
    
           **u** Measure at user level which includes privilege levels 1, 2,
                  3. This corresponds to **PFM_PLM3**.  This is a boolean
                  modifier.
    
           **k** Measure at kernel level which includes privilege level 0.
                  This corresponds to **PFM_PLM0**.  This is a boolean modifier.
    
           **h** Measure at while executing in host mode (when using
                  virtualization). This corresponds to **PFM_PLMH**.  This
                  modifier is available starting with Fam10h. This is a
                  boolean modifier.
    
           **g** Measure at while executing in guest mode (when using
                  virtualization). This modifier is available starting with
                  Fam10h. This is a boolean modifier.
    
           **i** Invert the meaning of the event. The counter will now count
                  cycles in which the event is **not** occurring. This is a
                  boolean modifier
    
           **e** Enable edge detection, i.e., count only when there is a
                  state transition. This is a boolean modifier.
    
           **c** Set the counter mask value. The mask acts as a threshold.
                  The counter will count the number of cycles in which the
                  number of occurrences of the event is greater or equal to
                  the threshold. This is an integer modifier with values in
                  the range [0:255].
    


* * *
# gnutls_psk_free_client_credentials

## NAME



           gnutls_psk_free_client_credentials - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **void**
           **gnutls_psk_free_client_credentials(gnutls_psk_client_credentials_t**
           _sc_**);**
    


## ARGUMENTS



           gnutls_psk_client_credentials_t sc
                       is a **gnutls_psk_client_credentials_t** type.
    


## DESCRIPTION



           Free a gnutls_psk_client_credentials_t structure.
    


* * *
# gnutls_certificate_send_x509_rdn_sequence

## NAME



           gnutls_certificate_send_x509_rdn_sequence - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **void gnutls_certificate_send_x509_rdn_sequence(gnutls_session_t**
           _session_**, int** _status_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       a **gnutls_session_t** type.
    
           int status  is 0 or 1
    


## DESCRIPTION



           If status is non zero, this function will order gnutls not to send
           the rdnSequence in the certificate request message. That is the
           server will not advertise its trusted CAs to the peer. If status
           is zero then the default behaviour will take effect, which is to
           advertise the server's trusted CAs.
    
           This function has no effect in clients, and in authentication
           methods other than certificate with X.509 certificates.
    


* * *
# libpfm_arm_neoverse_n3

## NAME



           libpfm_arm_neoverse_n3 - support for ARM Neoverse N2 core PMU
    


## SYNOPSIS



           **#include <perfmon/pfmlib.h>**
    
           **PMU name: arm_n3**
           **PMU desc: ARM Neoverse N2**
    


## DESCRIPTION



           The library supports the ARM Neoverse N2 core PMU.
    
           This PMU supports 6 or 20 64-bit counters and privilege levels
           filtering.  It can operate in both 32 and 64 bit modes.
    


## MODIFIERS



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


* * *
# gnutls_x509_crt_get_issuer_dn2

## NAME



           gnutls_x509_crt_get_issuer_dn2 - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crt_get_issuer_dn2(gnutls_x509_crt_t** _cert_**,**
           **gnutls_datum_t ***_dn_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t cert
                       should contain a **gnutls_x509_crt_t** type
    
           gnutls_datum_t * dn
                       a pointer to a structure to hold the name; must be
                       freed using **gnutls_free()**
    


## DESCRIPTION



           This function will allocate buffer and copy the name of issuer of
           the Certificate.  The name will be in the form
           "C=xxxx,O=yyyy,CN=zzzz" as described in RFC4514. The output string
           will be ASCII or UTF-8 encoded, depending on the certificate data.
    
           This function does not output a fully RFC4514 compliant string, if
           that is required see **gnutls_x509_crt_get_issuer_dn3()**.
    


## RETURNS



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


## SINCE



           3.1.10
    


* * *
# inet_ntop

## NAME



           inet_ntop - convert IPv4 and IPv6 addresses from binary to text
           form
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <arpa/inet.h>**
    
           **const char *inet_ntop(** socklen_t size;
                                 **int** _af_**, const void *restrict** _src_**,**
                                 **char** _dst_**[restrict** _size_**], socklen_t** _size_**);**
    


## DESCRIPTION



           This function converts the network address structure _src_ in the _af_
           address family into a character string.  The resulting string is
           copied to the buffer pointed to by _dst_ , which must be a non-null
           pointer.  The caller specifies the number of bytes available in
           this buffer in the argument _size_.
    
           **inet_ntop**() extends the inet_ntoa(3) function to support multiple
           address families, inet_ntoa(3) is now considered to be deprecated
           in favor of **inet_ntop**().  The following address families are
           currently supported:
    
           **AF_INET**
                  _src_ points to a _struct in_addr_ (in network byte order)
                  which is converted to an IPv4 network address in the
                  dotted-decimal format, "_ddd.ddd.ddd.ddd_ ".  The buffer _dst_
                  must be at least **INET_ADDRSTRLEN** bytes long.
    
           **AF_INET6**
                  _src_ points to a _struct in6_addr_ (in network byte order)
                  which is converted to a representation of this address in
                  the most appropriate IPv6 network address format for this
                  address.  The buffer _dst_ must be at least **INET6_ADDRSTRLEN**
                  bytes long.
    


## RETURN VALUE



           On success, **inet_ntop**() returns a non-null pointer to _dst_.  NULL
           is returned if there was an error, with _errno_ set to indicate the
           error.
    


## ERRORS



           **EAFNOSUPPORT**
                  _af_ was not a valid address family.
    
           **ENOSPC** The converted address string would exceed the size given by
                  _size_.
    


## ATTRIBUTES



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


## STANDARDS



           POSIX.1-2008.
    


## BUGS



           **AF_INET6** converts IPv4-mapped IPv6 addresses into an IPv6 format.
    


## EXAMPLES



           See inet_pton(3).
    


* * *
# probe::workqueue.insert

## NAME



           probe::workqueue.insert - Queuing work on a workqueue
    


## SYNOPSIS



           workqueue.insert
    


## VALUES



           _work_
               work_struct* being queued
    
           _work_func_
               pointer to handler function
    
           _wq_thread_
               task_struct of the workqueue thread
    


* * *
# lastlog2

## NAME



           lastlog2 - Y2038 safe version of lastlog library.
    


## SYNOPSIS



           **#include <lastlog2.h>**
    


## DESCRIPTION



           **lastlog2** reports the last login of a given user or of all users
           who did ever login on a system.
    
           It’s using sqlite3 as database backend. Data is only collected via
           a PAM module, so that all tools can make use of it, without
           modifying existing packages. The output is as compatible as
           possible with the old lastlog implementation. By default the
           database will be written as /var/lib/lastlog/lastlog2.db. The size
           of the database depends on the amount of users, not how big the
           biggest UID is.
    


## AVAILABILITY



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


* * *
# gnutls_mac_get_id

## NAME



           gnutls_mac_get_id - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **gnutls_mac_algorithm_t gnutls_mac_get_id(const char ***_name_**);**
    


## ARGUMENTS



           const char * name
                       is a MAC algorithm name
    


## DESCRIPTION



           Convert a string to a **gnutls_mac_algorithm_t** value.  The names are
           compared in a case insensitive way.
    


## RETURNS



           a **gnutls_mac_algorithm_t** id of the specified MAC algorithm string,
           or **GNUTLS_MAC_UNKNOWN** on failure.
    


* * *
# function::qsq_start

## NAME



           function::qsq_start - Function to reset the stats for a queue
    


## SYNOPSIS



               qsq_start(qname:string)
    


## ARGUMENTS



           _qname_
               the name of the service that finished
    


## DESCRIPTION



           This function resets the statistics counters for the given queue,
           and restarts tracking from the moment the function was called.
           This function is also used to create intialize a queue.
    


* * *
# gnutls_hmac_fast

## NAME



           gnutls_hmac_fast - API function
    


## SYNOPSIS



           **#include <gnutls/crypto.h>**
    
           **int gnutls_hmac_fast(gnutls_mac_algorithm_t** _algorithm_**, const void**
           *****_key_**, size_t** _keylen_**, const void ***_ptext_**, size_t** _ptext_len_**, void ***
           _digest_**);**
    


## ARGUMENTS



           gnutls_mac_algorithm_t algorithm
                       the hash algorithm to use
    
           const void * key
                       the key to use
    
           size_t keylen
                       the length of the key
    
           const void * ptext
                       the data to hash
    
           size_t ptext_len
                       the length of data to hash
    
           void * digest
                       is the output value of the hash
    


## DESCRIPTION



           This convenience function will hash the given data and return
           output on a single call. Note, this call will not work for MAC
           algorithms that require nonce (like UMAC or GMAC).
    


## RETURNS



           Zero or a negative error code on error.
    


## SINCE



           2.10.0
    


* * *
# ldap_add

## NAME



           ldap_add_ext, ldap_add_ext_s - Perform an LDAP add operation
    


## LIBRARY



           OpenLDAP LDAP (libldap, -lldap)
    


## SYNOPSIS



           **#include <ldap.h>**
    
           **int ldap_add_ext(**
                  **LDAP ***_ld,_
                  _const char *dn_**,**
                  **LDAPMod ****_attrs_**,**
                  **LDAPControl ****_sctrls_**,**
                  **LDAPControl ****_cctrls_**,**
                  **int ***_msgidp_ **);**
    
           **int ldap_add_ext_s(**
                  **LDAP ***_ld_**,**
                  **const char ***_dn_**,**
                  **LDAPMod ****_attrs_**,**
                  **LDAPControl ***_sctrls_**,**
                  **LDAPControl ***_cctrls_ **);**
    


## DESCRIPTION



           The **ldap_add_ext_s()** routine is used to perform an LDAP add
           operation.  It takes _dn_ , the DN of the entry to add, and _attrs_ , a
           null-terminated array of the entry's attributes.  The LDAPMod
           structure is used to represent attributes, with the _mod_type_ and
           _mod_values_ fields being used as described under
           ldap_modify_ext(3), and the _ldap_op_ field being used only if you
           need to specify the LDAP_MOD_BVALUES option. Otherwise, it should
           be set to zero.
    
           Note that all entries except that specified by the last component
           in the given DN must already exist.  **ldap_add_ext_s()** returns an
           code indicating success or, in the case of failure, indicating the
           nature of failure of the operation.  See ldap_error(3) for more
           details.
    
           The **ldap_add_ext()** routine works just like **ldap_add_ext_s()** , but
           it is asynchronous.  It returns the message id of the request it
           initiated.  The result of this operation can be obtained by
           calling ldap_result(3).
    


## DEPRECATED INTERFACES



           The **ldap_add**() and **ldap_add_s**() routines are deprecated in favor
           of the **ldap_add_ext**() and **ldap_add_ext_s**() routines, respectively.
    
           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.
    


* * *
# QMC

## NAME



           **QMC** - library for managing groups of Performance Co-Pilot metrics
    


## C++ SYNOPSIS



           **#include <qmc.h>**
    
           **c++ ... -lpcp_qmc -lpcp**
    


## DESCRIPTION



           The  Qt-based  Performance  Metrics Class (**QMC**) class library is a
           collection of C++ classes for managing a large set of  performance
           metrics  from  a  variety  of sources.  This library is built over
           PMAPI(3).
    


## DIAGNOSTICS



           Error  messages  are  generated  using  pmprintf(3)  but  are  not
           flushed.  It  is the responsibility of the user to call pmflush(3)
           to output any messages.
    
           Additional diagnostics may be activated by adding the  option  **pmc**
           to   the   global   debugging   specification,   as  described  in
           pmSetDebug(3).
    


* * *
# pmprintf

## NAME



           **pmprintf** , **pmflush** - print formatted output in a window or to
           standard error
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmprintf(const char ***_fmt_**, ... /***_args_***/);**
           **int pmflush(void);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           The  combination of **pmprintf** and **pmflush** produces output in either
           an **xconfirm**(1) window, on the standard error stream, or to a  file
           in  a  manner  similar to fprintf(3).  The _fmt_ argument is used to
           control the conversion, formatting, and printing of  the  variable
           length _args_ list.  The output technique is controlled via an envi‐
           ronment variable.
    
           **pmprintf** appends  the  formatted  message  string  to an internal
           buffer shared by the two routines, without actually producing  any
           output.
    
           **pmflush** causes  the  internal  buffer to be either displayed in a
           window, printed on standard error, or flushed to a  file  and  the
           internal buffer to be cleared.
    


## DIAGNOSTICS



           On  successful  completion, **pmprintf** returns the number of charac‐
           ters transmitted, while **pmflush** returns a value of  zero  on  suc‐
           cessful completion.
    
           For  either  routine, a negative value is returned if an error was
           encountered, and this can be passed to pmErrStr(3) to  obtain  the
           associated error message.
    


## FILES



           **pmprintf** uses the mkstemp(3) function to create a temporary file.
           This temporary file is deleted when **pmflush** is called.
    


## ENVIRONMENT



           The environment variable **PCP_STDERR** controls the output  technique
           used by **pmflush** :
    
               If  **PCP_STDERR** is  unset, the text is written onto the _stderr_
               stream of the caller.
    
               If **PCP_STDERR** is set to the literal reserved word **DISPLAY** then
               the text will be displayed as a GUI dialog using **xconfirm**(1).
    
               If **PCP_STDERR** is set to any other value  then  **pmflush** inter‐
               prets  the  value  as a file name and appends the text to that
               file.  The file is created if it doesn't already exist, and in
               this case if the file creation fails, then _stderr_ is used  in‐
               stead).
    


* * *
# probe::netfilter.arp.out

## NAME



           probe::netfilter.arp.out - - Called for each outgoing ARP packet
    


## SYNOPSIS



           netfilter.arp.out
    


## VALUES



           _nf_drop_
               Constant used to signify a 'drop' verdict
    
           _ar_pln_
               Length of protocol address
    
           _length_
               The length of the packet buffer contents, in bytes
    
           _ar_tip_
               Ethernet+IP only (ar_pro==0x800): target IP address
    
           _outdev_
               Address of net_device representing output device, 0 if unknown
    
           _ar_hln_
               Length of hardware address
    
           _data_hex_
               A hexadecimal string representing the packet buffer contents
    
           _nf_accept_
               Constant used to signify an 'accept' verdict
    
           _nf_stop_
               Constant used to signify a 'stop' verdict
    
           _ar_hrd_
               Format of hardware address
    
           _nf_repeat_
               Constant used to signify a 'repeat' verdict
    
           _data_str_
               A string representing the packet buffer contents
    
           _indev_
               Address of net_device representing input device, 0 if unknown
    
           _ar_tha_
               Ethernet+IP only (ar_pro==0x800): target hardware (MAC)
               address
    
           _arphdr_
               Address of ARP header
    
           _ar_pro_
               Format of protocol address
    
           _nf_queue_
               Constant used to signify a 'queue' verdict
    
           _outdev_name_
               Name of network device packet will be routed to (if known)
    
           _nf_stolen_
               Constant used to signify a 'stolen' verdict
    
           _ar_sip_
               Ethernet+IP only (ar_pro==0x800): source IP address
    
           _ar_data_
               Address of ARP packet data region (after the header)
    
           _pf_
               Protocol family -- always “arp”
    
           _ar_sha_
               Ethernet+IP only (ar_pro==0x800): source hardware (MAC)
               address
    
           _indev_name_
               Name of network device packet was received on (if known)
    
           _ar_op_
               ARP opcode (command)
    


* * *
# io_uring_get_sqe

## NAME



           io_uring_get_sqe - get the next available submission queue entry
           from the submission queue
    


## SYNOPSIS



           **#include <liburing.h>**
    
           **struct io_uring_sqe *io_uring_get_sqe(struct io_uring ***_ring_**);**
    


## DESCRIPTION



           The io_uring_get_sqe(3) function gets the next available
           submission queue entry from the submission queue belonging to the
           _ring_ param.
    
           On success io_uring_get_sqe(3) returns a pointer to the submission
           queue entry. On failure NULL is returned.
    
           If a submission queue entry is returned, it should be filled out
           via one of the prep functions such as io_uring_prep_read(3) and
           submitted via io_uring_submit(3).
    
           Note that neither **io_uring_get_sqe** nor the prep functions set (or
           clear) the **user_data** field of the SQE. If the caller expects
           io_uring_cqe_get_data(3) or io_uring_cqe_get_data64(3) to return
           valid data when reaping IO completions, either
           io_uring_sqe_set_data(3) or io_uring_sqe_set_data64(3) **MUST** have
           been called before submitting the request.
    


## RETURN VALUE



           io_uring_get_sqe(3) returns a pointer to the next submission queue
           event on success and NULL on failure. If NULL is returned, the SQ
           ring is currently full and entries must be submitted for
           processing before new ones can get allocated.
    


* * *
# pmdaname

## NAME



           **pmdaName** - translate a PMID to a set of dynamic performance metric
           names
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
           **#include <pcp/pmda.h>**
    
           **int pmdaName(pmID** _pmid_**, char *****_nameset_**, pmdaExt ***_pmda_**);**
    
           **cc ... -lpcp_pmda -lpcp**
    


## DESCRIPTION



           As  part  of  the Performance Metrics Domain Agent (PMDA) API (see
           PMDA(3)), **pmdaName** is the generic callback for translating a  _pmid_
           into one or more dynamic metric names (_nameset_).
    
           Because implementing dynamic performance metrics requires specific
           PMDA  support, and the facility is an optional component of a PMDA
           (most PMDAs do **not** support dynamic performance metrics),  **pmdaName**
           is a skeleton implementation that returns **PM_ERR_NAME**.
    
           A  PMDA  that  supports dynamic performance metrics will provide a
           private callback that replaces **pmdaName**(by  assignment  to  _ver‐_
           _sion.four.name_  of the _pmdaInterface_ structure) and implements the
           translation from a _pmid_ to a set  of  dynamic  performance  metric
           names returned via _nameset_.  The behaviour, return values and mem‐
           ory allocation rules for _nameset_ are the same as for pmNameAll(3).
    


## CAVEAT



           The  PMDA must be using **PMDA_INTERFACE_4** or later, as specified in
           the call to pmdaDSO(3) or pmdaDaemon(3).
    


## DIAGNOSTICS



           **pmdaName** returns **PM_ERR_PMID** if the name is not recognized or can‐
           not be translated, otherwise the  number  of  metric  names  found
           (most commonly 1).
    


* * *
# pcap_inject

## NAME



           pcap_inject, pcap_sendpacket - transmit a packet
    


## SYNOPSIS



           **#include <pcap/pcap.h>**
    
           **int pcap_inject(pcap_t *p, const void *buf, size_t size);**
           **int pcap_sendpacket(pcap_t *p, const u_char *buf, int size);**
    


## DESCRIPTION



           **pcap_inject**() sends a raw packet through the network interface;
           _buf_ points to the data of the packet, including the link-layer
           header, and _size_ is the number of bytes in the packet.
    
           Note that, even if you successfully open the network interface,
           you might not have permission to send packets on it, or it might
           not support sending packets; as **pcap_open_live**(3PCAP) doesn't have
           a flag to indicate whether to open for capturing, sending, or
           capturing and sending, you cannot request an open that supports
           sending and be notified at open time whether sending will be
           possible.  The same limitation applies to **pcap_create**(3PCAP) and
           **pcap_activate**(3PCAP).  Note also that some devices might not
           support sending packets.
    
           Note that, on some platforms, the link-layer header of the packet
           that's sent might not be the same as the link-layer header of the
           packet supplied to **pcap_inject**(), as the source link-layer
           address, if the header contains such an address, might be changed
           to be the address assigned to the interface on which the packet it
           sent, if the platform doesn't support sending completely raw and
           unchanged packets.  Even worse, some drivers on some platforms
           might change the link-layer type field to whatever value libpcap
           used when attaching to the device, even on platforms that _do_
           nominally support sending completely raw and unchanged packets.
    
           **pcap_sendpacket**() is like **pcap_inject**(), but it returns **0** on
           success, rather than returning the number of bytes written.
           (**pcap_inject**() comes from OpenBSD; **pcap_sendpacket**() comes from
           WinPcap/Npcap.  Both are provided for compatibility.)
    


## RETURN VALUE



           **pcap_inject**() returns the number of bytes written on success,
           **PCAP_ERROR_NOT_ACTIVATED** if called on a capture handle that has
           been created but not activated, and **PCAP_ERROR** on other errors.
    
           **pcap_sendpacket**() returns **0** on success, **PCAP_ERROR_NOT_ACTIVATED**
           if called on a capture handle that has been created but not
           activated, and **PCAP_ERROR** on other errors.
    
           If **PCAP_ERROR** is returned, **pcap_geterr**(3PCAP) or
           **pcap_perror**(3PCAP) may be called with _p_ as an argument to fetch or
           display the error text.
    


* * *
# function::gettimeofday_us

## NAME



           function::gettimeofday_us - Number of microseconds since UNIX
           epoch
    


## SYNOPSIS



               gettimeofday_us:long()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This function returns the number of microseconds since the UNIX
           epoch.
    


* * *
# pam_error

## NAME



           pam_error, pam_verror - display error messages to the user
    


## SYNOPSIS



           **#include <security/pam_ext.h>**
    
           **int pam_error(pam_handle_t ***_pamh_**, const char ***_fmt_**,**_..._**);**
    
           **int pam_verror(pam_handle_t ***_pamh_**, const char ***_fmt_**, va_list** _args_**);**
    


## DESCRIPTION



           The **pam_error** function prints error messages through the
           conversation function to the user.
    
           The **pam_verror** function performs the same task as **pam_error()** with
           the difference that it takes a set of arguments which have been
           obtained using the stdarg(3) variable argument list macros.
    


## RETURN VALUES



           PAM_BUF_ERR
               Memory buffer error.
    
           PAM_CONV_ERR
               Conversation failure.
    
           PAM_SUCCESS
               Error message was displayed.
    
           PAM_SYSTEM_ERR
               System error.
    


## STANDARDS



           The **pam_error** and **pam_verror** functions are Linux-PAM extensions.
    


* * *
# function::cpu_clock_s

## NAME



           function::cpu_clock_s - Number of seconds on the given cpu's clock
    


## SYNOPSIS



               cpu_clock_s:long(cpu:long)
    


## ARGUMENTS



           _cpu_
               Which processor's clock to read
    


## DESCRIPTION



           This function returns the number of seconds on the given cpu's
           clock. This is always monotonic comparing on the same cpu, but may
           have some drift between cpus (within about a jiffy).
    


* * *
# pcap_freecode

## NAME



           pcap_freecode - free a BPF program
    


## SYNOPSIS



           **#include <pcap/pcap.h>**
    
           **void pcap_freecode(struct bpf_program *);**
    


## DESCRIPTION



           **pcap_freecode**() is used to free up allocated memory pointed to by
           a _bpf_program_ struct generated by **pcap_compile**(3PCAP) when that
           BPF program is no longer needed, for example after it has been
           made the filter program for a pcap structure by a call to
           **pcap_setfilter**(3PCAP).
    


* * *
# function::ppfunc

## NAME



           function::ppfunc - Returns the function name parsed from **pp**
    


## SYNOPSIS



               ppfunc:string()
    


## ARGUMENTS



           None
    


## DESCRIPTION



           This returns the function name from the current **pp**. Not all **pp**
           have functions in them, in which case "" is returned.
    


* * *
# fputws

## NAME



           fputws - write a wide-character string to a FILE stream
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <wchar.h>**
    
           **int fputws(const wchar_t *restrict** _ws_**, FILE *restrict** _stream_**);**
    


## DESCRIPTION



           The **fputws**() function is the wide-character equivalent of the
           fputs(3) function.  It writes the wide-character string starting
           at _ws_ , up to but not including the terminating null wide character
           (L'\0'), to _stream_.
    
           For a nonlocking counterpart, see unlocked_stdio(3).
    


## RETURN VALUE



           The **fputws**() function returns a nonnegative integer if the
           operation was successful, or -1 to indicate an error.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


## NOTES



           The behavior of **fputws**() depends on the **LC_CTYPE** category of the
           current locale.
    
           In the absence of additional information passed to the fopen(3)
           call, it is reasonable to expect that **fputws**() will actually write
           the multibyte string corresponding to the wide-character string
           _ws_.
    


* * *
# function::usecs_to_string

## NAME



           function::usecs_to_string - Human readable string for given
           microseconds
    


## SYNOPSIS



               usecs_to_string:string(usecs:long)
    


## ARGUMENTS



           _usecs_
               Number of microseconds to translate.
    


## DESCRIPTION



           Returns a string representing the number of microseconds as a
           human readable string consisting of “XmY.ZZZZZZs”, where X is the
           number of minutes, Y is the number of seconds and ZZZZZZ is the
           number of microseconds.
    


* * *
# function::task_ns_pid

## NAME



           function::task_ns_pid - The process identifier of the task
    


## SYNOPSIS



               task_ns_pid:long(task:long)
    


## ARGUMENTS



           _task_
               task_struct pointer
    


## DESCRIPTION



           This fucntion returns the process id of the given task based on
           the specified pid namespace..
    


* * *
# fegetexceptflag

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



           fegetexceptflag, fesetexceptflag — get and set floating-point
           status flags
    


## SYNOPSIS



           #include <fenv.h>
    
           int fegetexceptflag(fexcept_t *_flagp_ , int _excepts_);
           int fesetexceptflag(const fexcept_t *_flagp_ , int _excepts_);
    


## DESCRIPTION



           The functionality described on this reference page is aligned with
           the ISO C standard. Any conflict between the requirements
           described here and the ISO C standard is unintentional. This
           volume of POSIX.1‐2017 defers to the ISO C standard.
    
           The _fegetexceptflag_() function shall attempt to store an
           implementation-defined representation of the states of the
           floating-point status flags indicated by the argument _excepts_ in
           the object pointed to by the argument _flagp_.
    
           The _fesetexceptflag_() function shall attempt to set the floating-
           point status flags indicated by the argument _excepts_ to the states
           stored in the object pointed to by _flagp_.  The value pointed to by
           _flagp_ shall have been set by a previous call to _fegetexceptflag_()
           whose second argument represented at least those floating-point
           exceptions represented by the argument _excepts_.  This function
           does not raise floating-point exceptions, but only sets the state
           of the flags.
    


## RETURN VALUE



           If the representation was successfully stored, _fegetexceptflag_()
           shall return zero. Otherwise, it shall return a non-zero value. If
           the _excepts_ argument is zero or if all the specified exceptions
           were successfully set, _fesetexceptflag_() shall return zero.
           Otherwise, it shall return a non-zero value.
    


## ERRORS



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


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# __ppc_get_timebase

## NAME



           __ppc_get_timebase, __ppc_get_timebase_freq - get the current
           value of the Time Base Register on Power architecture and its
           frequency.
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <sys/platform/ppc.h>**
    
           **uint64_t __ppc_get_timebase(void);**
           **uint64_t __ppc_get_timebase_freq(void);**
    


## DESCRIPTION



           **__ppc_get_timebase**() reads the current value of the Time Base
           Register and returns its value, while **__ppc_get_timebase_freq**()
           returns the frequency in which the Time Base Register is updated.
    
           The Time Base Register is a 64-bit register provided by Power
           Architecture processors.  It stores a monotonically incremented
           value that is updated at a system-dependent frequency that may be
           different from the processor frequency.
    


## RETURN VALUE



           **__ppc_get_timebase**() returns a 64-bit unsigned integer that
           represents the current value of the Time Base Register.
    
           **__ppc_get_timebase_freq**() returns a 64-bit unsigned integer that
           represents the frequency at which the Time Base Register is
           updated.
    


## STANDARDS



           GNU.
    


## EXAMPLES



           The following program will calculate the time, in microseconds,
           spent between two calls to **__ppc_get_timebase**().
    
       **Program source**
    
           #include <inttypes.h>
           #include <stdint.h>
           #include <stdio.h>
           #include <stdlib.h>
           #include <sys/platform/ppc.h>
    
           /* Maximum value of the Time Base Register: 2^60 - 1.
              Source: POWER ISA.  */
           #define MAX_TB 0xFFFFFFFFFFFFFFF
    
           int
           main(void)
           {
               uint64_t tb1, tb2, diff;
               uint64_t freq;
    
               freq = __ppc_get_timebase_freq();
               printf("Time Base frequency = %"PRIu64" Hz\n", freq);
    
               tb1 = __ppc_get_timebase();
    
               // Do some stuff...
    
               tb2 = __ppc_get_timebase();
    
               if (tb2 > tb1) {
                   diff = tb2 - tb1;
               } else {
                   /* Treat Time Base Register overflow.  */
                   diff = (MAX_TB - tb2) + tb1;
               }
    
               printf("Elapsed time  = %1.2f usecs\n",
                      (double) diff * 1000000 / freq);
    
               exit(EXIT_SUCCESS);
           }
    


* * *
# rdma_bind_addr

## NAME



           rdma_bind_addr - Bind an RDMA identifier to a source address.
    


## SYNOPSIS



           **#include <rdma/rdma_cma.h>**
    
           **int rdma_bind_addr (struct rdma_cm_id ***_id_**, struct sockaddr ***_addr_**);**
    


## ARGUMENTS



           id          RDMA identifier.
    
           addr        Local address information.  Wildcard values are
                       permitted.
    


## DESCRIPTION



           Associates a source address with an rdma_cm_id.  The address may
           be wildcarded.  If binding to a specific local address, the
           rdma_cm_id will also be bound to a local RDMA device.
    


## RETURN VALUE



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


## NOTES



           Typically, this routine is called before calling rdma_listen to
           bind to a specific port number, but it may also be called on the
           active side of a connection before calling rdma_resolve_addr to
           bind to a specific address.
    
           If used to bind to port 0, the rdma_cm will select an available
           port, which can be retrieved with rdma_get_src_port(3).
    


* * *
# gnutls_x509_crt_get_expiration_time

## NAME



           gnutls_x509_crt_get_expiration_time - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **time_t gnutls_x509_crt_get_expiration_time(gnutls_x509_crt_t**
           _cert_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t cert
                       should contain a **gnutls_x509_crt_t** type
    


## DESCRIPTION



           This function will return the time this certificate was or will be
           expired.
    


## RETURNS



           expiration time, or (time_t)-1 on error.
    


* * *
# ausearch_add_timestamp_item

## NAME



           ausearch_add_timestamp_item - build up search rule
    


## SYNOPSIS



           **#include <auparse.h>**
    
           **int ausearch_add_timestamp_item(auparse_state_t**
           *****_au,_**const** _char_***"**_op,_**time_t"**_sec,_**unsigned"**_milli,_**ausearch_rule_t"**_how);"_
    


## DESCRIPTION



           ausearch_add_timestamp_item adds an event time 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 op parameter specifies the desired comparison. Legal op values
           are _<_ , _< =_, _> =_, _>_ and _=_.  The left operand of the comparison
           operator is the timestamp of the examined event, the right operand
           is specified by the sec and milli parameters.
    
           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.
    


## APPLICATION USAGE



           Use ausearch_add_item(3) and ausearch_add_interpreted_item(3) to
           add conditions that check audit record fields.  Use
           ausearch_add_expression(3) to add complex search expressions using
           a single function call.
    


* * *
# rdma_init_qp_attr

## NAME



           rdma_init_qp_attr - Returns qp attributes of an rdma_cm_id.
    


## SYNOPSIS



                  #include <rdma/rdma_cma.h>
    
                  int rdma_init_qp_attr(struct rdma_cm_id *id,
                                 struct ibv_qp_attr *qp_attr,
                                 int *qp_attr_mask);
    


## DESCRIPTION



           **rdma_init_qp_attr()** returns qp attributes of an rdma_cm_id.
    
           Information about qp attributes and qp attributes mask is returned
           through the _qp_attr_ and _qp_attr_mask_ parameters.
    
           For details on the qp_attr structure, see ibv_modify_qp.
    


## ARGUMENTS



           _id_     RDMA identifier.
    
           _qp_attr_
                  A reference to a qp attributes struct containing response
                  information.
    
           _qp_attr_mask_
                  A reference to a qp attributes mask containing response
                  information.
    


## RETURN VALUE



           **rdma_init_qp_attr()** returns 0 on success, or -1 on error.  If an
           error occurs, errno will be set to indicate the failure reason.
    


* * *
# pmsetdebug

## NAME



           **pmSetDebug** , **pmDebug** , **pmGetDebug** , **pmClearDebug** - manipulate PCP
           debugging control options
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmSetDebug(const char ***_spec_**);**
           **int pmDebug(const char ***_spec_**);**
           **char *pmGetDebug(void);**
           **int pmClearDebug(const char ***_spec_**);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           Within  the libraries and applications of the Performance Co-Pilot
           (PCP) there is an extensive set of debugging options that  may  be
           enabled or disabled at run-time.
    
           **pmSetDebug** , **pmDebug** and **pmClearDebug** all parse _spec_ assuming it to
           be a comma separated list of PCP debug option names.
    
           The names of the available options may be found using the **-l** argu‐
           ment to pmdbg(1).
    
           As  a  special  case, the name ``all'' is treated as a synonym for
           identifying all option names.
    
           **pmSetDebug** will set the corresponding options, while  **pmClearDebug**
           will clear the corresponding options.
    
           **pmDebug** is used to test if options have been set and returns 1 if
           at least one of the options in _spec_ has been set, else it  returns
           0.
    
           Consecutive calls to either **pmSetDebug** or **pmClearDebug** will be ad‐
           ditive.   For  example the following code fragments are equivalent
           in terms of the final state of the debug options.
    
                sts = pmClearDebug("all");
                sts = pmSetDebug("appl0");
                sts = pmSetDebug("pdu,fetch");
                sts = pmSetDebug("fetch,profile,context");
                sts = pmClearDebug("appl0");
    
                sts = pmClearDebug("all");
                sts = pmSetDebug("pdu,fetch,profile,context");
    
           For applications that use pmGetOptions(3) to process command  line
           options and arguments, setting the environment variable **$PCP_DEBUG**
           provides an alternative mechanism to set debug flags, as described
           in PCPIntro(1).
    
           **pmGetDebug** returns the current set of enabled debug options as a a
           comma separated list.  If no options are set then the result is an
           empty  string.  If every option is set then the result is ``all''.
           The result is allocated by malloc(3) and the caller is responsible
           for calling free(3) when the result is no longer needed.
    


## DIAGNOSTICS



           If successful, the routines **pmSetDebug** , **pmDebug** and  **pmClearDebug**
           return  0 or 1, otherwise the return is **PM_ERR_CONV** to indicate an
           error parsing _spec_.
    
           For **pmGetDebug** a return value of NULL indicates a malloc(3)  fail‐
           ure.
    


* * *