vitasdk
Documentation of the vitasdk
|
Exports for Kernel.
Include the header file in your project:
Link the library to the executable:
VFS Data Types | |
VITASDK_BUILD_ASSERT_EQ (0x20, SceVfsInfo) | |
VITASDK_BUILD_ASSERT_EQ (0xC, SceVfsPath) | |
VITASDK_BUILD_ASSERT_EQ (0x14, SceVfsMountData) | |
VITASDK_BUILD_ASSERT_EQ (0x100, SceVfsMount) | |
VITASDK_BUILD_ASSERT_EQ (0x100, SceVfsVnode) | |
VITASDK_BUILD_ASSERT_EQ (0x40, SceVfsFile) | |
#define | SCE_VFS_TYPE_FS (0x00000000) |
#define | SCE_VFS_TYPE_DEVFS (0x00000010) |
#define | SCE_VFS_FS_TYPE_FS (0x01) |
All exfat mounts. | |
#define | SCE_VFS_FS_TYPE_PFS (0x03) |
PFS mounts. | |
#define | SCE_VFS_FS_TYPE_HOSTFS (0x04) |
host0: | |
#define | SCE_VFS_FS_TYPE_BLKDEV (0x10) |
sdstor0:, md0: | |
#define | SCE_VFS_FS_TYPE_CHRDEV (0x20) |
tty0: | |
#define | SCE_VFS_MOUNT_TYPE_PFS (0x00000001) |
PFS mounts. | |
#define | SCE_VFS_MOUNT_TYPE_FSROOT (0x00000002) |
Standard Root File System. | |
#define | SCE_VFS_MOUNT_TYPE_DEVFS (0x00000003) |
Device File System. | |
#define | SCE_VFS_MOUNT_TYPE_STACKFS (0x00000005) |
Loop File System (File system mounted from a file) | |
#define | SCE_VFS_MOUNT_TYPE_HOSTFS (0x00000006) |
Hostfs. | |
#define | SCE_VFS_MOUNT_FLAG_TYPE_MASK (0x000000FF) |
#define | SCE_VFS_MOUNT_FLAG_RDONLY (0x00001000) |
Read-only mount. | |
#define | SCE_VFS_MOUNT_FLAG_NOBUF (0x00002000) |
Disables VFS Buffer Cache. | |
#define | SCE_VFS_MOUNT_FLAG_NUMBERED (0x00004000) |
Files for this mountpoint are treated as numbered extensions of the assignName. | |
#define | SCE_VFS_MOUNT_FLAG_REMOTE (0x00008000) |
Prevents ncache entry of failed lookups. Used on host0: | |
#define | SCE_VFS_MOUNT_FLAG_INTERNAL (0x00010000) |
#define | SCE_VFS_MOUNT_FLAG_EXTERNAL (0x00020000) |
#define | SCE_VFS_MOUNT_FLAG_WRITE_CACHE (0x00040000) |
Allow write-caching. Default behavior is to flush buffer cache after write. | |
#define | SCE_VFS_MOUNT_FLAG_NO_RECLAIM (0x00100000) |
Prevents Vnodes from being reclaimed. Only set internally for devfs. | |
#define | SCE_VNODE_TYPE_REG (0x00000001) |
Regular file. | |
#define | SCE_VNODE_TYPE_DIR (0x00000002) |
Regular directory. | |
#define | SCE_VNODE_TYPE_CHR (0x00000010) |
Character file. | |
#define | SCE_VNODE_TYPE_ROOT (0x00001000) |
Root vnode. | |
#define | SCE_VNODE_TYPE_DEV (0x00002000) |
Device vnode. | |
#define | SCE_VNODE_TYPE_MOUNTED (0x00004000) |
Vnode used as a backing for a mountpoint. | |
#define | SCE_VNODE_TYPE_CHRDEV (SCE_VNODE_TYPE_DEV | SCE_VNODE_TYPE_CHR) |
#define | SCE_VNODE_TYPE_ROOTDIR (SCE_VNODE_TYPE_ROOT | SCE_VNODE_TYPE_DIR) |
Root directory. | |
#define | SCE_VNODE_TYPE_ROOTDIR_DEVFS (0x10000 | 0x20) |
Root directory on devfs mountpoints. | |
#define | SCE_VNODE_STATE_ACTIVE (0x00000001) |
Vnode is active and valid for all operations. | |
#define | SCE_VNODE_STATE_INACTIVE (0x00000100) |
Vnode is inactive and may be pending deletion or otherwise. | |
#define | SCE_VNODE_STATE_UNMOUNTED (0x00000200) |
#define | SCE_VNODE_STATE_DELETED (0x00000400) |
#define | SCE_VNODE_STATE_RECLAIMED (0x00002000) |
#define | SCE_VNODE_STATE_NEW (0x00008000) |
#define | SCE_VFS_FILE_STATE_OPEN (0x00000001) |
File is open. | |
#define | SCE_VFS_FILE_STATE_CLOSED (0x00000200) |
File is closed. | |
#define | SCE_VFS_FILE_STATE_UNK (0x00000800) |
Unknown status. | |
#define | SCE_VFS_FILE_STATE_DUMMY (0x00010000) |
Dummy file. | |
VFS Operation Arguments and Callback Table | |
VITASDK_BUILD_ASSERT_EQ (0x8, SceVfsOpMountArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x8, SceVfsOpUmountArgs) | |
VITASDK_BUILD_ASSERT_EQ (0xC, SceVfsOpSetRootArgs) | |
VITASDK_BUILD_ASSERT_EQ (0xC, SceVfsOpGetRootArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x8, SceVfsOpSyncArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x4, SceVfsOpInitArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x4, SceVfsOpFiniArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x1C, SceVfsOpDevctlArg) | |
VITASDK_BUILD_ASSERT_EQ (0x1C, SceVfsOpDecodePathElemArgs) | |
VITASDK_BUILD_ASSERT_EQ (0x34, SceVfsOpTable) | |
VFS Core API | |
VITASDK_BUILD_ASSERT_EQ (0x20, SceVfsMountParam) | |
VITASDK_BUILD_ASSERT_EQ (0x8, SceVfsUmountParam) | |
int | ksceVfsAddVfs (SceVfsInfo *vfs_info) |
Register a VFS implementation. | |
int | ksceVfsDeleteVfs (const char *name, SceVfsInfo **vfs_info) |
Unegister a VFS implementation. | |
int | vfsMount (SceVfsMountParam *param) |
Mount a drive. | |
int | vfsUmount (SceVfsUmountParam *param) |
Unmount a drive. | |
int | vfsMountForPFS (SceVfsMountParam *param) |
Mount a drive via the mount daemon. | |
int | vfsUmountForPFS (SceVfsUmountParam *param, int unk, int unk2) |
Unmount a drive via the mount daemon. | |
int | vfsLockMnt (SceVfsMount *mnt) |
Lock the mnt. | |
int | vfsUnlockMnt (SceVfsMount *mnt) |
Unlock the mnt. | |
SceBool | vfsIsLockedMnt (SceVfsMount *mnt) |
Is the mnt lock held by the current thread ? | |
SceUID | vfsAllocateFile (SceVfsVnode *vp, SceVfsFile **file, const char *name) |
Allocate a new VFS file object. | |
int | vfsFreeFile (SceVfsVnode *vp, SceUID fd) |
Free a File object. | |
int | vfsGetNewVnode (SceVfsMount *mnt, SceVopTable *vops, int unk, SceVfsVnode **vpp) |
Get a new vnode from the pool. | |
int | vfsFreeVnode (SceVfsVnode *vp) |
Return a vnode to the pool. | |
int | vfsLockVnode (SceVfsVnode *vp) |
Lock a vnode. | |
int | vfsUnlockVnode (SceVfsVnode *vp) |
Unlock a vnode. | |
SceBool | vfsIsOwnerVnode (SceVfsVnode *vp) |
Does the current thread own the vnode lock. | |
int | vfsGetVnodeName (SceVfsVnode *vp, char *name, SceSize n, SceSize *result) |
Get the name of a vnode. | |
#define | SCE_VFS_UMOUNT_FLAG_FORCE (0x1) |
Force unmount. | |
struct SceVfsInfo |
VFS Info defining a VFS Implementation.
Data Fields | ||
---|---|---|
const SceVfsOpTable * | vfs_ops | VFS Implementation operations for mountpoint actions. |
const char * | vfs_name | Name of the VFS implementation (Must be unique, used to identify the VFS) |
SceSize | vfs_name_len | Length of vfs_name plus null-terminator. |
SceUInt32 | ref_count | Internal use only. |
SceUInt32 | type | One of SCE_VFS_TYPE_*. |
const SceVopTable * | default_vops | Default vop table for the vnodes. |
void * | vfs_data | Optional data that can be passed to the vfs_init callback. |
struct SceVfsInfo * | next | Internal use only. |
struct SceVfsPath |
VFS Path for vnode.
Data Fields | ||
---|---|---|
const char * | name | Name of vnode. |
SceSize | name_length | Length of name. |
const char * | path | Full path name is from. |
struct SceVfsMountData |
Mountpoint Data.
Data Fields | ||
---|---|---|
const char * | assign_name | Assigned name for the mount point. Must end with ':', typically in format '<mnt>0:'. |
const char * | fs_name | Name of the FS being mounted. |
const char * | blockdev_name | Path to the block device. |
const char * | blockdev_name_no_part | Path to the block device without a partition specified (used as a fallback if blockdev_name isn't found) |
SceUInt32 | mnt_id | Mountpoint ID (example: 0xF00 for uma0:) |
struct SceVfsMount |
Data Fields | ||
---|---|---|
SceKernelFastMutex | fast_mutex | |
SceVfsVnode * | mnt_vnode | |
SceUID | allocator | |
SceUInt32 | state | |
SceUInt8 | fs_type | One of SCE_VFS_FS_TYPE_*. |
SceUInt16 | opt | |
SceUInt32 | mnt_flags | ORed together SCE_VFS_MOUNT_FLAG_* flags. |
SceVfsVnode * | vnode_list | |
SceUInt32 | vnode_num | |
SceVfsInfo * | mnt_vfs_inf | |
SceUInt32 | mnt_ref_count | |
SceUInt32 | opened_entry_num | |
SceUInt32 | available_entry_num | |
SceUID | pid | |
SceVfsMount * | mnted_on_list | |
SceVfsMount * | mnted_on_list_prev | |
SceVfsMount * | mnt_list_next | |
SceVfsMountData * | mnt_data | |
char | path[64] | |
SceUInt32 | default_io_cache_size | |
void * | data | VFS Implementation defined mount point data. |
struct FdLock * | fd_lock | |
struct Fumount * | fumount | |
SceUInt32 | opaque[4] | |
SceUInt32 | opaque2[4] | |
SceUInt8 | padding[16] |
struct SceVfsVnode |
VFS Vnode.
The most fundamental aspect of the VFS. Vnodes represent every individual file or directory which has been looked-up or accessed.
Data Fields | ||
---|---|---|
struct SceVfsVnode.vdlock | vdlock | |
SceUInt8 | padding[44] | |
struct SceVfsVnode.core | core | |
SceUInt8 | padding2[40] |
struct SceVfsFile |
VFS File.
The file structure is contained within the SceUIDVfsFileObject structure, and represents file handles in the VFS.
Data Fields | ||
---|---|---|
SceUInt32 | is_dir | |
SceUInt32 | flags | |
SceOff | position | |
SceUInt32 | state | |
SceUID | pid | |
SceVfsVnode * | vp | |
SceVfsFile * | next | |
SceUInt32 | fd | File descriptor provided and used by VFS implementation. |
SceUInt16 | flock_busy_count | |
SceUInt8 | is_locked | |
SceUInt8 | has_flock_ent | |
struct FdLock * | fd_lock | |
SceUInt32 | idata | |
struct DebugPath * | debug_path | |
SceUInt32 | ioSchedData[3] |
struct SceVfsOpMountArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
SceVfsPath * | dev_file_path | Path to the device file. |
struct SceVfsOpUmountArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
int | flags |
struct SceVfsOpSetRootArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
int | unk | |
struct SceVfsVnode * | vp |
struct SceVfsOpGetRootArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
int | unk | |
struct SceVfsVnode ** | vpp |
struct SceVfsOpSyncArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
int | flags |
struct SceVfsOpInitArgs |
Data Fields | ||
---|---|---|
SceVfsInfo * | vfs_inf |
struct SceVfsOpFiniArgs |
Data Fields | ||
---|---|---|
SceVfsInfo * | vfs_inf |
struct SceVfsOpDevctlArg |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
const char * | dev | |
unsigned int | cmd | |
const void * | arg | |
SceSize | arg_len | |
void * | buf | |
SceSize | buf_len |
struct SceVfsOpDecodePathElemArgs |
Data Fields | ||
---|---|---|
SceVfsMount * | mnt | |
const char * | path | |
const char ** | path2 | |
const char ** | path3 | |
char * | buf | |
SceSize | buf_len | |
SceSize * | decode_len |
struct SceVfsOpTable |
Data Fields | |
int(* | vfs_mount )(SceVfsOpMountArgs *argp) |
int(* | vfs_umount )(SceVfsOpUmountArgs *argp) |
int(* | vfs_set_root )(SceVfsOpSetRootArgs *argp) |
int(* | vfs_get_root )(SceVfsOpGetRootArgs *argp) |
void * | reserved [2] |
int(* | vfs_sync )(SceVfsOpSyncArgs *argp) |
void * | reserved2 |
int(* | vfs_init )(SceVfsOpInitArgs *argp) |
int(* | vfs_fini )(SceVfsOpFiniArgs *argp) |
void * | reserved3 |
int(* | vfs_devctl )(SceVfsOpDevctlArg *arg) |
int(* | vfs_decode_path_elem )(SceVfsOpDecodePathElemArgs *argp) |
struct SceVopOpenArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsPath * | path | |
int | flags | |
SceVfsFile * | file |
struct SceVopCreateArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode ** | vpp | |
SceVfsPath * | path | |
int | flags | |
int | mode |
struct SceVopCloseArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file |
struct SceVopLookupArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode ** | vpp | |
SceVfsPath * | path | |
SceUInt32 | flags |
struct SceVopReadArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
void * | buf | |
SceSize | nbyte |
struct SceVopWriteArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
const void * | buf | |
SceSize | nbyte |
struct SceVopLseekArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
SceOff | offset | |
int | whence |
struct SceVopIoctlArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
int | cmd | |
const void * | in_data | |
SceSize | in_len | |
void * | out_data | |
SceSize | out_len |
struct SceVopRemoveArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode * | vp | |
SceVfsPath * | path | |
SceUInt32 | flags |
struct SceVopMkdirArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode ** | vpp | |
SceVfsPath * | path | |
int | mode |
struct SceVopRmdirArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode * | vp | |
SceVfsPath * | path |
struct SceVopDopenAgrs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsPath * | path | |
SceVfsFile * | file |
struct SceVopDcloseArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file |
struct SceVopDreadArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
SceIoDirent * | dir |
struct SceVopGetstatArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsPath * | path | |
SceIoStat * | stat |
struct SceVopChstatArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsPath * | path | |
SceIoStat * | stat | |
int | bit |
struct SceVopFchstatArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
SceIoStat * | stat | |
SceUInt32 | bit |
struct SceVopFgetstatArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
SceIoStat * | stat |
struct SceVopInactiveArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp |
struct SceVopLinkArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | fvp | |
SceVfsVnode * | tvp |
struct SceVopUnlinkArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | fvp | |
SceVfsVnode * | tvp |
struct SceVopSyncArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
int | flags |
struct SceVopRenameArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | odvp | |
SceVfsVnode * | ovp | |
SceVfsPath * | old_path | |
SceVfsVnode * | ndvp | |
SceVfsVnode ** | nvpp | |
SceVfsPath * | new_path |
struct SceVopPreadArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
void * | buf | |
SceSize | nbyte | |
SceOff | offset |
struct SceVopPwriteArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file | |
const void * | buf | |
SceSize | nbyte | |
SceOff | offset |
struct SceVopWhiteoutArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | dvp | |
SceVfsVnode * | vp | |
SceVfsPath * | old_path | |
SceVfsPath * | new_path |
struct SceVopCleanupArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceVfsFile * | file |
struct SceVopZerofillArgs |
Data Fields | ||
---|---|---|
SceVfsVnode * | vp | |
SceUInt64 | unk | |
SceUInt64 | unk1 | |
SceUInt64 | unk2 |
struct SceVopTable |
struct SceVfsMountParam |
Parameters for vfsMount and vfsMountForPFS.
Data Fields | ||
---|---|---|
const char * | root_path | This is the internal root path of the mountpoint. (example: /ux/exfat for ux0:) |
const char * | blockdev_name | Overrides blockdevName in misc->blockdevName. |
SceUInt8 | fs_type | One of SCE_VFS_FS_TYPE_*. |
SceUInt16 | opt | Used to identify the IO Scheduler queue to use for the mountpoint. |
SceUInt32 | mnt_flags | ORed together SCE_VFS_MOUNT_FLAG_* flags. |
const char * | vfs_name | Name of the VFS to use for the mountpoint. |
void * | data | To be passed to the created mountpoint. |
SceVfsMountData * | misc | |
SceVopTable * | vops | Overrides defaultVops in the VFS Info for the root vnode of the VFS. |
struct SceVfsUmountParam |
struct SceVfsVnode.vdlock |
struct SceVfsVnode.core |
Data Fields | ||
---|---|---|
SceVopTable * | ops | |
SceUInt32 | node_inf | Field for private VFS vnode info. |
void * | node_data | Pointer for private VFS data. |
SceVfsMount * | mnt | |
SceVfsVnode * | dd | Parent vnode. |
SceVfsVnode * | next | |
SceUInt32 | ref_count | |
struct BuffCache * | bc | |
SceUInt32 | fid[2] | |
struct Flock * | flock | |
SceUID | allocator | |
struct Ncache * | ncache | |
SceUInt32 | state | One of SCE_VNODE_STATE_*. |
SceUInt32 | type | ORed together SCE_VNODE_TYPE_* flags. |
SceVopTable * | vop_tbl | Internal use only. |
SceUInt64 | size | |
SceUInt32 | acl_data[2] | Typically holds st_attr in acl_data[0]. |
SceVfsFile * | fd_list | |
SceUInt32 | fd_num | |
SceVfsVnode * | link_to | |
SceUInt32 | linked_num | |
SceUInt8 | unused[48] | |
SceUInt32 | mnt_opt | |
SceUInt32 | unk_0xd4 |
#define SCE_VFS_TYPE_FS (0x00000000) |
#define SCE_VFS_TYPE_DEVFS (0x00000010) |
#define SCE_VFS_FS_TYPE_FS (0x01) |
All exfat mounts.
#define SCE_VFS_FS_TYPE_PFS (0x03) |
PFS mounts.
#define SCE_VFS_FS_TYPE_HOSTFS (0x04) |
host0:
#define SCE_VFS_FS_TYPE_BLKDEV (0x10) |
sdstor0:, md0:
#define SCE_VFS_FS_TYPE_CHRDEV (0x20) |
tty0:
#define SCE_VFS_MOUNT_TYPE_PFS (0x00000001) |
PFS mounts.
#define SCE_VFS_MOUNT_TYPE_FSROOT (0x00000002) |
Standard Root File System.
#define SCE_VFS_MOUNT_TYPE_DEVFS (0x00000003) |
Device File System.
#define SCE_VFS_MOUNT_TYPE_STACKFS (0x00000005) |
Loop File System (File system mounted from a file)
#define SCE_VFS_MOUNT_TYPE_HOSTFS (0x00000006) |
Hostfs.
#define SCE_VFS_MOUNT_FLAG_TYPE_MASK (0x000000FF) |
#define SCE_VFS_MOUNT_FLAG_RDONLY (0x00001000) |
Read-only mount.
#define SCE_VFS_MOUNT_FLAG_NOBUF (0x00002000) |
Disables VFS Buffer Cache.
#define SCE_VFS_MOUNT_FLAG_NUMBERED (0x00004000) |
Files for this mountpoint are treated as numbered extensions of the assignName.
Example: tty mountpoint devices (tty0:, tty1:) internally are handled /tty/tty0:
#define SCE_VFS_MOUNT_FLAG_REMOTE (0x00008000) |
Prevents ncache entry of failed lookups. Used on host0:
#define SCE_VFS_MOUNT_FLAG_INTERNAL (0x00010000) |
#define SCE_VFS_MOUNT_FLAG_EXTERNAL (0x00020000) |
#define SCE_VFS_MOUNT_FLAG_WRITE_CACHE (0x00040000) |
Allow write-caching. Default behavior is to flush buffer cache after write.
#define SCE_VFS_MOUNT_FLAG_NO_RECLAIM (0x00100000) |
Prevents Vnodes from being reclaimed. Only set internally for devfs.
#define SCE_VNODE_TYPE_REG (0x00000001) |
Regular file.
#define SCE_VNODE_TYPE_DIR (0x00000002) |
Regular directory.
#define SCE_VNODE_TYPE_CHR (0x00000010) |
Character file.
#define SCE_VNODE_TYPE_ROOT (0x00001000) |
Root vnode.
#define SCE_VNODE_TYPE_DEV (0x00002000) |
Device vnode.
#define SCE_VNODE_TYPE_MOUNTED (0x00004000) |
Vnode used as a backing for a mountpoint.
#define SCE_VNODE_TYPE_CHRDEV (SCE_VNODE_TYPE_DEV | SCE_VNODE_TYPE_CHR) |
#define SCE_VNODE_TYPE_ROOTDIR (SCE_VNODE_TYPE_ROOT | SCE_VNODE_TYPE_DIR) |
Root directory.
#define SCE_VNODE_TYPE_ROOTDIR_DEVFS (0x10000 | 0x20) |
Root directory on devfs mountpoints.
#define SCE_VNODE_STATE_ACTIVE (0x00000001) |
Vnode is active and valid for all operations.
#define SCE_VNODE_STATE_INACTIVE (0x00000100) |
Vnode is inactive and may be pending deletion or otherwise.
#define SCE_VNODE_STATE_UNMOUNTED (0x00000200) |
#define SCE_VNODE_STATE_DELETED (0x00000400) |
#define SCE_VNODE_STATE_RECLAIMED (0x00002000) |
#define SCE_VNODE_STATE_NEW (0x00008000) |
#define SCE_VFS_FILE_STATE_OPEN (0x00000001) |
File is open.
#define SCE_VFS_FILE_STATE_CLOSED (0x00000200) |
File is closed.
#define SCE_VFS_FILE_STATE_UNK (0x00000800) |
Unknown status.
#define SCE_VFS_FILE_STATE_DUMMY (0x00010000) |
Dummy file.
#define SCE_VFS_UMOUNT_FLAG_FORCE (0x1) |
Force unmount.
VITASDK_BUILD_ASSERT_EQ | ( | 0x20 | , |
SceVfsInfo | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVfsPath | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
SceVfsMountData | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x100 | , |
SceVfsMount | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x100 | , |
SceVfsVnode | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x40 | , |
SceVfsFile | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVfsOpMountArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVfsOpUmountArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVfsOpSetRootArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVfsOpGetRootArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVfsOpSyncArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x4 | , |
SceVfsOpInitArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x4 | , |
SceVfsOpFiniArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x1C | , |
SceVfsOpDevctlArg | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x1C | , |
SceVfsOpDecodePathElemArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x34 | , |
SceVfsOpTable | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopOpenArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
SceVopCreateArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVopCloseArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopLookupArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopReadArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopWriteArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
SceVopLseekArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x1C | , |
SceVopIoctlArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopRemoveArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopMkdirArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopRmdirArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopDopenAgrs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVopDcloseArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopDreadArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopGetstatArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopChstatArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopFchstatArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopFgetstatArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x4 | , |
SceVopInactiveArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVopLinkArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVopUnlinkArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceVopSyncArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
SceVopRenameArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
SceVopPreadArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
SceVopPwriteArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceVopWhiteoutArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVopCleanupArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x20 | , |
SceVopZerofillArgs | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x74 | , |
SceVopTable | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x20 | , |
SceVfsMountParam | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x8 | , |
SceVfsUmountParam | |||
) |
int ksceVfsAddVfs | ( | SceVfsInfo * | vfs_info | ) |
Register a VFS implementation.
vfs_info | - The VFS Info structure for the VFS. (This pointer should remain persistent until the VFS is deleted) |
int ksceVfsDeleteVfs | ( | const char * | name, |
SceVfsInfo ** | vfs_info | ||
) |
Unegister a VFS implementation.
name | - The name of the VFS implementation to unregister |
vfs_info | - The VFS Info structure for the VFS. (This pointer should remain persistent until the VFS is deleted) |
int vfsMount | ( | SceVfsMountParam * | param | ) |
Mount a drive.
param | - The mount parameters |
int vfsUmount | ( | SceVfsUmountParam * | param | ) |
Unmount a drive.
param | - The unmount parameters |
int vfsMountForPFS | ( | SceVfsMountParam * | param | ) |
Mount a drive via the mount daemon.
param | - The mount parameters |
int vfsUmountForPFS | ( | SceVfsUmountParam * | param, |
int | unk, | ||
int | unk2 | ||
) |
Unmount a drive via the mount daemon.
param | - The unmount parameters |
int vfsLockMnt | ( | SceVfsMount * | mnt | ) |
Lock the mnt.
mnt | - The mountpoint to lock |
int vfsUnlockMnt | ( | SceVfsMount * | mnt | ) |
Unlock the mnt.
mnt | - The mountpoint to unlock |
SceBool vfsIsLockedMnt | ( | SceVfsMount * | mnt | ) |
Is the mnt lock held by the current thread ?
mnt | - The mount point to query |
SceUID vfsAllocateFile | ( | SceVfsVnode * | vp, |
SceVfsFile ** | file, | ||
const char * | name | ||
) |
Allocate a new VFS file object.
vp | - The vnode the file should be referencing |
file | - The pointer reference the file will be returned to |
name | - The name of the file |
int vfsFreeFile | ( | SceVfsVnode * | vp, |
SceUID | fd | ||
) |
Free a File object.
vp | - Vnode for the file handle being freed |
fd | - UID of the file being freed |
int vfsGetNewVnode | ( | SceVfsMount * | mnt, |
SceVopTable * | vops, | ||
int | unk, | ||
SceVfsVnode ** | vpp | ||
) |
Get a new vnode from the pool.
mnt | - The mountpoint the vnode will be attached to |
vops | - The vnode vop table for executing VFS Vops |
unk | - Must be 0 |
vpp | - The pointer reference to return the vnode to |
int vfsFreeVnode | ( | SceVfsVnode * | vp | ) |
Return a vnode to the pool.
vp | - The vnode to return |
int vfsLockVnode | ( | SceVfsVnode * | vp | ) |
Lock a vnode.
vp | - Target vnode |
int vfsUnlockVnode | ( | SceVfsVnode * | vp | ) |
Unlock a vnode.
vp | - Target vnode |
SceBool vfsIsOwnerVnode | ( | SceVfsVnode * | vp | ) |
Does the current thread own the vnode lock.
vp | - Target vnode |
int vfsGetVnodeName | ( | SceVfsVnode * | vp, |
char * | name, | ||
SceSize | n, | ||
SceSize * | result | ||
) |
Get the name of a vnode.
vp | - Target vnode |
name | - Buffer for the name |
n | - Buffer size |
result | - Length of the returned name |
int ksceVopOpen | ( | SceVfsVnode * | vp, |
SceVfsPath * | path, | ||
int | flags, | ||
SceVfsFile * | file | ||
) |
int ksceVopCreate | ( | SceVfsVnode * | dvp, |
SceVfsVnode ** | vpp, | ||
SceVfsPath * | path, | ||
int | flags, | ||
int | mode | ||
) |
int ksceVopClose | ( | SceVfsVnode * | vp, |
SceVfsFile * | file | ||
) |
int ksceVopLookup | ( | SceVfsVnode * | dvp, |
SceVfsVnode ** | vpp, | ||
SceVfsPath * | path, | ||
SceUInt32 | flags | ||
) |
int ksceVopRead | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
void * | data, | ||
SceSize | nbyte, | ||
SceSize * | result | ||
) |
int ksceVopWrite | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
const void * | data, | ||
SceSize | nbyte, | ||
SceSize * | result | ||
) |
SceOff ksceVopLseek | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
SceOff | offset, | ||
int | whence | ||
) |
int ksceVopIoctl | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
int | cmd, | ||
const void * | in_data, | ||
SceSize | in_len, | ||
void * | out_data, | ||
SceSize | out_len | ||
) |
int ksceVopRemove | ( | SceVfsVnode * | dvp, |
SceVfsVnode * | vp, | ||
SceVfsPath * | path, | ||
SceUInt32 | flags | ||
) |
int ksceVopMkdir | ( | SceVfsVnode * | dvp, |
SceVfsVnode ** | vpp, | ||
SceVfsPath * | path, | ||
int | mode | ||
) |
int ksceVopRmdir | ( | SceVfsVnode * | dvp, |
SceVfsVnode * | vp, | ||
SceVfsPath * | path | ||
) |
int ksceVopDopen | ( | SceVfsVnode * | vp, |
SceVfsPath * | path, | ||
SceVfsFile * | file | ||
) |
int ksceVopDclose | ( | SceVfsVnode * | vp, |
SceVfsFile * | file | ||
) |
int ksceVopDread | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
SceIoDirent * | dir | ||
) |
int ksceVopGetstat | ( | SceVfsVnode * | vp, |
SceVfsPath * | path, | ||
SceIoStat * | stat | ||
) |
int ksceVopChstat | ( | SceVfsVnode * | vp, |
SceVfsPath * | path, | ||
SceIoStat * | stat, | ||
int | bit | ||
) |
int ksceVopRename | ( | SceVfsVnode * | odvp, |
SceVfsVnode * | ovp, | ||
SceVfsPath * | old_path, | ||
SceVfsVnode * | ndvp, | ||
SceVfsVnode ** | nvpp, | ||
SceVfsPath * | new_path | ||
) |
int ksceVopPread | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
void * | data, | ||
SceSize | nbyte, | ||
SceOff | offset, | ||
SceSize * | pResult | ||
) |
int ksceVopPwrite | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
const void * | data, | ||
SceSize | nbyte, | ||
SceOff | offset, | ||
SceSize * | result | ||
) |
int ksceVopInactive | ( | SceVfsVnode * | vp | ) |
int ksceVopSync | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
int | flags | ||
) |
int ksceVopFgetstat | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
SceIoStat * | stat | ||
) |
int ksceVopFchstat | ( | SceVfsVnode * | vp, |
SceVfsFile * | file, | ||
SceIoStat * | stat, | ||
int | bit | ||
) |
int ksceVopLink | ( | SceVfsVnode * | fvp, |
SceVfsVnode * | tvp | ||
) |
int ksceVopUnlink | ( | SceVfsVnode * | fvp, |
SceVfsVnode * | tvp | ||
) |
int ksceVopWhiteout | ( | SceVfsVnode * | dvp, |
SceVfsVnode * | vp, | ||
SceVfsPath * | old_path, | ||
SceVfsPath * | new_path | ||
) |
int ksceVopCleanup | ( | SceVfsVnode * | vp, |
SceVfsFile * | file | ||
) |
int ksceVopZerofill | ( | SceVfsVnode * | vp, |
SceUInt64 | unk, | ||
SceUInt64 | unk1, | ||
SceUInt64 | unk2 | ||
) |