tripathysagar/man_text huggingface dataset:
# audit_log_semanage_message

## NAME



           audit_log_semanage_message - log a semanage message
    


## SYNOPSIS



           **#include <libaudit.h>**
    
           **int**
           **audit_log_semanage_message(int** _audit_fd,_**int"**_type,_**.B** _const_**char** _*"_**pgname,**_const_**char** _*"_**op,**_const_**char** _*"_**name,**_unsigned_**int"**_id,_**.B** _const_**char** _*"_**new_seuser,**_const_**char** _*"_**new_role,**_const_**char** _*"_**new_range,**_.B_**const** _char_***"**_old_seuser,_**const** _char_***"**_old_role,_**const** _char_***"**_old_range,_**.B** _const_**char** _*"_**host,**_const_**char** _*"_**addr,**_const_**char** _*"_**tty,**_int"_**result);"**
    


## DESCRIPTION



           This function will log a message to the audit system using a
           predefined message format. It should be used for all SE Linux user
           and role manipulation operations. The function parameters are as
           follows:
    
           _audit_fd_ - The fd returned by audit_open
           _type_ - type of message: AUDIT_ROLE_ASSIGN/REMOVE for changing any SE Linux user or role attributes.
           _pgname_ - program's name
           op  -  operation. "adding-user", "adding-role", "deleting-user", "deleting-role"
           _name_ - user's account. If not available use NULL.
           id  -  uid that the operation is being performed on. This is used only when name is NULL.
           _new_seuser_ - the new seuser that the login user is getting
           _new_role_ - the new_role that the login user is getting
           _new_range_ - the new mls range that the login user is getting
           _old_seuser_ - the old seuser that the login usr had
           _old_role_ - the old role that the login user had
           _old_range_ - the old mls range that the login usr had
           _host_ - The hostname if known
           _addr_ - The network address of the user
           tty  - The tty of the user
           _result_ - 1 is "success" and 0 is "failed"
    


## RETURN VALUE



           It returns the sequence number which is > 0 on success or <= 0 on
           error.
    


## ERRORS



           This function returns -1 on failure. Examine errno for more info.
    


* * *
# pam_prompt

## NAME



           pam_prompt, pam_vprompt - interface to conversation function
    


## SYNOPSIS



           **#include <security/pam_ext.h>**
    
           **int pam_prompt(pam_handle_t ***_pamh_**, int** _style_**, char ****_response_**,**
                          **const char ***_fmt_**,**_..._**);**
    
           **int pam_vprompt(pam_handle_t ***_pamh_**, int** _style_**, char ****_response_**,**
                           **const char ***_fmt_**, va_list** _args_**);**
    


## DESCRIPTION



           The **pam_prompt** function constructs a message from the specified
           format string and arguments and passes it to the conversation
           function as set by the service. Upon successful return, _response_
           is set to point to a string returned from the conversation
           function. This string is allocated on heap and should be freed.
    


## RETURN VALUES



           PAM_BUF_ERR
               Memory buffer error.
    
           PAM_CONV_ERR
               Conversation failure.
    
           PAM_SUCCESS
               Conversation succeeded, response is set.
    
           PAM_SYSTEM_ERR
               System error.
    


## STANDARDS



           The **pam_prompt** and **pam_vprompt** functions are Linux-PAM extensions.
    


* * *
# function::set_ulong_arg

## NAME



           function::set_ulong_arg - Set function argument as unsigned long
    


## SYNOPSIS



               set_ulong_arg(n:long,v:long)
    


## ARGUMENTS



           _n_
               index of argument to return
    
           _v_
               value to set
    


## DESCRIPTION



           Set the value of argument n as an unsigned long. On architectures
           where a long is 32 bits, the value is zero-extended to 64 bits.
    


* * *
# gnutls_transport_set_fastopen

## NAME



           gnutls_transport_set_fastopen - API function
    


## SYNOPSIS



           **#include <gnutls/socket.h>**
    
           **void gnutls_transport_set_fastopen(gnutls_session_t** _session_**, int**
           _fd_**, struct sockaddr ***_connect_addr_**, socklen_t** _connect_addrlen_**,**
           **unsigned int** _flags_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           int fd      is the session's socket descriptor
    
           struct sockaddr * connect_addr
                       is the address we want to connect to
    
           socklen_t connect_addrlen
                       is the length of  _connect_addr_
    
           unsigned int flags
                       must be zero
    


## DESCRIPTION



           Enables TCP Fast Open (TFO) for the specified TLS client session.
           That means that TCP connection establishment and the transmission
           of the first TLS client hello packet are combined. The peer's
           address must be  specified in  _connect_addr_ and  _connect_addrlen_ ,
           and the socket specified by  _fd_ should not be connected.
    
           TFO only works for TCP sockets of type AF_INET and AF_INET6.  If
           the OS doesn't support TCP fast open this function will result to
           gnutls using **connect()** transparently during the first write.
    


## NOTE



           This function overrides all the transport callback functions.  If
           this is undesirable, TCP Fast Open must be implemented on the user
           callback functions without calling this function. When using this
           function, transport callbacks must not be set, and
           **gnutls_transport_set_ptr()** or **gnutls_transport_set_int()** must not
           be called.
    
           On GNU/Linux TFO has to be enabled at the system layer, that is in
           /proc/sys/net/ipv4/tcp_fastopen, bit 0 has to be set.
    
           This function has no effect on server sessions.
    


## SINCE



           3.5.3
    


* * *
# gnutls_x509_ext_import_policies

## NAME



           gnutls_x509_ext_import_policies - API function
    


## SYNOPSIS



           **#include <gnutls/x509-ext.h>**
    
           **int gnutls_x509_ext_import_policies(const gnutls_datum_t ***_ext_**,**
           **gnutls_x509_policies_t** _policies_**, unsigned int** _flags_**);**
    


## ARGUMENTS



           const gnutls_datum_t * ext
                       the DER encoded extension data
    
           gnutls_x509_policies_t policies
                       A pointer to an initialized policies.
    
           unsigned int flags
                       should be zero
    


## DESCRIPTION



           This function will extract the certificate policy extension
           (2.5.29.32) and store it the provided policies.
    


## RETURNS



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


## SINCE



           3.3.0
    


* * *
# gnutls_session_channel_binding

## NAME



           gnutls_session_channel_binding - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_session_channel_binding(gnutls_session_t** _session_**,**
           **gnutls_channel_binding_t** _cbtype_**, gnutls_datum_t ***_cb_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           gnutls_channel_binding_t cbtype
                       an **gnutls_channel_binding_t** enumeration type
    
           gnutls_datum_t * cb
                       output buffer array with data
    


## DESCRIPTION



           Extract given channel binding data of the  _cbtype_ (e.g.,
           **GNUTLS_CB_TLS_UNIQUE**) type.
    


## RETURNS



           **GNUTLS_E_SUCCESS** on success, **GNUTLS_E_UNIMPLEMENTED_FEATURE** if the
           _cbtype_ is unsupported, **GNUTLS_E_CHANNEL_BINDING_NOT_AVAILABLE** if
           the data is not currently available, or an error code.
    


## SINCE



           2.12.0
    


* * *
# pthread_self

## NAME



           pthread_self - obtain ID of the calling thread
    


## LIBRARY



           POSIX threads library (_libpthread_ , _-lpthread_)
    


## SYNOPSIS



           **#include <pthread.h>**
    
           **pthread_t pthread_self(void);**
    


## DESCRIPTION



           The **pthread_self**() function returns the ID of the calling thread.
           This is the same value that is returned in _*thread_ in the
           pthread_create(3) call that created this thread.
    


## RETURN VALUE



           This function always succeeds, returning the calling thread's ID.
    


## ERRORS



           This function always succeeds.
    


## ATTRIBUTES



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


## STANDARDS



           POSIX.1-2008.
    


## NOTES



           POSIX.1 allows an implementation wide freedom in choosing the type
           used to represent a thread ID; for example, representation using
           either an arithmetic type or a structure is permitted.  Therefore,
           variables of type _pthread_t_ can't portably be compared using the C
           equality operator (**==**); use pthread_equal(3) instead.
    
           Thread identifiers should be considered opaque: any attempt to use
           a thread ID other than in pthreads calls is nonportable and can
           lead to unspecified results.
    
           Thread IDs are guaranteed to be unique only within a process.  A
           thread ID may be reused after a terminated thread has been joined,
           or a detached thread has terminated.
    
           The thread ID returned by **pthread_self**() is not the same thing as
           the kernel thread ID returned by a call to gettid(2).
    


* * *
# setitimer

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



           setitimer — set the value of an interval timer
    


## SYNOPSIS



           #include <sys/time.h>
    
           int setitimer(int _which_ , const struct itimerval *restrict _value_ ,
               struct itimerval *restrict _ovalue_);
    


## DESCRIPTION



           Refer to getitimer(3p).
    


* * *
# gnutls_x509_crl_get_signature_oid

## NAME



           gnutls_x509_crl_get_signature_oid - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crl_get_signature_oid(gnutls_x509_crl_t** _crl_**, char**
           *****_oid_**, size_t ***_oid_size_**);**
    


## ARGUMENTS



           gnutls_x509_crl_t crl
                       should contain a **gnutls_x509_crl_t** type
    
           char * oid  a pointer to a buffer to hold the OID (may be null)
    
           size_t * oid_size
                       initially holds the size of  _oid_
    


## DESCRIPTION



           This function will return the OID of the signature algorithm that
           has been used to sign this CRL. This is function is useful in the
           case **gnutls_x509_crl_get_signature_algorithm()** returned
           **GNUTLS_SIGN_UNKNOWN**.
    


## RETURNS



           zero or a negative error code on error.
    


## SINCE



           3.5.0
    


* * *
# gnutls_pkcs11_privkey_get_pk_algorithm

## NAME



           gnutls_pkcs11_privkey_get_pk_algorithm - API function
    


## SYNOPSIS



           **#include <gnutls/pkcs11.h>**
    
           **int gnutls_pkcs11_privkey_get_pk_algorithm(gnutls_pkcs11_privkey_t**
           _key_**, unsigned int ***_bits_**);**
    


## ARGUMENTS



           gnutls_pkcs11_privkey_t key
                       should contain a **gnutls_pkcs11_privkey_t** type
    
           unsigned int * bits
                       if bits is non null it will hold the size of the
                       parameters' in bits
    


## DESCRIPTION



           This function will return the public key algorithm of a private
           key.
    


## RETURNS



           a member of the **gnutls_pk_algorithm_t** enumeration on success, or a
           negative error code on error.
    


* * *
# gnutls_privkey_generate2

## NAME



           gnutls_privkey_generate2 - API function
    


## SYNOPSIS



           **#include <gnutls/abstract.h>**
    
           **int gnutls_privkey_generate2(gnutls_privkey_t** _pkey_**,**
           **gnutls_pk_algorithm_t** _algo_**, unsigned int** _bits_**, unsigned int** _flags_**,**
           **const gnutls_keygen_data_st ***_data_**, unsigned** _data_size_**);**
    


## ARGUMENTS



           gnutls_privkey_t pkey
                       The private key
    
           gnutls_pk_algorithm_t algo
                       is one of the algorithms in **gnutls_pk_algorithm_t**.
    
           unsigned int bits
                       the size of the modulus
    
           unsigned int flags
                       Must be zero or flags from **gnutls_privkey_flags_t**.
    
           const gnutls_keygen_data_st * data
                       Allow specifying **gnutls_keygen_data_st** types such as
                       the seed to be used.
    
           unsigned data_size
                       The number of  _data_ available.
    


## DESCRIPTION



           This function will generate a random private key. Note that this
           function must be called on an initialized private key.
    
           The flag **GNUTLS_PRIVKEY_FLAG_PROVABLE** instructs the key generation
           process to use algorithms like Shawe-Taylor (from FIPS PUB186-4)
           which generate provable parameters out of a seed for RSA and DSA
           keys. On DSA keys the PQG parameters are generated using the seed,
           while on RSA the two primes. To specify an explicit seed (by
           default a random seed is used), use the  _data_ with a
           **GNUTLS_KEYGEN_SEED** type.
    
           Note that when generating an elliptic curve key, the curve can be
           substituted in the place of the bits parameter using the
           **GNUTLS_CURVE_TO_BITS()** macro.
    
           To export the generated keys in memory or in files it is
           recommended to use the PKCS**8** form as it can handle all key types,
           and can store additional parameters such as the seed, in case of
           provable RSA or DSA keys.  Generated keys can be exported in
           memory using **gnutls_privkey_export_x509()** , and then with
           **gnutls_x509_privkey_export2_pkcs8()**.
    
           If key generation is part of your application, avoid setting the
           number of bits directly, and instead use
           **gnutls_sec_param_to_pk_bits()**.  That way the generated keys will
           adapt to the security levels of the underlying GnuTLS library.
    


## RETURNS



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


## SINCE



           3.5.0
    


* * *
# probe::tty.release

## NAME



           probe::tty.release - Called when the tty is closed
    


## SYNOPSIS



           tty.release
    


## VALUES



           _file_mode_
               the file mode
    
           _file_name_
               the file name
    
           _file_flags_
               the file flags
    
           _inode_flags_
               the inode flags
    
           _inode_state_
               the inode state
    
           _inode_number_
               the inode number
    


* * *
# security_class_to_string

## NAME



           security_class_to_string, security_av_perm_to_string,
           string_to_security_class, string_to_av_perm, security_av_string,
           mode_to_security_class - convert between SELinux class and
           permission values and string names.  print_access_vector - display
           an access vector in human-readable form.
    


## SYNOPSIS



           **#include <selinux/selinux.h>**
    
           **const char *security_class_to_string(security_class_t** _tclass_**);**
    
           **const char *security_av_perm_to_string(security_class_t** _tclass_**,**
           **access_vector_t** _av_**);**
    
           **int security_av_string(security_class_t** _tclass_**, access_vector_t**
           _av_**, char ****_result_**);**
    
           **security_class_t string_to_security_class(const char ***_name_**);**
    
           **security_class_t mode_to_security_class(mode_t** _mode_**);**
    
           **access_vector_t string_to_av_perm(security_class_t** _tclass_**, const**
           **char ***_name_**);**
    
           **void print_access_vector(security_class_t** _tclass_**, access_vector_t**
           _av_**);**
    


## DESCRIPTION



           **security_class_to_string**() returns a string name for class _tclass_ ,
           or NULL if the class is invalid.  The returned string must not be
           modified or freed.
    
           **security_av_perm_to_string**() returns a string name for the access
           vector bit _av_ of class _tclass_ , or NULL if either argument is
           invalid.  The returned string must not be modified or freed.
    
           **security_av_string**() computes a full access vector string
           representation using _tclass_ and _av_ , which may have multiple bits
           set.  The string is returned in the memory pointed to by _result_ ,
           and should be freed by the caller using free(3).
    
           **string_to_security_class**() returns the class value corresponding
           to the string name _name_ , or zero if no such class exists.
    
           **mode_to_security_class**() returns the class value corresponding to
           the specified _mode_ , or zero if no such class exists.
    
           **string_to_av_perm**() returns the access vector bit corresponding to
           the string name _name_ and security class _tclass_ , or zero if no such
           value exists.
    
           **print_access_vector**() displays an access vector in human-readable
           form on the standard output stream.
    


## RETURN VALUE



           **security_av_string**() returns zero on success or -1 on error with
           _errno_ set appropriately.  **print_access_vector**() does not return a
           value. All other functions return zero or NULL on error.
    


## ERRORS



           **EINVAL** A class or access vector argument is not recognized by the
                  currently loaded policy.
    
           **ENOMEM** An attempt to allocate memory failed.
    


* * *
# malloc_usable_size

## NAME



           malloc_usable_size - obtain size of block of memory allocated from
           heap
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <malloc.h>**
    
           **size_t malloc_usable_size(void *_Nullable** _ptr_**);**
    


## DESCRIPTION



           This function can be used for diagnostics or statistics about
           allocations from malloc(3) or a related function.
    


## RETURN VALUE



           **malloc_usable_size**() returns a value no less than the size of the
           block of allocated memory pointed to by _ptr_.  If _ptr_ is NULL, 0 is
           returned.
    


## ATTRIBUTES



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


## STANDARDS



           GNU.
    


## CAVEATS



           The value returned by **malloc_usable_size**() may be greater than the
           requested size of the allocation because of various internal
           implementation details, none of which the programmer should rely
           on.  This function is intended to only be used for diagnostics and
           statistics; writing to the excess memory without first calling
           realloc(3) to resize the allocation is not supported.  The
           returned value is only valid at the time of the call.
    


* * *
# function::sprint_stack

## NAME



           function::sprint_stack - Return stack for kernel addresses from
           string
    


## SYNOPSIS



               sprint_stack:string(stk:string)
    


## ARGUMENTS



           _stk_
               String with list of hexadecimal (kernel) addresses
    


## DESCRIPTION



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


## NOTE



           it is recommended to use **sprint_syms** instead of this function.
    


* * *
# gnutls_dtls_cookie_verify

## NAME



           gnutls_dtls_cookie_verify - API function
    


## SYNOPSIS



           **#include <gnutls/dtls.h>**
    
           **int gnutls_dtls_cookie_verify(gnutls_datum_t ***_key_**, void ***
           _client_data_**, size_t** _client_data_size_**, void ***__msg_**, size_t**
           _msg_size_**, gnutls_dtls_prestate_st ***_prestate_**);**
    


## ARGUMENTS



           gnutls_datum_t * key
                       is a random key to be used at cookie generation
    
           void * client_data
                       contains data identifying the client (i.e. address)
    
           size_t client_data_size
                       The size of client's data
    
           void * _msg An incoming message that initiates a connection.
    
           size_t msg_size
                       The size of the message.
    
           gnutls_dtls_prestate_st * prestate
                       The cookie of this client.
    


## DESCRIPTION



           This function will verify the received message for a valid cookie.
           If a valid cookie is returned then it should be associated with
           the session using **gnutls_dtls_prestate_set()** ;
    
           This function must be called after **gnutls_dtls_cookie_send()**.
    


## RETURNS



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


## SINCE



           3.0
    


* * *
# setpwent

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



           setpwent — user database function
    


## SYNOPSIS



           #include <pwd.h>
    
           void setpwent(void);
    


## DESCRIPTION



           Refer to endpwent(3p).
    


* * *
# pmaddprofile

## NAME



           **pmAddProfile** - add instance(s) to the current PMAPI instance
           profile
    


## C SYNOPSIS



           **#include <pcp/pmapi.h>**
    
           **int pmAddProfile(pmInDom** _indom_**, int** _numinst_**, int ***_instlist_**);**
    
           **cc ... -lpcp**
    


## DESCRIPTION



           The  set  of  instances  for  performance  metrics returned from a
           pmFetch(3) call may be filtered or restricted  using  an  instance
           profile.   There  is one instance profile for each context the ap‐
           plication creates at the Performance Metrics Application  Program‐
           ming  Interface  (PMAPI(3)), and each instance profile may include
           instances from one or more instance domains (see pmLookupDesc(3)).
    
           **pmAddProfile** may be used to add new instance specifications to the
           instance profile of the current PMAPI context.
    
           In the simplest variant, the list of instances identified  by  the
           _instlist_  argument  for the _indom_ instance domain are added to the
           instance profile.  The list of instance identifiers  contains  _nu‐_
           _minst_ values.
    
           The  _indom_  value  would  normally  be  extracted  from  a call to
           pmLookupDesc(3) for a particular performance metric, and  the  in‐
           stances  in  _instlist_  would  typically  be determined by calls to
           pmGetInDom(3) or pmLookupInDom(3).
    
           To select all instances in all instance domains, use
    
              pmAddProfile(PM_INDOM_NULL, 0, (int *)0)
    
           This is the only case where _indom_ may be equal  to  **PM_INDOM_NULL**.
           If _numinst_ is zero, or _instlist_ is NULL, then all instances in _in‐_
           _dom_ are selected.
    


## CAVEAT



           It  is possible to add non-existent instance domains and non-exis‐
           tent instances to an instance profile.  None of the routines  that
           use  the instance profile will ever issue an error if you do this.
           The cost of checking, when checking  is  possible,  outweighs  any
           benefits.
    


## DIAGNOSTICS



           **PM_ERR_PROFILESPEC**
                  _indom_ was **PM_INDOM_NULL** and _instlist_ was not empty
    


* * *
# gnutls_x509_spki_set_rsa_oaep_params

## NAME



           gnutls_x509_spki_set_rsa_oaep_params - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_spki_set_rsa_oaep_params(gnutls_x509_spki_t** _spki_**,**
           **gnutls_digest_algorithm_t** _dig_**, const gnutls_datum_t ***_label_**);**
    


## ARGUMENTS



           gnutls_x509_spki_t spki
                       the SubjectPublicKeyInfo structure
    
           gnutls_digest_algorithm_t dig
                       a digest algorithm of type **gnutls_digest_algorithm_t**
    
           const gnutls_datum_t * label
                       optional label
    


## DESCRIPTION



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


## RETURNS



           zero if the parameters are present or a negative value on error.
    


## SINCE



           3.8.4
    


* * *
# gnutls_digest_get_oid

## NAME



           gnutls_digest_get_oid - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **const char * gnutls_digest_get_oid(gnutls_digest_algorithm_t**
           _algorithm_**);**
    


## ARGUMENTS



           gnutls_digest_algorithm_t algorithm
                       is a digest algorithm
    


## DESCRIPTION



           Convert a **gnutls_digest_algorithm_t** value to its object
           identifier.
    


## RETURNS



           a string that contains the object identifier of the specified
           digest algorithm, or **NULL**.
    


## SINCE



           3.4.3
    


* * *
# gnutls_x509_crt_get_basic_constraints

## NAME



           gnutls_x509_crt_get_basic_constraints - API function
    


## SYNOPSIS



           **#include <gnutls/x509.h>**
    
           **int gnutls_x509_crt_get_basic_constraints(gnutls_x509_crt_t** _cert_**,**
           **unsigned int ***_critical_**, unsigned int ***_ca_**, int ***_pathlen_**);**
    


## ARGUMENTS



           gnutls_x509_crt_t cert
                       should contain a **gnutls_x509_crt_t** type
    
           unsigned int * critical
                       will be non-zero if the extension is marked as
                       critical
    
           unsigned int * ca
                       pointer to output integer indicating CA status, may be
                       NULL, value is 1 if the certificate CA flag is set, 0
                       otherwise.
    
           int * pathlen
                       pointer to output integer indicating path length (may
                       be NULL), non-negative error codes indicate a present
                       pathLenConstraint field and the actual value, -1
                       indicate that the field is absent.
    


## DESCRIPTION



           This function will read the certificate's basic constraints, and
           return the certificates CA status.  It reads the basicConstraints
           X.509 extension (2.5.29.19).
    


## RETURNS



           If the certificate is a CA a positive value will be returned, or
           (0) if the certificate does not have CA flag set.  A negative
           error code may be returned in case of errors.  If the certificate
           does not contain the basicConstraints extension
           GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE will be returned.
    


* * *
# gnutls_handshake_set_hook_function

## NAME



           gnutls_handshake_set_hook_function - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **void gnutls_handshake_set_hook_function(gnutls_session_t** _session_**,**
           **unsigned int** _htype_**, int** _when_**, gnutls_handshake_hook_func** _func_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type
    
           unsigned int htype
                       the **gnutls_handshake_description_t** of the message to
                       hook at
    
           int when    **GNUTLS_HOOK_** * depending on when the hook function
                       should be called
    
           gnutls_handshake_hook_func func
                       is the function to be called
    


## DESCRIPTION



           This function will set a callback to be called after or before the
           specified handshake message has been received or generated. This
           is a generalization of
           **gnutls_handshake_set_post_client_hello_function()**.
    
           To call the hook function prior to the message being generated or
           processed use **GNUTLS_HOOK_PRE** as  _when_ parameter, **GNUTLS_HOOK_POST**
           to call after, and **GNUTLS_HOOK_BOTH** for both cases.
    
           This callback must return 0 on success or a gnutls error code to
           terminate the handshake.
    
           To hook at all handshake messages use an  _htype_ of
           **GNUTLS_HANDSHAKE_ANY**.
    


## WARNING



           You should not use this function to terminate the handshake based
           on client input unless you know what you are doing. Before the
           handshake is finished there is no way to know if there is a
           man-in-the-middle attack being performed.
    


* * *
# addseverity

## NAME



           addseverity - introduce new severity classes
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <fmtmsg.h>**
    
           **int addseverity(int** _severity_**, const char ***_s_**);**
    
       Feature Test Macro Requirements for glibc (see
       feature_test_macros(7)):
    
           **addseverity**():
               Since glibc 2.19:
                   _DEFAULT_SOURCE
               glibc 2.19 and earlier:
                   _SVID_SOURCE
    


## DESCRIPTION



           This function allows the introduction of new severity classes
           which can be addressed by the _severity_ argument of the fmtmsg(3)
           function.  By default, that function knows only how to print
           messages for severity 0-4 (with strings (none), HALT, ERROR,
           WARNING, INFO).  This call attaches the given string _s_ to the
           given value _severity_.  If _s_ is NULL, the severity class with the
           numeric value _severity_ is removed.  It is not possible to
           overwrite or remove one of the default severity classes.  The
           severity value must be nonnegative.
    


## RETURN VALUE



           Upon success, the value **MM_OK** is returned.  Upon error, the return
           value is **MM_NOTOK**.  Possible errors include: out of memory,
           attempt to remove a nonexistent or default severity class.
    


## ATTRIBUTES



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


## STANDARDS



           GNU.
    


## NOTES



           New severity classes can also be added by setting the environment
           variable **SEV_LEVEL**.
    


* * *
# gnutls_pkcs7_get_crt_count

## NAME



           gnutls_pkcs7_get_crt_count - API function
    


## SYNOPSIS



           **#include <gnutls/pkcs7.h>**
    
           **int gnutls_pkcs7_get_crt_count(gnutls_pkcs7_t** _pkcs7_**);**
    


## ARGUMENTS



           gnutls_pkcs7_t pkcs7
                       should contain a **gnutls_pkcs7_t** type
    


## DESCRIPTION



           This function will return the number of certificates in the PKCS7
           or RFC2630 certificate set.
    


## RETURNS



           On success, a positive number is returned, otherwise a negative
           error value.
    


* * *
# security_load_booleans

## NAME



           security_set_boolean, security_commit_booleans,
           security_get_boolean_names, security_get_boolean_active,
           security_get_boolean_pending - routines for manipulating SELinux
           boolean values
    


## SYNOPSIS



           **#include <selinux/selinux.h>**
    
           **int security_get_boolean_names(char *****_names_**, int ***_len_**);**
    
           **int security_get_boolean_pending(const char ***_name_**);**
    
           **int security_get_boolean_active(const char ***_name_**);**
    
           **int security_set_boolean(const char ***_name_**, int** _value_**);**
    
           **int security_set_boolean_list(size_t** _boolcnt_**, SELboolean**
           *****_boollist_**, int** _permanent_**);**
    
           **int security_commit_booleans(void);**
    


## DESCRIPTION



           The SELinux policy can include conditional rules that are enabled
           or disabled based on the current values of a set of policy
           booleans.  These policy booleans allow runtime modification of the
           security policy without having to load a new policy.
    
           The SELinux API allows for a transaction based update. So you can
           set several boolean values and then commit them all at once.
    
           **security_get_boolean_names**() provides a list of boolean names,
           currently supported by the loaded policy.
    
           **security_get_boolean_pending**() returns the pending value for
           boolean or -1 on failure.
    
           **security_get_boolean_active**() returns the active value for boolean
           or -1 on failure.
    
           **security_set_boolean**() sets the pending value for boolean
    
           **security_set_boolean_list**() saves a list of booleans in a single
           transaction. Note that the **int** _permanent_ flag is deprecated and
           should be set to zero.
    
           **security_commit_booleans**() commits all pending values for the
           booleans.
    


## RETURN VALUE



           Where not otherwise stated, functions described in this manual
           page return zero on success or -1 on error.
    


* * *
# tcflush

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



           tcflush — flush non-transmitted output data, non-read input data,
           or both
    


## SYNOPSIS



           #include <termios.h>
    
           int tcflush(int _fildes_ , int _queue_selector_);
    


## DESCRIPTION



           Upon successful completion, _tcflush_() shall discard data written
           to the object referred to by _fildes_ (an open file descriptor
           associated with a terminal) but not transmitted, or data received
           but not read, depending on the value of _queue_selector_ :
    
            *  If _queue_selector_ is TCIFLUSH, it shall flush data received
               but not read.
    
            *  If _queue_selector_ is TCOFLUSH, it shall flush data written but
               not transmitted.
    
            *  If _queue_selector_ is TCIOFLUSH, it shall flush both data
               received but not read and data written but not transmitted.
    
           Attempts to use _tcflush_() from a process which is a member of a
           background process group on a _fildes_ associated with its
           controlling terminal shall cause the process group to be sent a
           SIGTTOU signal.  If the calling thread is blocking SIGTTOU signals
           or the process is ignoring SIGTTOU signals, the process shall be
           allowed to perform the operation, and no signal is sent.
    


## RETURN VALUE



           Upon successful completion, 0 shall be returned. Otherwise, -1
           shall be returned and _errno_ set to indicate the error.
    


## ERRORS



           The _tcflush_() function shall fail if:
    
           **EBADF** The _fildes_ argument is not a valid file descriptor.
    
           **EINVAL** The _queue_selector_ argument is not a supported value.
    
           **EIO** The process group of the writing process is orphaned, the
                  calling thread is not blocking SIGTTOU, and the process is
                  not ignoring SIGTTOU.
    
           **ENOTTY** The file associated with _fildes_ is not a terminal.
    
           _The following sections are informative._
    


## EXAMPLES



           None.
    


## APPLICATION USAGE



           None.
    


## RATIONALE



           None.
    


## FUTURE DIRECTIONS



           None.
    


* * *
# towctrans

## NAME



           towctrans - wide-character transliteration
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#include <wctype.h>**
    
           **wint_t towctrans(wint_t** _wc_**, wctrans_t** _desc_**);**
    


## DESCRIPTION



           If _wc_ is a wide character, then the **towctrans**() function
           translates it according to the transliteration descriptor _desc_.
           If _wc_ is **WEOF** , **WEOF** is returned.
    
           _desc_ must be a transliteration descriptor returned by the
           wctrans(3) function.
    


## RETURN VALUE



           The **towctrans**() function returns the translated wide character, or
           **WEOF** if _wc_ is **WEOF**.
    


## ATTRIBUTES



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


## STANDARDS



           C11, POSIX.1-2008.
    


## NOTES



           The behavior of **towctrans**() depends on the **LC_CTYPE** category of
           the current locale.
    


* * *
# gnutls_prf

## NAME



           gnutls_prf - API function
    


## SYNOPSIS



           **#include <gnutls/gnutls.h>**
    
           **int gnutls_prf(gnutls_session_t** _session_**, size_t** _label_size_**, const**
           **char ***_label_**, int** _server_random_first_**, size_t** _extra_size_**, const**
           **char ***_extra_**, size_t** _outsize_**, char ***_out_**);**
    


## ARGUMENTS



           gnutls_session_t session
                       is a **gnutls_session_t** type.
    
           size_t label_size
                       length of the  _label_ variable.
    
           const char * label
                       label used in PRF computation, typically a short
                       string.
    
           int server_random_first
                       non-zero if server random field should be first in
                       seed
    
           size_t extra_size
                       length of the  _extra_ variable.
    
           const char * extra
                       optional extra data to seed the PRF with.
    
           size_t outsize
                       size of pre-allocated output buffer to hold the
                       output.
    
           char * out  pre-allocated buffer to hold the generated data.
    


## DESCRIPTION



           Applies the TLS Pseudo-Random-Function (PRF) on the master secret
           and the provided data, seeded with the client and server random
           fields.  For the key expansion specified in RFC5705 see
           **gnutls_prf_rfc5705()**.
    
           The  _label_ variable usually contains a string denoting the purpose
           for the generated data.  The  _server_random_first_ indicates
           whether the client random field or the server random field should
           be first in the seed.  Non-zero indicates that the server random
           field is first, 0 that the client random field is first.
    
           The  _extra_ variable can be used to add more data to the seed,
           after the random variables.  It can be used to make sure the
           generated output is strongly connected to some additional data
           (e.g., a string used in user authentication).
    
           The output is placed in  _out_ , which must be pre-allocated.
    


## NOTE



           This function produces identical output with **gnutls_prf_rfc5705()**
           when  _server_random_first_ is set to 0 and  _extra_ is **NULL**. Under
           TLS1.3 this function will only operate when these conditions are
           true, or otherwise return **GNUTLS_E_INVALID_REQUEST**.
    


## RETURNS



           **GNUTLS_E_SUCCESS** on success, or an error code.
    


* * *
# pam_get_data

## NAME



           pam_get_data - get module internal data
    


## SYNOPSIS



           **#include <security/pam_modules.h>**
    
           **int pam_get_data(const pam_handle_t ***_pamh_**,**
                            **const char ***_module_data_name_**, const void ****_data_**);**
    


## DESCRIPTION



           This function together with the pam_set_data(3) function is useful
           to manage module-specific data meaningful only to the calling PAM
           module.
    
           The **pam_get_data** function looks up the object associated with the
           (hopefully) unique string _module_data_name_ in the PAM context
           specified by the _pamh_ argument. A successful call to **pam_get_data**
           will result in _data_ pointing to the object. Note, this data is _not_
           a copy and should be treated as _constant_ by the module.
    


## RETURN VALUES



           PAM_SUCCESS
               Data was successful retrieved.
    
           PAM_SYSTEM_ERR
               A NULL pointer was submitted as PAM handle or the function was
               called by an application.
    
           PAM_NO_MODULE_DATA
               Module data not found or there is an entry, but it has the
               value NULL.
    


* * *
# curs_scroll

## NAME



           **scroll** , **scrl** , **wscrl** - scroll a **curses** window
    


## SYNOPSIS



           **#include <curses.h>**
    
           **int scroll(WINDOW ***_win_**);**
    
           **int scrl(int** _n_**);**
           **int wscrl(WINDOW ***_win_**, int** _n_**);**
    


## DESCRIPTION



           The  **scroll** routine scrolls the window up one line.  This involves
           moving the lines in the window data structure.   As  an  optimiza‐
           tion,  if the scrolling region of the window is the entire screen,
           the _physical screen_ may be scrolled at the same time.
    
           For positive _n_ , the **scrl** and **wscrl** routines scroll the window up _n_
           lines (line _i_ +_n_ becomes _i_); otherwise scroll  the  window  down  _n_
           lines.  This involves moving the lines in the window character im‐
           age structure.  The current cursor position is not changed.
    
           For  these functions to work, scrolling must be enabled via **scrol‐**
           **lok**(3X).
    


## RETURN VALUE



           These routines return **ERR** upon failure, and **OK**(SVr4  only  speci‐
           fies  "an  integer  value other than **ERR** ") upon successful comple‐
           tion.
    
           X/Open defines no error conditions.
    
           This implementation returns an error  if  the  window  pointer  is
           null,  or  if  scrolling  is not enabled in the window, e.g., with
           **scrollok**(3X).
    


## NOTES



           Note that **scrl** and **scroll** may be macros.
    
           The SVr4 documentation says that the  optimization  of  physically
           scrolling  immediately  if  the scroll region is the entire screen
           “is” performed, not “may be” performed.  This  implementation  de‐
           liberately  does not guarantee that this will occur, to leave open
           the possibility of smarter optimization of multiple scroll actions
           on the next update.
    
           Neither the SVr4 nor the XSI  documentation  specify  whether  the
           current attribute or current color-pair of blanks generated by the
           scroll function is zeroed.  Under this implementation it is.
    


## PORTABILITY



           The XSI Curses standard, Issue 4 describes these functions.
    


* * *