Provided by: libknet-doc_1.25-1_all bug

NAME

       knet_handle_new_ex - create a new instance of a knet handle

SYNOPSIS

       #include <libknet.h>

       knet_handle_t knet_handle_new_ex(
           knet_node_id_t  host_id,
           int             log_fd,
           uint8_t         default_log_level,
           uint64_t        flags
       );

DESCRIPTION

       knet_handle_new_ex

       host_id  -  Each host in a knet is identified with a unique ID. when creating a new handle
       local host_id must be specified (0  to  UINT16_MAX  are  all  valid).  It  is  the  user's
       responsibility to check that the value is unique, or bad things might happen.

       log_fd  -  Write  file  descriptor.  If  set  to a value > 0, it will be used to write log
       packets from libknet to the application. Setting to 0 will disable logging  from  libknet.
       It  is possible to enable logging at any given time (see logging API). Make sure to either
       read from this filedescriptor properly and/or mark it  O_NONBLOCK,  otherwise  if  the  fd
       becomes  full, libknet could block. It is strongly encouraged to use pipes (ex: pipe(2) or
       pipe2(2)) for logging fds due to the atomic nature of writes between fds. See also libknet
       test suite for reference and guidance. The caller is responsible for management of the FD.
       eg. knet will not close it when knet_handle_free(3) is called

       default_log_level - If logfd is specified, it will initialize all  subsystems  to  log  at
       default_log_level value. (see logging API)

       flags  -  bitwise  OR  of  some  of  the following flags: KNET_HANDLE_FLAG_PRIVILEGED: use
       privileged operations setting up  the  communication  sockets.  If  disabled,  failure  to
       acquire large enough socket buffers is ignored but logged. Inadequate buffers lead to poor
       performance.

RETURN VALUE

       on success, a new knet_handle_t is returned. on failure, NULL is  returned  and  errno  is
       set.  knet-specific errno values: ENAMETOOLONG - socket buffers couldn't be set big enough
       and KNET_HANDLE_FLAG_PRIVILEGED was specified  ERANGE  -  buffer  size  readback  returned
       unexpected type

SEE ALSO

       knet_handle_remove_datafd(3), knet_handle_get_stats(3), knet_host_add(3),
       knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3), knet_handle_crypto_use_config(3),
       knet_host_get_id_by_host_name(3), knet_host_get_status(3), knet_link_add_acl(3),
       knet_link_get_pong_count(3), knet_link_get_priority(3), knet_handle_free(3),
       knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3), knet_recv(3),
       knet_link_get_ping_timers(3), knet_log_get_subsystem_id(3), knet_host_remove(3),
       knet_host_enable_status_change_notify(3), knet_strtoaddr(3), knet_link_rm_acl(3),
       knet_send(3), knet_handle_enable_pmtud_notify(3),
       knet_handle_get_transport_reconnect_interval(3), knet_link_get_enable(3),
       knet_link_set_priority(3), knet_log_set_loglevel(3), knet_handle_get_channel(3),
       knet_link_get_config(3), knet_link_get_link_list(3), knet_get_transport_list(3),
       knet_get_transport_id_by_name(3), knet_log_get_loglevel_id(3), knet_host_set_name(3),
       knet_addrtostr(3), knet_handle_setfwd(3), knet_get_compress_list(3),
       knet_host_set_policy(3), knet_get_transport_name_by_id(3), knet_handle_enable_filter(3),
       knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3), knet_link_get_status(3),
       knet_handle_add_datafd(3), knet_send_sync(3), knet_log_get_loglevel_name(3),
       knet_handle_enable_access_lists(3), knet_host_get_host_list(3), knet_host_get_policy(3),
       knet_link_set_enable(3), knet_link_set_pong_count(3), knet_log_get_subsystem_name(3),
       knet_host_get_name_by_host_id(3), knet_link_clear_config(3), knet_log_get_loglevel(3),
       knet_handle_new(3), knet_handle_pmtud_getfreq(3), knet_handle_pmtud_set(3),
       knet_handle_clear_stats(3), knet_link_set_config(3), knet_handle_crypto_set_config(3),
       knet_handle_crypto(3), knet_get_crypto_list(3),
       knet_handle_set_transport_reconnect_interval(3), knet_link_clear_acl(3),
       knet_link_set_ping_timers(3), knet_link_insert_acl(3)

COPYRIGHT

       Copyright (C) 2010-2023 Red Hat, Inc. All rights reserved.