summaryrefslogtreecommitdiff
path: root/include/user/kernel/iofilemgr/syscall.h
blob: a72039c4a27915bb544ac9450a232800a3dc810c (plain) (blame)
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
#ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_SYSCALL_H_
#define _DOLCESDK_PSP2_KERNEL_IOFILEMGR_SYSCALL_H_

#include <psp2/kernel/types.h>

#ifdef __cplusplus
extern "C" {
#endif

/* Struct definitions */

typedef struct SceIoUnusedSyscallParam0x8 {
	char unused[0x8];
} SceIoUnusedSyscallParam0x8;

typedef struct SceIoUnusedSyscallParam0x10 {
	char unused[0x10];
} SceIoUnusedSyscallParam0x10;

typedef struct SceIoDevctlSyscallParam {
	SceSize arglen;
	void *bufp;
	SceSize buflen;
	char unused[0xC];
	// size 0x18
} SceIoDevctlSyscallParam;

typedef struct SceIoIoctlSyscallParam {
	SceSize arglen;
	void *bufp;
	SceSize buflen;
	char unused[0x4];
	// size 0x10
} SceIoIoctlSyscallParam;

typedef struct SceIoLseekSyscallParam {
	SceOff offset;
	int whence;
	char unused[0x4];
	// size 0x10
} SceIoLseekSyscallParam;

typedef struct SceIoPreadSyscallParam {
	SceOff offset;
	char unused[0x8];
	// size 0x10
} SceIoPreadSyscallParam;

typedef SceIoPreadSyscallParam SceIoPwriteSyscallParam;

/* Function declarations */

SceUID _sceIoRemove(const char *filename, SceIoUnusedSyscallParam0x8* param);

int _sceIoMkdir(const char *dirname, SceIoMode mode, SceIoUnusedSyscallParam0x8* param);

int _sceIoRmdir(const char *dirname, SceIoUnusedSyscallParam0x8* param);

int _sceIoRename(const char *oldname, const char *newname, SceIoUnusedSyscallParam0x10* param);

int _sceIoDevctl(const char *devname, int cmd, const void *arg, SceIoDevctlSyscallParam* param);

int _sceIoSync(const char *devname, int flag, SceIoUnusedSyscallParam0x8* param);

SceUID _sceIoOpen(const char *filename, int flag, SceIoMode mode, SceIoUnusedSyscallParam0x8* param);

int _sceIoIoctl(SceUID fd, int cmd, const void *argp, SceIoIoctlSyscallParam* param);

SceOff _sceIoLseek(SceUID fd, SceIoLseekSyscallParam* param);

SceSSize _sceIoPread(SceUID fd, void *buf, SceSize nbyte, SceIoPreadSyscallParam* param);

SceSSize _sceIoPwrite(SceUID fd, const void *buf, SceSize nbyte, SceIoPwriteSyscallParam* param);

#ifdef __cplusplus
}
#endif

#endif	/* _DOLCESDK_PSP2_KERNEL_IOFILEMGR_SYSCALL_H_ */