io_waitread(3) Library Functions Manual io_waitread(3)NAME
io_waitread - read from a descriptor
SYNTAX
#include <io.h>
int io_waitread(int64 fd,char* buf,int64 len);
DESCRIPTION
io_waitread 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:
o o_waitread 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_waitread always succeeds in
reading exactly len bytes.
o io_waitread 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.
o io_waitread returns -3, setting errno to something other than EAGAIN: No bytes were read, because the read attempt encountered a persis-
tent error, such as a serious disk failure (EIO), an unreachable network (ENETUNREACH), or an invalid descriptor number (EBADF).
SEE ALSO io_nonblock(3), io_waitread(3), io_waitreadtimeout(3)io_waitread(3)
Check Out this Related Man Page
io_pipe(3) Library Functions Manual io_pipe(3)NAME
io_pipe - create a Unix pipe
SYNTAX
#include <io.h>
int io_pipe(int64 pfd[2]);
DESCRIPTION
io_pipe creates a new UNIX ``pipe.'' The pipe can receive data and provide data; any bytes written to the pipe can then be read from the
pipe in the same order.
A pipe is typically stored in an 8192-byte memory buffer; the exact number depends on the UNIX kernel. Bytes are written to the end of the
buffer and read from the beginning of the buffer. Once a byte has been read, it is eliminated from the buffer, making space for another
byte to be written; readers cannot ``rewind'' a pipe to read old data. Once 8192 bytes have been written to the buffer, the pipe will not
be ready for further writing until some of the bytes have been read. Once all the bytes written have been read, the pipe will not be ready
for further reading until more bytes are written.
io_pipe sets d[0] to the number of a new descriptor reading from the pipe, and sets d[1] to the number of a new descriptor writing to the
pipe. It then returns 1 to indicate success. If something goes wrong, io_pipe returns 0, setting errno to indicate the error; in this case
it frees any memory that it allocated for the new pipe, and it leaves d alone.
SEE ALSO io_readfile(3), io_createfile(3), io_socketpair(3)io_pipe(3)
Hi All,
These are the two ways i tried to read file but i getting work with second one not with the first.
char buf; // Defining space for buf
ctrlfnum = fopen(filename_arr.control_fname,"r");
1) n = fread(buf,sizeof(buf),1,ctrlfnum); ============== (not works)
2) n =... (4 Replies)
I'm attempting to extract lines from a file where column lengths are fixed, e.g col1 len=5 col2 len=6...
However if I do something like
cat file |while read ans
do
...
The padding between each column is reduced to a space, is there an easy way to read the file with the original column... (3 Replies)
Hello, I am a newbie to Unix! I am having a problem trying to read in multiple values and constructing a copy command. It will work when reading in only 1 value from a file (testdata1), but there's an error when attempting to code for multiple values per line. Below are my 2 examples.
This... (2 Replies)
Recently my project needs int64 variables. However my os and computer are both 32bits.
So how can i use int64 as a parameter in a function.
and is int64 a structure as user-defined structures.....
???
thanx
i am waiting for ur answer:rolleyes: (2 Replies)
I have an array of distances and a len, for example
len = 323
dist =
I want to calculate the start and end index values around each distance in the array with a length of len from it. Values in dist are stored in ascending order. (4 Replies)
Hello to all,
I would like to search sequences of bytes inside big binary file.
The bin file contains blocks of information, each block begins is estructured as follow:
1- Each block begins with the hex 32 (1 byte) and ends with FF. After the FF of the last block, it follows 33.
2- Next... (59 Replies)
awk '{if(len==0){last=$4;total=$6;len=1;getline}if($4!=last){printf("%s\t%f\n", last, total/len);last=$4;total=$6;len=1}else{total+=$6;len+=1}}END{printf("%s\t%f\n", last, total/len)}' exon.txt > output.txt
In the attached file I am just trying to group all the same names in column $4 and then... (2 Replies)