Allegro 5 api
#include <allegro5/allegro.h> size_t al_fread(ALLEGRO_FILE *f, void *ptr, size_t size)
Read \[aq]size\[aq] bytes into the buffer pointed to by \[aq]ptr\[aq], from the given file.
Returns the number of bytes actually read. If an error occurs, or the end-of-file is reached, the return value is a short byte count (or zero).
al_fread() does not distinguish between EOF and other errors. Use al_feof(3alleg5) and al_ferror(3alleg5) to determine which occurred.
al_fgetc(3alleg5), al_fread16be(3alleg5), al_fread16le(3alleg5), al_fread32be(3alleg5), al_fread32le(3alleg5)