GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  LIBOWFAT_IO_TRYREAD (3)

NAME

io_tryread - read from a descriptor without blocking

CONTENTS

Syntax
Description

SYNTAX

#include <io.h>

int io_tryread(int64 fd,char* buf,int64 len);

DESCRIPTION

io_tryread tries to read len bytes of data from descriptor fd into buf[0], buf[1], ..., buf[len-1]. (The effects are undefined if len is 0 or smaller.) There are several possible results:

[bu] o_tryread returns an integer between 1 and len: This number of bytes was available for immediate reading; the bytes were read into the beginning of buf. Note that this number can be, and often is, smaller than len; you must not assume that io_tryread always succeeds in reading exactly len bytes.
[bu] io_tryread returns 0: No bytes were read, because the descriptor is at end of file. For example, this descriptor has reached the end of a disk file, or is reading an empty pipe that has been closed by all writers.
[bu] io_tryread returns -1, setting errno to EAGAIN: No bytes were read, because the descriptor is not ready. For example, the descriptor is reading an empty pipe that could still be written to.
[bu] io_tryread returns -3, setting errno to something other than EAGAIN: No bytes were read, because the read attempt encountered a persistent error, such as a serious disk failure (EIO), an unreachable network (ENETUNREACH), or an invalid descriptor number (EBADF).

io_tryread does not pause waiting for a descriptor that is not ready. If you want to pause, use io_waitread or io_wait.

You can make io_tryread faster and more efficient by making the socket non-blocking with io_nonblock().

SEE ALSO

io_nonblock(3), io_waitread(3), io_tryreadtimeout(3)
Search for    or go to Top of page |  Section 3 |  Main Index


IO_TRYREAD (3) -->

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.