summaryrefslogtreecommitdiff
path: root/packages/libogcfpc/src/ogc/isfs.inc
blob: ad6af87df08696fa2ba1c56ef97da41ec36bba4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{$IFDEF OGC_INTERFACE}
{$ifdef HW_RVL}


const
  ISFS_MAXPATH = IPC_MAXPATH_LEN;
  ISFS_OPEN_READ = $01;
  ISFS_OPEN_WRITE = $02;
  ISFS_OPEN_RW = ( ISFS_OPEN_READ or ISFS_OPEN_WRITE );
  ISFS_OK = 0;
  ISFS_ENOMEM = - 22;
  ISFS_EINVAL = - 101;
type
  _fstats = record
    file_length : cuint32;
    file_pos : cuint32;
  end;
  fstats = _fstats;


  isfscallback = function(result: cint32; usrdata: pointer): cint32; cdecl;


function ISFS_Initialize: cint32; cdecl; external;
function ISFS_Deinitialize: cint32; cdecl; external;

function ISFS_Format(): cint32; cdecl; external;
function ISFS_FormatAsync(cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_Open(filepath: pcchar; mode: cuint8): cint32; cdecl; external;
function ISFS_OpenAsync(filepath: pcchar; mode: cuint8; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_Close(fd: cint32): cint32; cdecl; external;

function ISFS_CloseAsync(fd: cint32; cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_Delete(filepath: pcchar): cint32; cdecl; external;

function ISFS_DeleteAsync(filepath: pcchar; cb: isfscallback; usrdata: pointer)
  : cint32; cdecl; external;

function ISFS_ReadDir(filepath, name_list: pcchar; num: pcuint32): cint32; cdecl; external;

function ISFS_ReadDirAsync(filepath, name_list: pcchar; num: pcuint32;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_CreateFile(filepath: pcchar;
  attributes, owner_perm, group_perm, other_perm: cuint8): cint32; cdecl; external;

function ISFS_CreateFileAsync(filepath: pcchar;
  attributes, owner_perm, group_perm, other_perm: cuint8; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_Write(fd: cint32; buffer: pointer; length: cuint32): cint32; cdecl; external;

function ISFS_WriteAsync(fd: cint32; buffer: pointer; length: cuint32;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_Read(fd: cint32; buffer: pointer; length: cuint32): cint32; cdecl; external;

function ISFS_ReadAsync(fd: cint32; buffer: pointer; length: cuint32;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_Seek(fd, where, whence: cint32): cint32; cdecl; external;

function ISFS_SeekAsync(fd, where, whence: cint32; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_CreateDir(filepath: pcchar;
  attributes, owner_perm, group_perm, other_perm: cuint8): cint32; cdecl; external;

function ISFS_CreateDirAsync(filepath: pcchar;
  attributes, owner_perm, group_perm, other_perm: cuint8; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_GetStats(stats: pointer): cint32; cdecl; external;

function ISFS_GetStatsAsync(stats: pointer; cb: isfscallback; usrdata: pointer)
  : cint32; cdecl; external;

type
  Pfstats = ^fstats;
function ISFS_GetFileStats(fd: cint32; status: Pfstats): cint32; cdecl; external;

function ISFS_GetFileStatsAsync(fd: cint32; status: Pfstats; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_GetAttr(filepath: pcchar; ownerID: pcuint32; groupID: pcuint16;
  attributes, ownerperm, groupperm, otherperm: pcuint8): cint32; cdecl; external;

function ISFS_GetAttrAsync(filepath: pcchar; ownerID: pcuint32;
  groupID: pcuint16; attributes, ownerperm, groupperm, otherperm: pcuint8;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_Rename(filepathOld, filepathNew: pcchar): cint32; cdecl; external;

function ISFS_RenameAsync(filepathOld, filepathNew: pcchar; cb: isfscallback;
  usrdata: pointer): cint32; cdecl; external;

function ISFS_SetAttr(filepath: pcchar; ownerID: cuint32; groupID: cuint16;
  attributes, ownerperm, groupperm, otherperm: cuint8): cint32; cdecl; external;

function ISFS_SetAttrAsync(filepath: pcchar; ownerID: cuint32;
  groupID: cuint16; attributes, ownerperm, groupperm, otherperm: cuint8;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;

function ISFS_GetUsage(filepath: pcchar; usage1, usage2: pcuint32): cint32; cdecl; external;

function ISFS_GetUsageAsync(filepath: pcchar; usage1, usage2: pcuint32;
  cb: isfscallback; usrdata: pointer): cint32; cdecl; external;


{$endif HW_RVL}
{$ENDIF OGC_INTERFACE}