.TH "globus_xio_file_driver_io" 3 "Thu Nov 10 2016" "Version 5.14" "globus_xio" \" -*- nroff -*- .ad l .nh .SH NAME globus_xio_file_driver_io \- Reading/WritingBoth the \fBglobus_xio_register_read()\fP and \fBglobus_xio_register_write()\fP calls follow similar semantics as described below\&. .PP If the waitforbytes parameter is greater than zero, the io will happen asynchronously and be completed when at least waitforbytes has been read/written\&. .PP If the waitforbytes parameter is equal to zero, one of the following alternative behaviors occur: .PP If the length of the buffer is > 0 the read or write happens synchronously\&. If the user is using one of the blocking xio calls, no internal callback will occur\&. .PP If the length of the buffer is also 0, the call behaves like an asynchronous notification of data ready to be either read or written\&. ie, an asynchronous select()\&. .PP In any case, when an error or EOF occurs before the waitforbytes request has been met, the outgoing nbytes is set to the amount of data actually read/written before the error or EOF occurred\&. .PP You may either use GLOBUS_XIO_FILE_SEEK or GLOBUS_XIO_SEEK to position the file pointer before each read or write or you can specify the desired offset on a data descriptor with the xio cmd, GLOBUS_XIO_DD_SET_OFFSET\&. Simultaneous reading and writing is only predictable if the data descriptor method is used\&. .SH "Author" .PP Generated automatically by Doxygen for globus_xio from the source code\&.