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

  
 
  

home | help
KNET_HAND...CK_NOTIFY(3)  Kronosnet Programmer's Manual KNET_HAND...CK_NOTIFY(3)

NAME
     knet_handle_enable_sock_notify  -	Register  a  callback  to receive socket
     events.

SYNOPSIS
     #include <libknet.h>

     int knet_handle_enable_sock_notify(
	 knet_handle_t	knet_h,
	 void	       *sock_notify_fn_private_data,
	 void(*)(void *private_data, int datafd, int8_t channel, uint8_t tx_rx, int error, int errorno)  sock_notify_fn
     );

DESCRIPTION
     knet_handle_enable_sock_notify

     knet_h - pointer to knet_handle_t

     sock_notify_fn_private_data void pointer to data that can be used to  iden-
     tify the callback.

     sock_notify_fn  A	callback function that is invoked every time a socket in
     the datafd pool will report an error (-1)	or  an	end  of  read  (0)  (see
     socket.7).  This  function  MUST NEVER block or add substantial delays. The
     callback is invoked  in  an  internal  unlocked  area  to	allow  calls  to
     knet_handle_add_datafd/knet_handle_remove_datafd  to  swap/replace  the bad
     fd. if both err and errno are 0, it means that the socket has received a  0
     byte  packet  (EOF?).  The callback function must either remove the fd from
     knet (by calling knet_handle_remove_fd()) or dup a new  fd  in  its  place.
     Failure to do this can cause problems.

RETURN VALUE
     knet_handle_enable_sock_notify  returns  0 on success -1 on error and errno
     is set.

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_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_handle_new_ex(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_HAND...CK_NOTIFY(3)

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

home | help