type DAT_ID is new AL_ID;
type Datafile is record dat : Address; typ : DAT_ID; size : C.long; prop : Address; end record;
type A_Datafile is access all Datafile;
type A_Datafile_Loader is access function( f : A_Packfile; size : C.long ) return Address;
type A_Datafile_Examiner is access procedure( d : A_Datafile );
function Create_Datafile_Index
( | filename | : String ) return A_Datafile_Index; |
procedure Destroy_Datafile_Index
( | index | : in out A_Datafile_Index ); |
function Find_Datafile_Object
( | dat | : not null A_Datafile; |
objectname | : String ) return A_Datafile; |
procedure Fixup_Datafile
( | data | : not null A_Datafile ); |
function Get_Datafile_Property
( | dat | : not null A_Datafile; |
typ | : DAT_ID ) return String; |
function Load_Datafile
( | filename | : String ) return A_Datafile; |
function Load_Datafile_Callback
( | filename | : String; |
callback | : not null A_Datafile_Examiner ) return A_Datafile; |
function Load_Datafile_Object
( | filename | : String; |
objectname | : String ) return A_Datafile; |
function Load_Datafile_Object_Indexed
( | index | : A_Datafile_Index; |
item | : Integer ) return A_Datafile; |
procedure Register_Datafile_Object
( | id | : DAT_ID; |
load | : A_Datafile_Loader; | |
destroy | : A_Datafile_Destroyer ); |
function To_DAT_ID
( | a, b, c, d | : Character ) return DAT_ID; |
procedure Unload_Datafile
( | dat | : in out A_Datafile ); |
procedure Unload_Datafile_Object
( | dat | : in out A_Datafile ); |