al_fopen_slice(3)al_fopen_slice(3)NAMEal_fopen_slice - Allegro 5 API
ALLEGRO_FILE *al_fopen_slice(ALLEGRO_FILE *fp, size_t initial_size, const char *mode)
Opens a slice (subset) of an already open random access file as if it
were a stand alone file. While the slice is open, the parent file han‐
dle must not be used in any way.
The slice is opened at the current location of the parent file, up
through initial_size bytes. The initial_size may be any non-negative
integer that will not exceed the bounds of the parent file.
Seeking with ALLEGRO_SEEK_SET will be relative to this starting loca‐
tion. ALLEGRO_SEEK_END will be relative to the starting location plus
the size of the slice.
The mode can be any combination of:
· r: read access
· w: write access
· e: expandable
For example, a mode of "rw" indicates the file can be read and written.
(Note that this is slightly different from the stdio modes.) Keep in
mind that the parent file must support random access and be open in
normal write mode (not append) for the slice to work in a well defined
If the slice is marked as expandable, then reads and writes can happen
after the initial end point, and the slice will grow accordingly. Oth‐
erwise, all activity is restricted to the initial size of the slice.
A slice must be closed with al_fclose(3). The parent file will then be
positioned immediately after the end of the slice.
SEE ALSOal_fopen(3)Allegro reference manualal_fopen_slice(3)