NAME
kjb_read - Reads up to specified number of bytes from a device
SYNOPSIS
#include "l/l_sys_io.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
long kjb_read
(
int des,
void *buff,
size_t len
);
PARAMETERS
-
int des
-
File descriptor
-
void *buff
-
Buffer for read
-
size_t len
-
Number of bytes to read
DESCRIPTION
Similer to system read except that error handling is simplified. If the
number of bytes requested is more than MIN_OF(LONG_MAX, SSIZE_MAX), this
routine returns ERROR.
RETURNS
On success kjb_read returns the number of bytes read. On end of file. EOF
is returned. On failure ERROR is returned and an error message is set.
If the I/O is non blocking, then WOULD_BLOCK may also be returned.
Finally, depending on the type of signal handling in place, INTERRUPTED
may also be returned.
NOTE
The routine kjb_read_2() can be used to get around the above byte limit
to a certain extent, but under many circumstances, only a factor of 2
more bytes can be read in this way and, in fact, typically only up to a
factor of 2 more bytes are likely to be available. .
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kobus Barnard
DOCUMENTER
Kobus Barnard
SEE ALSO
set_low_level_io_options
,
kjb_read_exact
,
kjb_read_2
,
safe_pipe_write
,
kjb_write
,
kjb_write_2
,
kjb_fread_exact
,
kjb_fread
,
kjb_fread_2
,
kjb_fwrite
,
kjb_fwrite_2
,
kjb_safe_fflush
,
kjb_fflush
,
kjb_ioctl
,
set_blocking
,
set_no_blocking
,
stdin_get_line
,
fget_line
,
dget_line
,
fput_line
,
kjb_mkdir
,
kjb_mkdir_2
,
kjb_unlink
,
kjb_unlink_2
,
kjb_rmdir
,
kjb_fopen
,
kjb_freopen
,
kjb_fdopen
,
kjb_fclose
,
kjb_realpath
,
get_fd_name
,
get_user_fd_name
,
kjb_fseek
,
kjb_ftell
,
kjb_fputs
,
kjb_fgetc
,
kjb_fputc
,
pso
,
p_stderr
,
kjb_fprintf
,
pdo
,
kjb_vfprintf
,
is_file
,
is_directory
,
fp_get_path_type
,
get_path_type
,
get_file_size
,
fp_get_byte_size
,
get_file_age
,
stream_younger
,
stream_older
,
get_file_mod_time
,
kjb_isatty
,
print_underlined
,
start_stdout_shadow
,
stop_stdout_shadow
,
start_stderr_shadow
,
stop_stderr_shadow
,
enable_stdout
,
disable_stdout
,
kjb_glob
,
kjb_simple_glob