diff options
author | Reiko Asakura | 2020-07-23 21:34:32 -0400 |
---|---|---|
committer | Reiko Asakura | 2020-07-23 21:34:32 -0400 |
commit | 128b6114a5951f3489f9e626cddfe6de54e7fb99 (patch) | |
tree | 5c2f81dfde71f133bb1db7528f6ef80f0b60eb08 | |
parent | Change `pragma GCC warning` to `pragma message` (diff) | |
download | vds-libraries-128b6114a5951f3489f9e626cddfe6de54e7fb99.tar.gz |
Put common IO definitions into psp2common
-rw-r--r-- | include/common/kernel/iofilemgr.h | 74 | ||||
-rw-r--r-- | include/common/kernel/iofilemgr/async.h | 21 | ||||
-rw-r--r-- | include/common/kernel/iofilemgr/dirent.h | 23 | ||||
-rw-r--r-- | include/common/kernel/iofilemgr/stat.h | 46 | ||||
-rw-r--r-- | include/kernel/kernel/iofilemgr.h | 62 | ||||
-rw-r--r-- | include/kernel/kernel/iofilemgr/async.h | 1 | ||||
-rw-r--r-- | include/kernel/kernel/iofilemgr/dirent.h | 10 | ||||
-rw-r--r-- | include/kernel/kernel/iofilemgr/stat.h | 34 | ||||
-rw-r--r-- | include/user/kernel/iofilemgr.h | 64 | ||||
-rw-r--r-- | include/user/kernel/iofilemgr/async.h | 1 | ||||
-rw-r--r-- | include/user/kernel/iofilemgr/dirent.h | 10 | ||||
-rw-r--r-- | include/user/kernel/iofilemgr/stat.h | 34 |
12 files changed, 173 insertions, 207 deletions
diff --git a/include/common/kernel/iofilemgr.h b/include/common/kernel/iofilemgr.h new file mode 100644 index 0000000..ed03d3b --- /dev/null +++ b/include/common/kernel/iofilemgr.h @@ -0,0 +1,74 @@ +#ifndef _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_H_ +#define _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_H_ + +#include <psp2common/kernel/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* device types */ +#define SCE_D_TYPE_NULL 0x0 /* dummy device */ +#define SCE_D_TYPE_CHAR 0x1 /* character device */ +#define SCE_D_TYPE_BLOCK 0x4 /* block device */ +#define SCE_D_TYPE_FS 0x10 /* file system */ +#define SCE_D_TYPE_ALIAS 0x20 /* alias name (device alias) */ +#define SCE_D_TYPE_MOUNTPT 0x40 /* alias name (mount point) */ + +/* flags */ +#define SCE_FREAD (0x0001) /* readable */ +#define SCE_FWRITE (0x0002) /* writable */ +#define SCE_FNBLOCK (0x0004) /* Reserved: non-blocking reads */ +#define SCE_FDIRO (0x0008) /* internal use for dopen */ +#define SCE_FRLOCK (0x0010) /* Reserved: read locked (non-shared) */ +#define SCE_FWLOCK (0x0020) /* Reserved: write locked (non-shared) */ +#define SCE_FAPPEND (0x0100) /* append on each write */ +#define SCE_FCREAT (0x0200) /* create if nonexistant */ +#define SCE_FTRUNC (0x0400) /* truncate to zero length */ +#define SCE_EXCL (0x0800) /* exclusive create */ +#define SCE_FSCAN (0x1000) /* Reserved: scan type */ +#define SCE_FRCOM (0x2000) /* Reserved: remote command entry */ +#define SCE_FNBUF (0x4000) /* no device buffer */ +#define SCE_FASYNC (0x8000) /* Reserved: asyncronous i/o */ +#define SCE_FFDEXCL (0x01000000) /* exclusive access */ +#define SCE_FGAMEDATA (0x40000000) + +/* Flag for sceIoOpen() */ +#define SCE_O_RDONLY (SCE_FREAD) +#define SCE_O_WRONLY (SCE_FWRITE) +#define SCE_O_RDWR (SCE_FREAD|SCE_FWRITE) +#define SCE_O_NBLOCK (SCE_FNBLOCK) /* Reserved: Non-Blocking I/O */ +#define SCE_O_APPEND (SCE_FAPPEND) /* append (writes guaranteed at the end) */ +#define SCE_O_CREAT (SCE_FCREAT) /* open with file create */ +#define SCE_O_TRUNC (SCE_FTRUNC) /* open with truncation */ +#define SCE_O_EXCL (SCE_EXCL) /* exclusive create */ +#define SCE_O_NOBUF (SCE_FNBUF) /* no device buffer */ +#define SCE_O_NOWAIT (SCE_FASYNC) /* Reserved: asyncronous i/o */ +#define SCE_O_FDEXCL (SCE_FFDEXCL) /* exclusive access */ +#define SCE_O_PWLOCK (SCE_FPWLOCK) /* power control lock */ +#define SCE_O_FGAMEDATA (SCE_FGAMEDATA) + +/* Flag for sceIoLseek() */ +#define SCE_SEEK_SET (0) +#define SCE_SEEK_CUR (1) +#define SCE_SEEK_END (2) + +/* Path */ +#define SCE_IO_MAX_PATH_BUFFER_SIZE (1024) /* maximum path buffer size */ +#define SCE_IO_MAX_PATH_LENGTH (200) /* maximum path length */ + +/** + * May be used with sceIoDevctl() + */ +typedef struct SceIoDevInfo { + SceOff max_size; + SceOff free_size; + SceSize cluster_size; + void *unk; +} SceIoDevInfo; + +#ifdef __cplusplus +} +#endif + +#endif /* _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_H_ */ diff --git a/include/common/kernel/iofilemgr/async.h b/include/common/kernel/iofilemgr/async.h new file mode 100644 index 0000000..b0c0feb --- /dev/null +++ b/include/common/kernel/iofilemgr/async.h @@ -0,0 +1,21 @@ +#ifndef _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_ASYNC_H_ +#define _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_ASYNC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct SceIoAsyncParam { + int result; // [out] result of the IO operation (e.g. UID, read/wrote size, error code) + int unk_04; // [out] + int unk_08; // [in] + int unk_0C; // [out] + int unk_10; // [out] + int unk_14; // [out] +} SceIoAsyncParam; + +#ifdef __cplusplus +} +#endif + +#endif /* _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_ASYNC_H_ */ diff --git a/include/common/kernel/iofilemgr/dirent.h b/include/common/kernel/iofilemgr/dirent.h new file mode 100644 index 0000000..1e28c22 --- /dev/null +++ b/include/common/kernel/iofilemgr/dirent.h @@ -0,0 +1,23 @@ +#ifndef _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_DIRENT_H_ +#define _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_DIRENT_H_ + +#include <psp2common/kernel/types.h> +#include <psp2common/kernel/iofilemgr/stat.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** Describes a single directory entry */ +typedef struct SceIoDirent { + SceIoStat d_stat; //!< File status + char d_name[256]; //!< File name (not file path) + void *d_private; //!< Reserved (set to 0) + int dummy; //!< Padding +} SceIoDirent; + +#ifdef __cplusplus +} +#endif + +#endif /* _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_DIRENT_H_ */ diff --git a/include/common/kernel/iofilemgr/stat.h b/include/common/kernel/iofilemgr/stat.h new file mode 100644 index 0000000..a9f9f73 --- /dev/null +++ b/include/common/kernel/iofilemgr/stat.h @@ -0,0 +1,46 @@ +#ifndef _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_STAT_H_ +#define _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_STAT_H_ + +#include <psp2common/kernel/types.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Filetypes and Protection bits */ +#define SCE_STM_FMT (0xf << 12) +#define SCE_STM_FREG (0x2 << 12) /* regular file */ +#define SCE_STM_FDIR (0x1 << 12) /* directory */ +#define SCE_STM_ISREG(m) (((m) & SCE_STM_FMT) == SCE_STM_FREG) +#define SCE_STM_ISDIR(m) (((m) & SCE_STM_FMT) == SCE_STM_FDIR) + +/* for SceMode */ +#define SCE_STM_RWU 00600 +#define SCE_STM_RU 00400 + +/* for chstat cbit */ +#define SCE_CST_MODE 0x0001 +#define SCE_CST_ATTR 0x0000 /* not supported */ +#define SCE_CST_SIZE 0x0004 +#define SCE_CST_CT 0x0008 +#define SCE_CST_AT 0x0010 +#define SCE_CST_MT 0x0020 + +/** + * See sceIoChstat(), sceIoGetstat(), sceIoChstatByFd(), sceIoGetstatByFd() + */ +typedef struct SceIoStat { + SceIoMode st_mode; //!< File access mode + unsigned int st_attr; //!< Device-specific attribute + SceOff st_size; //!< File size + SceDateTime st_ctime; //!< File creation time + SceDateTime st_atime; //!< File last accessed time + SceDateTime st_mtime; //!< File last modified time + unsigned int st_private[6]; //!< Reserved +} SceIoStat; + +#ifdef __cplusplus +} +#endif + +#endif /* _DOLCESDK_PSP2COMMON_KERNEL_IOFILEMGR_STAT_H_ */ diff --git a/include/kernel/kernel/iofilemgr.h b/include/kernel/kernel/iofilemgr.h index dce367e..e199e75 100644 --- a/include/kernel/kernel/iofilemgr.h +++ b/include/kernel/kernel/iofilemgr.h @@ -1,7 +1,7 @@ #ifndef _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_H_ #define _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_H_ -#include <psp2kern/kernel/types.h> +#include <psp2common/kernel/iofilemgr.h> #include <psp2kern/kernel/iofilemgr/async.h> #include <psp2kern/kernel/iofilemgr/stat.h> #include <psp2kern/kernel/iofilemgr/dirent.h> @@ -10,66 +10,6 @@ extern "C" { #endif -/* device types */ -#define SCE_D_TYPE_NULL 0x0 /* dummy device */ -#define SCE_D_TYPE_CHAR 0x1 /* character device */ -#define SCE_D_TYPE_BLOCK 0x4 /* block device */ -#define SCE_D_TYPE_FS 0x10 /* file system */ -#define SCE_D_TYPE_ALIAS 0x20 /* alias name (device alias) */ -#define SCE_D_TYPE_MOUNTPT 0x40 /* alias name (mount point) */ - -/* flags */ -#define SCE_FREAD (0x0001) /* readable */ -#define SCE_FWRITE (0x0002) /* writable */ -#define SCE_FNBLOCK (0x0004) /* Reserved: non-blocking reads */ -#define SCE_FDIRO (0x0008) /* internal use for dopen */ -#define SCE_FRLOCK (0x0010) /* Reserved: read locked (non-shared) */ -#define SCE_FWLOCK (0x0020) /* Reserved: write locked (non-shared) */ -#define SCE_FAPPEND (0x0100) /* append on each write */ -#define SCE_FCREAT (0x0200) /* create if nonexistant */ -#define SCE_FTRUNC (0x0400) /* truncate to zero length */ -#define SCE_EXCL (0x0800) /* exclusive create */ -#define SCE_FSCAN (0x1000) /* Reserved: scan type */ -#define SCE_FRCOM (0x2000) /* Reserved: remote command entry */ -#define SCE_FNBUF (0x4000) /* no device buffer */ -#define SCE_FASYNC (0x8000) /* Reserved: asyncronous i/o */ -#define SCE_FFDEXCL (0x01000000) /* exclusive access */ -#define SCE_FGAMEDATA (0x40000000) - -/* Flag for sceIoOpen() */ -#define SCE_O_RDONLY (SCE_FREAD) -#define SCE_O_WRONLY (SCE_FWRITE) -#define SCE_O_RDWR (SCE_FREAD|SCE_FWRITE) -#define SCE_O_NBLOCK (SCE_FNBLOCK) /* Reserved: Non-Blocking I/O */ -#define SCE_O_APPEND (SCE_FAPPEND) /* append (writes guaranteed at the end) */ -#define SCE_O_CREAT (SCE_FCREAT) /* open with file create */ -#define SCE_O_TRUNC (SCE_FTRUNC) /* open with truncation */ -#define SCE_O_EXCL (SCE_EXCL) /* exclusive create */ -#define SCE_O_NOBUF (SCE_FNBUF) /* no device buffer */ -#define SCE_O_NOWAIT (SCE_FASYNC) /* Reserved: asyncronous i/o */ -#define SCE_O_FDEXCL (SCE_FFDEXCL) /* exclusive access */ -#define SCE_O_PWLOCK (SCE_FPWLOCK) /* power control lock */ -#define SCE_O_FGAMEDATA (SCE_FGAMEDATA) - -/* Flag for sceIoLseek() */ -#define SCE_SEEK_SET (0) -#define SCE_SEEK_CUR (1) -#define SCE_SEEK_END (2) - -/* Path */ -#define SCE_IO_MAX_PATH_BUFFER_SIZE (1024) /* maximum path buffer size */ -#define SCE_IO_MAX_PATH_LENGTH (200) /* maximum path length */ - -/** - * May be used with sceIoDevctl() - */ -typedef struct SceIoDevInfo { - SceOff max_size; - SceOff free_size; - SceSize cluster_size; - void *unk; -} SceIoDevInfo; - /** * Remove directory entry * diff --git a/include/kernel/kernel/iofilemgr/async.h b/include/kernel/kernel/iofilemgr/async.h index 828d83d..4584bb7 100644 --- a/include/kernel/kernel/iofilemgr/async.h +++ b/include/kernel/kernel/iofilemgr/async.h @@ -1,6 +1,7 @@ #ifndef _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_ASYNC_H_ #define _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_ASYNC_H_ +#include <psp2common/kernel/iofilemgr/async.h> #include <psp2kern/kernel/threadmgr.h> #ifdef __cplusplus diff --git a/include/kernel/kernel/iofilemgr/dirent.h b/include/kernel/kernel/iofilemgr/dirent.h index 8d9a843..4bfc584 100644 --- a/include/kernel/kernel/iofilemgr/dirent.h +++ b/include/kernel/kernel/iofilemgr/dirent.h @@ -1,21 +1,13 @@ #ifndef _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_DIRENT_H_ #define _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_DIRENT_H_ +#include <psp2common/kernel/iofilemgr/dirent.h> #include <psp2kern/kernel/iofilemgr/async.h> -#include <psp2kern/kernel/iofilemgr/stat.h> #ifdef __cplusplus extern "C" { #endif -/** Describes a single directory entry */ -typedef struct SceIoDirent { - SceIoStat d_stat; //!< File status - char d_name[256]; //!< File name (not file path) - void *d_private; //!< Reserved (set to 0) - int dummy; //!< Padding -} SceIoDirent; - /** * Open a directory * diff --git a/include/kernel/kernel/iofilemgr/stat.h b/include/kernel/kernel/iofilemgr/stat.h index 9c5369f..c9096e2 100644 --- a/include/kernel/kernel/iofilemgr/stat.h +++ b/include/kernel/kernel/iofilemgr/stat.h @@ -1,45 +1,13 @@ #ifndef _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_STAT_H_ #define _DOLCESDK_PSP2KERN_KERNEL_IOFILEMGR_STAT_H_ -#include <psp2kern/kernel/types.h> +#include <psp2common/kernel/iofilemgr/stat.h> #include <psp2kern/kernel/iofilemgr/async.h> #ifdef __cplusplus extern "C" { #endif -/* Filetypes and Protection bits */ -#define SCE_STM_FMT (0xf << 12) -#define SCE_STM_FREG (0x2 << 12) /* regular file */ -#define SCE_STM_FDIR (0x1 << 12) /* directory */ -#define SCE_STM_ISREG(m) (((m) & SCE_STM_FMT) == SCE_STM_FREG) -#define SCE_STM_ISDIR(m) (((m) & SCE_STM_FMT) == SCE_STM_FDIR) - -/* for SceMode */ -#define SCE_STM_RWU 00600 -#define SCE_STM_RU 00400 - -/* for chstat cbit */ -#define SCE_CST_MODE 0x0001 -#define SCE_CST_ATTR 0x0000 /* not supported */ -#define SCE_CST_SIZE 0x0004 -#define SCE_CST_CT 0x0008 -#define SCE_CST_AT 0x0010 -#define SCE_CST_MT 0x0020 - -/** - * See sceIoChstat(), sceIoGetstat(), sceIoChstatByFd(), sceIoGetstatByFd() - */ -typedef struct SceIoStat { - SceIoMode st_mode; //!< File access mode - unsigned int st_attr; //!< Device-specific attribute - SceOff st_size; //!< File size - SceDateTime st_ctime; //!< File creation time - SceDateTime st_atime; //!< File last accessed time - SceDateTime st_mtime; //!< File last modified time - unsigned int st_private[6]; //!< Reserved -} SceIoStat; - /** * Change the status of a file. * diff --git a/include/user/kernel/iofilemgr.h b/include/user/kernel/iofilemgr.h index 240705b..5f1b418 100644 --- a/include/user/kernel/iofilemgr.h +++ b/include/user/kernel/iofilemgr.h @@ -1,7 +1,7 @@ -#ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_H_ +#ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_H_ #define _DOLCESDK_PSP2_KERNEL_IOFILEMGR_H_ -#include <psp2/kernel/types.h> +#include <psp2common/kernel/iofilemgr.h> #include <psp2/kernel/iofilemgr/async.h> #include <psp2/kernel/iofilemgr/stat.h> #include <psp2/kernel/iofilemgr/dirent.h> @@ -10,66 +10,6 @@ extern "C" { #endif -/* device types */ -#define SCE_D_TYPE_NULL 0x0 /* dummy device */ -#define SCE_D_TYPE_CHAR 0x1 /* character device */ -#define SCE_D_TYPE_BLOCK 0x4 /* block device */ -#define SCE_D_TYPE_FS 0x10 /* file system */ -#define SCE_D_TYPE_ALIAS 0x20 /* alias name (device alias) */ -#define SCE_D_TYPE_MOUNTPT 0x40 /* alias name (mount point) */ - -/* flags */ -#define SCE_FREAD (0x0001) /* readable */ -#define SCE_FWRITE (0x0002) /* writable */ -#define SCE_FNBLOCK (0x0004) /* Reserved: non-blocking reads */ -#define SCE_FDIRO (0x0008) /* internal use for dopen */ -#define SCE_FRLOCK (0x0010) /* Reserved: read locked (non-shared) */ -#define SCE_FWLOCK (0x0020) /* Reserved: write locked (non-shared) */ -#define SCE_FAPPEND (0x0100) /* append on each write */ -#define SCE_FCREAT (0x0200) /* create if nonexistant */ -#define SCE_FTRUNC (0x0400) /* truncate to zero length */ -#define SCE_EXCL (0x0800) /* exclusive create */ -#define SCE_FSCAN (0x1000) /* Reserved: scan type */ -#define SCE_FRCOM (0x2000) /* Reserved: remote command entry */ -#define SCE_FNBUF (0x4000) /* no device buffer */ -#define SCE_FASYNC (0x8000) /* Reserved: asyncronous i/o */ -#define SCE_FFDEXCL (0x01000000) /* exclusive access */ -#define SCE_FGAMEDATA (0x40000000) - -/* Flag for sceIoOpen() */ -#define SCE_O_RDONLY (SCE_FREAD) -#define SCE_O_WRONLY (SCE_FWRITE) -#define SCE_O_RDWR (SCE_FREAD|SCE_FWRITE) -#define SCE_O_NBLOCK (SCE_FNBLOCK) /* Reserved: Non-Blocking I/O */ -#define SCE_O_APPEND (SCE_FAPPEND) /* append (writes guaranteed at the end) */ -#define SCE_O_CREAT (SCE_FCREAT) /* open with file create */ -#define SCE_O_TRUNC (SCE_FTRUNC) /* open with truncation */ -#define SCE_O_EXCL (SCE_EXCL) /* exclusive create */ -#define SCE_O_NOBUF (SCE_FNBUF) /* no device buffer */ -#define SCE_O_NOWAIT (SCE_FASYNC) /* Reserved: asyncronous i/o */ -#define SCE_O_FDEXCL (SCE_FFDEXCL) /* exclusive access */ -#define SCE_O_PWLOCK (SCE_FPWLOCK) /* power control lock */ -#define SCE_O_FGAMEDATA (SCE_FGAMEDATA) - -/* Flag for sceIoLseek() */ -#define SCE_SEEK_SET (0) -#define SCE_SEEK_CUR (1) -#define SCE_SEEK_END (2) - -/* Path */ -#define SCE_IO_MAX_PATH_BUFFER_SIZE (1024) /* maximum path buffer size */ -#define SCE_IO_MAX_PATH_LENGTH (200) /* maximum path length */ - -/** - * May be used with sceIoDevctl() - */ -typedef struct SceIoDevInfo { - SceOff max_size; - SceOff free_size; - SceSize cluster_size; - void *unk; -} SceIoDevInfo; - /** * Remove directory entry * diff --git a/include/user/kernel/iofilemgr/async.h b/include/user/kernel/iofilemgr/async.h index d60f7ca..77fac3d 100644 --- a/include/user/kernel/iofilemgr/async.h +++ b/include/user/kernel/iofilemgr/async.h @@ -1,6 +1,7 @@ #ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_ASYNC_H_ #define _DOLCESDK_PSP2_KERNEL_IOFILEMGR_ASYNC_H_ +#include <psp2common/kernel/iofilemgr/async.h> #include <psp2/kernel/threadmgr.h> #ifdef __cplusplus diff --git a/include/user/kernel/iofilemgr/dirent.h b/include/user/kernel/iofilemgr/dirent.h index 1d06ffd..c518a08 100644 --- a/include/user/kernel/iofilemgr/dirent.h +++ b/include/user/kernel/iofilemgr/dirent.h @@ -1,21 +1,13 @@ #ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_DIRENT_H_ #define _DOLCESDK_PSP2_KERNEL_IOFILEMGR_DIRENT_H_ +#include <psp2common/kernel/iofilemgr/dirent.h> #include <psp2/kernel/iofilemgr/async.h> -#include <psp2/kernel/iofilemgr/stat.h> #ifdef __cplusplus extern "C" { #endif -/** Describes a single directory entry */ -typedef struct SceIoDirent { - SceIoStat d_stat; //!< File status - char d_name[256]; //!< File name (not file path) - void *d_private; //!< Reserved (set to 0) - int dummy; //!< Padding -} SceIoDirent; - /** * Open a directory * diff --git a/include/user/kernel/iofilemgr/stat.h b/include/user/kernel/iofilemgr/stat.h index e2fa913..b0b57f6 100644 --- a/include/user/kernel/iofilemgr/stat.h +++ b/include/user/kernel/iofilemgr/stat.h @@ -1,45 +1,13 @@ #ifndef _DOLCESDK_PSP2_KERNEL_IOFILEMGR_STAT_H_ #define _DOLCESDK_PSP2_KERNEL_IOFILEMGR_STAT_H_ -#include <psp2/kernel/types.h> +#include <psp2common/kernel/iofilemgr/stat.h> #include <psp2/kernel/iofilemgr/async.h> #ifdef __cplusplus extern "C" { #endif -/* Filetypes and Protection bits */ -#define SCE_STM_FMT (0xf << 12) -#define SCE_STM_FREG (0x2 << 12) /* regular file */ -#define SCE_STM_FDIR (0x1 << 12) /* directory */ -#define SCE_STM_ISREG(m) (((m) & SCE_STM_FMT) == SCE_STM_FREG) -#define SCE_STM_ISDIR(m) (((m) & SCE_STM_FMT) == SCE_STM_FDIR) - -/* for SceMode */ -#define SCE_STM_RWU 00600 -#define SCE_STM_RU 00400 - -/* for chstat cbit */ -#define SCE_CST_MODE 0x0001 -#define SCE_CST_ATTR 0x0000 /* not supported */ -#define SCE_CST_SIZE 0x0004 -#define SCE_CST_CT 0x0008 -#define SCE_CST_AT 0x0010 -#define SCE_CST_MT 0x0020 - -/** - * See sceIoChstat(), sceIoGetstat(), sceIoChstatByFd(), sceIoGetstatByFd() - */ -typedef struct SceIoStat { - SceIoMode st_mode; //!< File access mode - unsigned int st_attr; //!< Device-specific attribute - SceOff st_size; //!< File size - SceDateTime st_ctime; //!< File creation time - SceDateTime st_atime; //!< File last accessed time - SceDateTime st_mtime; //!< File last modified time - unsigned int st_private[6]; //!< Reserved -} SceIoStat; - /** * Change the status of a file. * |