pack_fread man page
pack_fread — Reads n bytes from the stream. Allegro game programming library.
long pack_fread(void *p, long n, PACKFILE *f);
Reads `n' bytes from the stream `f', storing them at the memory location pointed to by `p'. Example:
unsigned char buf; ... if (pack_fread(buf, 256, input_file) != 256) abort_on_error("Truncated input file!");
Returns the number of bytes read, which will be less than `n' if EOF is reached or an error occurs. Error codes are stored in errno.
pack_fopen(3), pack_fopen_chunk(3), pack_feof(3), expackf(3)
expackf(3), pack_fgets(3), pack_fopen(3).