Index

Package: File_IO

Description

package Allegro.File_IO is
Allegro 5.0.9 - File I/O

Types

Allegro_File

type Allegro_File is limited private;

A_Allegro_File

type A_Allegro_File is access all Allegro_File;

Allegro_Seek

type Allegro_Seek is (ALLEGRO_SEEK_SET, ALLEGRO_SEEK_CUR, ALLEGRO_SEEK_END);

fi_fopen

type fi_fopen     is access function( path : C.Strings.chars_ptr; mode : C.Strings.chars_ptr ) return Address;

fi_fclose

type fi_fclose    is access procedure( handle : A_Allegro_File );

fi_fread

type fi_fread     is access function( f : A_Allegro_File; ptr : Address; size : size_t ) return size_t;

fi_fwrite

type fi_fwrite    is access function( f : A_Allegro_File; ptr : Address; size : size_t ) return size_t;

fi_fflush

type fi_fflush    is access function( f : A_Allegro_File ) return Bool;

fi_ftell

type fi_ftell     is access function( f : A_Allegro_File ) return Integer_64;

fi_fseek

type fi_fseek     is access function( f : A_Allegro_File; offset : Integer_64; whence : Allegro_Seek ) return Bool;

fi_feof

type fi_feof      is access function( f : A_Allegro_File ) return Bool;

fi_ferror

type fi_ferror    is access function( f : A_Allegro_File ) return Bool;

fi_fclearerr

type fi_fclearerr is access procedure( f : A_Allegro_File );

fi_fungetc

type fi_fungetc   is access function( f : A_Allegro_File; c : Integer ) return Integer;

fi_fsize

type fi_fsize     is access function( f : A_Allegro_File ) return off_t;

Allegro_File_Interface

type Allegro_File_Interface is
        record
            fopen     : fi_fopen;
            fclose    : fi_fclose;
            fread     : fi_fread;
            fwrite    : fi_fwrite;
            fflush    : fi_fflush;
            ftell     : fi_ftell;
            fseek     : fi_fseek;
            feof      : fi_feof;
            ferror    : fi_ferror;
            fclearerr : fi_fclearerr;
            fungetc   : fi_fungetc;
            fsize     : fi_fsize;
        end record;

A_Allegro_File_Interface

type A_Allegro_File_Interface is access all Allegro_File_Interface;

Subprograms & Entries

Al_Fopen

function Al_Fopen
( path: String;
mode: String ) return A_Allegro_File;

Al_Fopen_Slice

function Al_Fopen_Slice
( f: A_Allegro_File;
initial_size: size_t;
mode: String ) return A_Allegro_File;

Al_Fopen_Interface

function Al_Fopen_Interface
( vt: A_Allegro_File_Interface;
path: String;
mode: String ) return A_Allegro_File;

Al_Fclose

procedure Al_Fclose
( f: A_Allegro_File );

Al_Fread

function Al_Fread
( f: A_Allegro_File;
ptr: Address;
size: size_t ) return size_t;

Al_Fwrite

function Al_Fwrite
( f: A_Allegro_File;
ptr: Address;
size: size_t ) return size_t;

Al_Fwrite

procedure Al_Fwrite
( f: A_Allegro_File;
ptr: Address;
size: size_t );
Calls Al_Fwrite32le, ignoring any errors;

Al_Fflush

function Al_Fflush
( f: A_Allegro_File ) return Boolean;

Al_Ftell

function Al_Ftell
( f: A_Allegro_File ) return Integer_64;

Al_Fseek

function Al_Fseek
( f: A_Allegro_File;
offset: Integer_64;
whence: Allegro_Seek ) return Boolean;

Al_Fseek

procedure Al_Fseek
( f: A_Allegro_File;
offset: Integer_64;
whence: Allegro_Seek );
Calls Al_Fseek, ignoring any errors.

Al_Feof

function Al_Feof
( f: A_Allegro_File ) return Boolean;

Al_Ferror

function Al_Ferror
( f: A_Allegro_File ) return Boolean;

Al_Fclearerr

procedure Al_Fclearerr
( f: A_Allegro_File );

Al_Fungetc

function Al_Fungetc
( f: A_Allegro_File;
c: Integer ) return Integer;

Al_Fungetc

procedure Al_Fungetc
( f: A_Allegro_File;
c: Character );
Calls Al_Fungetc, ignoring any errors.

Al_Fungetc

procedure Al_Fungetc
( f: A_Allegro_File;
c: Unsigned_8 );
Calls Al_Fungetc, ignoring any errors.

Al_Fsize

function Al_Fsize
( f: A_Allegro_File ) return Integer_64;

Al_Fgetc

function Al_Fgetc
( f: A_Allegro_File ) return Integer;

Al_Fputc

function Al_Fputc
( f: A_Allegro_File;
c: Integer ) return Integer;

Al_Fread16le

function Al_Fread16le
( f: A_Allegro_File ) return Integer_16;

Al_Fread16be

function Al_Fread16be
( f: A_Allegro_File ) return Integer_16;

Al_Fwrite16le

function Al_Fwrite16le
( f: A_Allegro_File;
w: Integer_16 ) return size_t;

Al_Fwrite16be

function Al_Fwrite16be
( f: A_Allegro_File;
w: Integer_16 ) return size_t;

Al_Fread32le

function Al_Fread32le
( f: A_Allegro_File ) return Integer_32;

Al_Fread32be

function Al_Fread32be
( f: A_Allegro_File ) return Integer_32;

Al_Fwrite32le

function Al_Fwrite32le
( f: A_Allegro_File;
l: Integer_32 ) return size_t;

Al_Fwrite32le

procedure Al_Fwrite32le
( f: A_Allegro_File;
l: Integer_32 );
Calls Al_Fwrite32le, ignoring any errors;

Al_Fwrite32be

function Al_Fwrite32be
( f: A_Allegro_File;
l: Integer_32 ) return size_t;

Al_Fgets

function Al_Fgets
( f: A_Allegro_File;
max: Positive := 1024 ) return String;

Al_Fget_Ustr

function Al_Fget_Ustr
( f: A_Allegro_File ) return A_Allegro_Ustr;

Al_Fputs

function Al_Fputs
( f: A_Allegro_File;
p: String ) return Integer;

Al_Fputs

procedure Al_Fputs
( f: A_Allegro_File;
p: String );
Calls Al_Fputs, ignoring any errors.

Al_Fopen_Fd

function Al_Fopen_Fd
( fd: Integer;
mode: String ) return A_Allegro_File;

Al_Make_Temp_File

function Al_Make_Temp_File
( template: String;
ret_path: access A_Allegro_Path ) return A_Allegro_File;

Al_Set_New_File_Interface

procedure Al_Set_New_File_Interface
( file_interface: A_Allegro_File_Interface );

Al_Set_Standard_File_Interface

procedure Al_Set_Standard_File_Interface;

Al_Get_New_File_Interface

function Al_Get_New_File_Interface return A_Allegro_File_Interface;

Al_Create_File_Handle

function Al_Create_File_Handle
( vt: A_Allegro_File_Interface;
userdata: Address ) return A_Allegro_File;

Al_Get_File_Userdata

function Al_Get_File_Userdata
( f: A_Allegro_File ) return Address;