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

FreeBSD Manual Pages

  
 
  

home | help
io_fd_flags(3)		   Library Functions Manual		io_fd_flags(3)

NAME
       io_fd_flags - prepare descriptor	for io_wait

SYNTAX
       #include	<libowfat/io.h>

       int io_fd(int64 fd);

       #ifdef HAVE_IO_FD_FLAGS

       int io_fd_flags(int64 fd);

DESCRIPTION
       io_fd_flags  behaves just like io_fd, but certain flags can be bitwise-
       ORed to it to alter its behavior:

       IO_FD_CANWRITE
	      tell io_fd that the descriptor is	writable.  This	is  useful  so
	      io_wantwrite  can	 queue the descriptor immediately and there is
	      no need to query the operating system event reporting mechanism.

       IO_FD_BLOCK
	      tell io_fd that the descriptor is	blocking.

       IO_FD_NONBLOCK
	      tell io_fd that the descriptor is	non-blocking.

       Normally, io_fd calls fcntl to ask the operating	system whether the de-
       scriptor	is blocking or not.  The frameworks needs to know  because  it
       alters  how  io_tryread	and io_trywrite	handle the socket.  Never pass
       both IO_FD_BLOCK	and IO_FD_NONBLOCK at the same time.

       Newly connected stream sockets are always writable if the connection is
       established, so it is usually safe to pass  IO_FD_CANWRITE.   The  main
       exception  case	where IO_FD_CANWRITE should not	be passed is on	a non-
       blocking	socket where a connect() is pending.  Then you	need  to  poll
       for writability to get notified when the	connection is established.

RETURN VALUE
       io_fd_flags returns 1 on	success, 0 on error.

SEE ALSO
       io_fd(3), io_fd_canwrite(3)

								io_fd_flags(3)

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

home | help