NAME
kjb_fread_exact - Reads a specifed number of bytes from a stream.
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
int kjb_fread_exact
(
FILE *fp,
void *buff,
size_t len
);
DESCRIPTION
This routine is very similar to kjb_fread, execpt that exactly "len" bytes
must be successfully read for a successfull return. Otherwise, ERROR is
returned, with an approapriate error measure being set.
This function is not re-entrant (i.e., not thread-safe).
RETURNS
On success kjb_fread_exact returns NO_ERROR. Since the number of bytes that
must be read is in the parameter, there is no need to return that (thus
avoiding problems due to signed versus unsigned types). On failure ERROR
is returned and an error message is set. Other kjb_fread returns such as
EOF will not occur.
MACROS
FIELD_READ
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
,
kjb_read_2
,
safe_pipe_write
,
kjb_write
,
kjb_write_2
,
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