Provided by: allegro5-doc_5.2.10.1+dfsg-1build1_all bug

NAME

       al_fopen_slice - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              ALLEGRO_FILE *al_fopen_slice(ALLEGRO_FILE *fp, size_t initial_size, const char *mode)

DESCRIPTION

       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 handle 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  location.   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

       • s: seek to the end of the slice upon al_close(3alleg5) (this is the default behavior)

       • n: disable the seeking behavior of “s”.

       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 way.

       If  the  slice is marked as expandable, then reads and writes can happen after the initial end point, and
       the slice will grow accordingly.  Otherwise, all activity is restricted to the initial size of the slice.

       A slice must be closed with al_fclose(3alleg5).  The parent file  will  then  be  positioned  immediately
       after the end of the slice.  This behavior can be disabled by setting the “n” mode.

SINCE

       5.0.6, 5.1.0

SEE ALSO

       al_fopen(3alleg5)

Allegro reference manual                                                                 al_fopen_slice(3alleg5)