Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ALLEGRO_FILE_INTERFACE(3)   Library Functions Manual   ALLEGRO_FILE_INTERFACE(3)

NAME
     ALLEGRO_FILE_INTERFACE - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro.h>

	    typedef struct ALLEGRO_FILE_INTERFACE

DESCRIPTION
     A	structure  containing function pointers to handle a type of "file", real
     or virtual.  See the full discussion in al_set_new_file_interface(3).

     The fields are:

	    void*	  (*fi_fopen)(const char *path, const char *mode);
	    bool	  (*fi_fclose)(ALLEGRO_FILE *f);
	    size_t	  (*fi_fread)(ALLEGRO_FILE *f, void *ptr, size_t size);
	    size_t	  (*fi_fwrite)(ALLEGRO_FILE *f, const void *ptr, size_t size);
	    bool	  (*fi_fflush)(ALLEGRO_FILE *f);
	    int64_t	  (*fi_ftell)(ALLEGRO_FILE *f);
	    bool	  (*fi_fseek)(ALLEGRO_FILE *f, int64_t offset, int whence);
	    bool	  (*fi_feof)(ALLEGRO_FILE *f);
	    int 	  (*fi_ferror)(ALLEGRO_FILE *f);
	    const char *  (*fi_ferrmsg)(ALLEGRO_FILE *f);
	    void	  (*fi_fclearerr)(ALLEGRO_FILE *f);
	    int 	  (*fi_fungetc)(ALLEGRO_FILE *f, int c);
	    off_t	  (*fi_fsize)(ALLEGRO_FILE *f);

     The fi_open function must allocate memory for whatever  userdata  structure
     it needs.	The pointer to that memory must be returned; it will then be as-
     sociated  with the file.  The other functions can access that data by call-
     ing al_get_file_userdata(3) on the file handle.  If  fi_open  returns  NULL
     then al_fopen(3) will also return NULL.

     The  fi_fclose  function  must  clean up and free the userdata, but Allegro
     will free the ALLEGRO_FILE(3) handle.

     If fi_fungetc is NULL, then Allegro's default implementation of a	16  char
     long buffer will be used.

Allegro reference manual			       ALLEGRO_FILE_INTERFACE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ALLEGRO_FILE_INTERFACE&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help