Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KNET_HANDLE_NEW_EX(3)	 Kronosnet Programmer's	Manual	 KNET_HANDLE_NEW_EX(3)

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 cre-
       ating 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 na-
       ture 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  sub-
       systems to log at default_log_level value. (see logging API)

       flags   -  bitwise  OR  of  some	 of  the  following  flags:  KNET_HAN-
       DLE_FLAG_PRIVILEGED: use	privileged operations setting up the  communi-
       cation  sockets.	 If  disabled,	failure	to acquire large enough	socket
       buffers is ignored but logged. Inadequate buffers lead to poor  perfor-
       mance.

RETURN VALUE
       on  success,  a	new knet_handle_t is returned. on failure, NULL	is re-
       turned and errno	is set.	knet-specific  errno  values:  ENAMETOOLONG  -
       socket  buffers	couldn't be set	big enough and KNET_HANDLE_FLAG_PRIVI-
       LEGED 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.

kronosnet			  2023-07-10		 KNET_HANDLE_NEW_EX(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=knet_handle_new_ex&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help