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 al-
     ters 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 es-
     tablished,  so  it is usually safe to pass IO_FD_CANWRITE.  The main excep-
     tion 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+15.1.quarterly>

home | help