vitasdk
Documentation of the vitasdk
vfs.h
Go to the documentation of this file.
1
6#ifndef _PSP2KERN_VFS_H_
7#define _PSP2KERN_VFS_H_
8
12#include <psp2kern/types.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18// Forward declarations
19typedef struct SceVfsMount SceVfsMount;
20typedef struct SceVfsVnode SceVfsVnode;
21typedef struct SceVfsFile SceVfsFile;
22typedef struct SceVfsOpTable SceVfsOpTable;
23typedef struct SceVopTable SceVopTable;
24
29#define SCE_VFS_TYPE_FS (0x00000000)
30#define SCE_VFS_TYPE_DEVFS (0x00000010)
31
49
55typedef struct SceVfsPath {
56 const char *name;
58 const char *path;
61
65typedef struct SceVfsMountData {
66 const char *assign_name;
67 const char *fs_name;
68 const char *blockdev_name;
73
74#define SCE_VFS_FS_TYPE_FS (0x01)
75#define SCE_VFS_FS_TYPE_PFS (0x03)
76#define SCE_VFS_FS_TYPE_HOSTFS (0x04)
77#define SCE_VFS_FS_TYPE_BLKDEV (0x10)
78#define SCE_VFS_FS_TYPE_CHRDEV (0x20)
79
80#define SCE_VFS_MOUNT_TYPE_PFS (0x00000001)
81#define SCE_VFS_MOUNT_TYPE_FSROOT (0x00000002)
82#define SCE_VFS_MOUNT_TYPE_DEVFS (0x00000003)
83#define SCE_VFS_MOUNT_TYPE_STACKFS (0x00000005)
84#define SCE_VFS_MOUNT_TYPE_HOSTFS (0x00000006)
85#define SCE_VFS_MOUNT_FLAG_TYPE_MASK (0x000000FF)
86#define SCE_VFS_MOUNT_FLAG_RDONLY (0x00001000)
87#define SCE_VFS_MOUNT_FLAG_NOBUF (0x00002000)
93#define SCE_VFS_MOUNT_FLAG_NUMBERED (0x00004000)
94#define SCE_VFS_MOUNT_FLAG_REMOTE (0x00008000)
95#define SCE_VFS_MOUNT_FLAG_INTERNAL (0x00010000)
96#define SCE_VFS_MOUNT_FLAG_EXTERNAL (0x00020000)
97#define SCE_VFS_MOUNT_FLAG_WRITE_CACHE (0x00040000)
98#define SCE_VFS_MOUNT_FLAG_NO_RECLAIM (0x00100000)
99
143
144#define SCE_VNODE_TYPE_REG (0x00000001)
145#define SCE_VNODE_TYPE_DIR (0x00000002)
146#define SCE_VNODE_TYPE_CHR (0x00000010)
147#define SCE_VNODE_TYPE_ROOT (0x00001000)
148#define SCE_VNODE_TYPE_DEV (0x00002000)
149#define SCE_VNODE_TYPE_MOUNTED (0x00004000)
150
151#define SCE_VNODE_TYPE_CHRDEV (SCE_VNODE_TYPE_DEV | SCE_VNODE_TYPE_CHR)
152#define SCE_VNODE_TYPE_ROOTDIR (SCE_VNODE_TYPE_ROOT | SCE_VNODE_TYPE_DIR)
153#define SCE_VNODE_TYPE_ROOTDIR_DEVFS (0x10000 | 0x20)
154
155#define SCE_VNODE_STATE_ACTIVE (0x00000001)
156#define SCE_VNODE_STATE_INACTIVE (0x00000100)
157#define SCE_VNODE_STATE_UNMOUNTED (0x00000200)
158#define SCE_VNODE_STATE_DELETED (0x00000400)
159#define SCE_VNODE_STATE_RECLAIMED (0x00002000)
160#define SCE_VNODE_STATE_NEW (0x00008000)
161
224
225#define SCE_VFS_FILE_STATE_OPEN (0x00000001)
226#define SCE_VFS_FILE_STATE_CLOSED (0x00000200)
227#define SCE_VFS_FILE_STATE_UNK (0x00000800)
228#define SCE_VFS_FILE_STATE_DUMMY (0x00010000)
229
273
279
286
293
299
304
309
310typedef struct SceVfsOpDevctlArg {
312 const char *dev;
313 unsigned int cmd;
314 const void *arg;
316 void *buf;
320
323 const char *path;
324 const char **path2; // path + something
325 const char **path3; // path3 + *decodeLen
326 char *buf;
331
332typedef struct SceVfsOpTable {
337
338 void *reserved[2]; // Unused
339
341
342 void *reserved2; // Unused
343
346
347 void *reserved3; // Unused
348
366
375
381
389
397
405
412VITASDK_BUILD_ASSERT_EQ(0x18, SceVopLseekArgs); // really 0x18 by SceOff align 8?
413
424
432
440
447
454
460
467
474
482
490
497
502
508
514
521
531
540
549
557
563
571
643
644#define SCE_VFS_UMOUNT_FLAG_FORCE (0x1)
645
649typedef struct SceVfsUmountParam {
650 const char *assign_name;
651 int flag;
654
671int ksceVfsDeleteVfs(const char *name, SceVfsInfo **vfs_info);
672
689
705int vfsUmountForPFS(SceVfsUmountParam *param, int unk, int unk2);
706
731
741SceUID vfsAllocateFile(SceVfsVnode *vp, SceVfsFile **file, const char *name);
751
762int vfsGetNewVnode(SceVfsMount *mnt, SceVopTable *vops, int unk, SceVfsVnode **vpp);
771
796
807int vfsGetVnodeName(SceVfsVnode *vp, char *name, SceSize n, SceSize *result);
817int ksceVopCreate(SceVfsVnode *dvp, SceVfsVnode **vpp, SceVfsPath *path, int flags, int mode);
820int ksceVopRead(SceVfsVnode *vp, SceVfsFile *file, void *data, SceSize nbyte, SceSize *result);
821int ksceVopWrite(SceVfsVnode *vp, SceVfsFile *file, const void *data, SceSize nbyte, SceSize *result);
822SceOff ksceVopLseek(SceVfsVnode *vp, SceVfsFile *file, SceOff offset, int whence);
823
824int ksceVopIoctl(SceVfsVnode *vp, SceVfsFile *file, int cmd, const void *in_data, SceSize in_len, void *out_data, SceSize out_len);
826int ksceVopMkdir(SceVfsVnode *dvp, SceVfsVnode **vpp, SceVfsPath *path, int mode);
828
832
834int ksceVopChstat(SceVfsVnode *vp, SceVfsPath *path, SceIoStat *stat, int bit);
835
836int ksceVopRename(SceVfsVnode *odvp, SceVfsVnode *ovp, SceVfsPath *old_path, SceVfsVnode *ndvp, SceVfsVnode **nvpp, SceVfsPath *new_path);
837int ksceVopPread(SceVfsVnode *vp, SceVfsFile *file, void *data, SceSize nbyte, SceOff offset, SceSize *pResult);
838int ksceVopPwrite(SceVfsVnode *vp, SceVfsFile *file, const void *data, SceSize nbyte, SceOff offset, SceSize *result);
842int ksceVopFchstat(SceVfsVnode *vp, SceVfsFile *file, SceIoStat *stat, int bit);
843
846
847int ksceVopWhiteout(SceVfsVnode *dvp, SceVfsVnode *vp, SceVfsPath *old_path, SceVfsPath *new_path);
852#ifdef __cplusplus
853}
854#endif
855
856#endif /* _PSP2KERN_VFS_VNODE_H_ */
#define VITASDK_BUILD_ASSERT_EQ(__size__, __name__)
Definition build_utils.h:13
Describes a single directory entry.
Definition iofilemgr.h:147
Structure to hold the status information about a file.
Definition iofilemgr.h:127
uint8_t unused[0xE0]
Definition kbl.h:44
int flags
Event flags.
Definition debug.h:3
Definition fast_mutex.h:18
signed int SceSSize
Definition types.h:57
int SceBool
Definition types.h:59
unsigned int SceSize
Definition types.h:56
uint16_t SceUInt16
Definition types.h:42
int SceUID
UIDs are used to describe many different kernel objects.
Definition types.h:90
uint64_t SceUInt64
Definition types.h:51
uint32_t SceUInt32
Definition types.h:45
SceInt64 SceOff
Offset type.
Definition types.h:88
uint8_t SceUInt8
Definition types.h:36
unsigned short unk1
Definition usbd.h:1
SceUInt8 fs_type
One of SCE_VFS_FS_TYPE_*.
Definition vfs.h:630
int ksceVopClose(SceVfsVnode *vp, SceVfsFile *file)
SceUInt32 flags
Definition vfs.h:386
int ksceVopRename(SceVfsVnode *odvp, SceVfsVnode *ovp, SceVfsPath *old_path, SceVfsVnode *ndvp, SceVfsVnode **nvpp, SceVfsPath *new_path)
int vfsGetNewVnode(SceVfsMount *mnt, SceVopTable *vops, int unk, SceVfsVnode **vpp)
Get a new vnode from the pool.
SceVfsVnode * vp
Definition vfs.h:533
SceUInt8 padding2[40]
Definition vfs.h:221
int unk
Definition vfs.h:289
SceIoStat * stat
Definition vfs.h:494
SceSSize(* vop_read)(SceVopReadArgs *argp)
Definition vfs.h:578
SceVfsVnode * tvp
Definition vfs.h:511
SceUID owner_id
Definition vfs.h:171
int vfsMountForPFS(SceVfsMountParam *param)
Mount a drive via the mount daemon.
SceVfsVnode * odvp
Definition vfs.h:523
SceUInt32 mnt_flags
ORed together SCE_VFS_MOUNT_FLAG_* flags.
Definition vfs.h:632
SceVfsVnode ** vpp
Definition vfs.h:435
int ksceVopDread(SceVfsVnode *vp, SceVfsFile *file, SceIoDirent *dir)
struct BuffCache * bc
Definition vfs.h:192
SceVfsVnode * vp
Definition vfs.h:391
const void * arg
Definition vfs.h:314
SceVfsFile * file
Definition vfs.h:363
const char * blockdev_name
Overrides blockdevName in misc->blockdevName.
Definition vfs.h:628
int whence
Definition vfs.h:410
int ksceVopLookup(SceVfsVnode *dvp, SceVfsVnode **vpp, SceVfsPath *path, SceUInt32 flags)
SceVfsVnode * vp
Definition vfs.h:565
int(* vfs_decode_path_elem)(SceVfsOpDecodePathElemArgs *argp)
Definition vfs.h:350
SceVfsMount * mnt
Definition vfs.h:288
SceVfsPath * dev_file_path
Path to the device file.
Definition vfs.h:270
SceVfsMount * mnted_on_list_prev
Definition vfs.h:124
int(* vop_getstat)(SceVopGetstatArgs *argp)
Definition vfs.h:593
const SceVopTable * default_vops
Default vop table for the vnodes.
Definition vfs.h:43
const char * dev
Definition vfs.h:312
SceVfsVnode * fvp
Definition vfs.h:510
SceSize * decode_len
Definition vfs.h:328
int ksceVfsDeleteVfs(const char *name, SceVfsInfo **vfs_info)
Unegister a VFS implementation.
SceUInt32 flags
Definition vfs.h:429
SceVfsVnode * vp
Definition vfs.h:449
struct FdLock * fd_lock
Definition vfs.h:134
SceUInt16 opt
Used to identify the IO Scheduler queue to use for the mountpoint.
Definition vfs.h:631
struct FdLock * fd_lock
Definition vfs.h:253
SceUInt32 state
Definition vfs.h:241
int(* vop_lookup)(SceVopLookupArgs *argp)
Definition vfs.h:576
SceVfsFile * file
Definition vfs.h:457
SceVfsVnode * fvp
Definition vfs.h:504
int vfsGetVnodeName(SceVfsVnode *vp, char *name, SceSize n, SceSize *result)
Get the name of a vnode.
const char * vfs_name
Name of the VFS implementation (Must be unique, used to identify the VFS)
Definition vfs.h:37
SceVfsMount * mnted_on_list
Definition vfs.h:123
int(* vop_inactive)(SceVopInactiveArgs *argp)
Definition vfs.h:603
int(* vfs_fini)(SceVfsOpFiniArgs *argp)
Definition vfs.h:345
SceVfsFile * file
Definition vfs.h:485
char path[64]
Definition vfs.h:128
SceUID pid
Definition vfs.h:242
SceUInt32 idata
Definition vfs.h:255
SceVfsPath * path
Definition vfs.h:428
int(* vop_verofill)(SceVopZerofillArgs *argp)
Definition vfs.h:614
int(* vfs_init)(SceVfsOpInitArgs *argp)
Definition vfs.h:344
SceVfsVnode ** vpp
Definition vfs.h:369
SceSize name_length
Length of name.
Definition vfs.h:57
void * node_data
Pointer for private VFS data.
Definition vfs.h:183
char * buf
Definition vfs.h:326
void * buf
Definition vfs.h:535
SceUInt32 mnt_opt
Definition vfs.h:217
SceUInt8 padding[16]
Definition vfs.h:140
SceIoDirent * dir
Definition vfs.h:464
SceVfsInfo * mnt_vfs_inf
Definition vfs.h:115
SceVfsVnode * dvp
Definition vfs.h:426
SceUInt32 opaque[4]
Definition vfs.h:137
int(* vfs_umount)(SceVfsOpUmountArgs *argp)
Definition vfs.h:334
SceVfsMount * mnt
Definition vfs.h:275
SceOff offset
Definition vfs.h:546
SceOff offset
Definition vfs.h:409
SceSize buf_len
Definition vfs.h:327
SceVfsVnode * vp
Definition vfs.h:492
SceUInt64 unk
Definition vfs.h:566
int(* vop_create)(SceVopCreateArgs *argp)
Definition vfs.h:574
SceVfsVnode * link_to
Definition vfs.h:212
SceUInt64 size
Definition vfs.h:206
int mode
Definition vfs.h:437
int(* vop_remove)(SceVopRemoveArgs *argp)
Definition vfs.h:584
SceVfsFile * next
Definition vfs.h:245
SceVfsVnode * mnt_vnode
Definition vfs.h:103
int ksceVopLink(SceVfsVnode *fvp, SceVfsVnode *tvp)
SceVfsPath * old_path
Definition vfs.h:553
int flags
Definition vfs.h:362
struct DebugPath * debug_path
Definition vfs.h:257
int flag
One of SCE_VFS_UMOUNT_FLAG_*.
Definition vfs.h:651
int vfsUnlockVnode(SceVfsVnode *vp)
Unlock a vnode.
SceVfsVnode ** nvpp
Definition vfs.h:527
SceVfsVnode * dvp
Definition vfs.h:434
SceVfsPath * path
Definition vfs.h:444
SceUID pid
Definition vfs.h:121
SceVfsMount * mnt
Definition vfs.h:311
SceVfsMount * mnt
Definition vfs.h:322
const void * in_data
Definition vfs.h:418
int(* vop_whiteout)(SceVopWhiteoutArgs *argp)
Definition vfs.h:612
SceVfsMount * mnt
Definition vfs.h:281
int(* vop_ioctl)(SceVopIoctlArgs *argp)
Definition vfs.h:582
int ksceVopRmdir(SceVfsVnode *dvp, SceVfsVnode *vp, SceVfsPath *path)
SceUInt32 unk_0xd4
Definition vfs.h:218
int vfsUmount(SceVfsUmountParam *param)
Unmount a drive.
SceVfsVnode * vp
Definition vfs.h:407
int vfsFreeVnode(SceVfsVnode *vp)
Return a vnode to the pool.
int ksceVopZerofill(SceVfsVnode *vp, SceUInt64 unk, SceUInt64 unk1, SceUInt64 unk2)
int ksceVopOpen(SceVfsVnode *vp, SceVfsPath *path, int flags, SceVfsFile *file)
SceVfsPath * path
Definition vfs.h:436
SceUInt32 opened_entry_num
Definition vfs.h:118
void * data
To be passed to the created mountpoint.
Definition vfs.h:636
SceUInt32 bit
Definition vfs.h:487
int(* vop_cleanup)(SceVopCleanupArgs *argp)
Definition vfs.h:613
SceUInt64 unk1
Definition vfs.h:567
const char * name
Name of vnode.
Definition vfs.h:56
struct SceVfsInfo * next
Internal use only.
Definition vfs.h:46
SceVfsFile * file
Definition vfs.h:378
SceVfsFile * fd_list
Definition vfs.h:209
SceUInt32 type
ORed together SCE_VNODE_TYPE_* flags.
Definition vfs.h:202
SceVfsFile * file
Definition vfs.h:493
SceSize out_len
Definition vfs.h:421
SceUInt8 fs_type
One of SCE_VFS_FS_TYPE_*.
Definition vfs.h:108
SceBool vfsIsLockedMnt(SceVfsMount *mnt)
Is the mnt lock held by the current thread ?
int ksceVopWhiteout(SceVfsVnode *dvp, SceVfsVnode *vp, SceVfsPath *old_path, SceVfsPath *new_path)
const void * reserved
Definition vfs.h:598
int ksceVopUnlink(SceVfsVnode *fvp, SceVfsVnode *tvp)
int bit
Definition vfs.h:479
const char * blockdev_name_no_part
Path to the block device without a partition specified (used as a fallback if blockdev_name isn't fou...
Definition vfs.h:69
SceVfsMount * mnt
Definition vfs.h:185
const char * root_path
This is the internal root path of the mountpoint. (example: /ux/exfat for ux0:)
Definition vfs.h:627
SceVfsMountData * misc
Definition vfs.h:638
SceKernelFastMutex fast_mutex
Definition vfs.h:101
SceUInt16 opt
Definition vfs.h:109
SceUInt32 recursive_count
Definition vfs.h:172
int vfsLockVnode(SceVfsVnode *vp)
Lock a vnode.
SceUInt8 has_flock_ent
Definition vfs.h:251
int ksceVopDopen(SceVfsVnode *vp, SceVfsPath *path, SceVfsFile *file)
SceOff ksceVopLseek(SceVfsVnode *vp, SceVfsFile *file, SceOff offset, int whence)
SceVfsFile * file
Definition vfs.h:534
int ksceVopSync(SceVfsVnode *vp, SceVfsFile *file, int flags)
struct Fumount * fumount
Definition vfs.h:135
SceVfsVnode * vp
Definition vfs.h:552
SceVfsVnode * dvp
Definition vfs.h:551
const void * buf
Definition vfs.h:544
int(* vop_fgetstat)(SceVopFgetstatArgs *argp)
Definition vfs.h:609
int(* vop_dopen)(SceVopDopenAgrs *argp)
Definition vfs.h:589
int(* vop_link)(SceVopLinkArgs *argp)
Definition vfs.h:604
int(* vop_rename)(SceVopRenameArgs *argp)
Definition vfs.h:596
SceVfsVnode * vp
Definition vfs.h:244
void * data
VFS Implementation defined mount point data.
Definition vfs.h:132
SceVfsVnode * next
Definition vfs.h:188
SceVfsPath * path
Definition vfs.h:370
int flags
Definition vfs.h:276
int ksceVopChstat(SceVfsVnode *vp, SceVfsPath *path, SceIoStat *stat, int bit)
SceUID vfsAllocateFile(SceVfsVnode *vp, SceVfsFile **file, const char *name)
Allocate a new VFS file object.
SceVfsPath * path
Definition vfs.h:477
SceUInt32 opaque2[4]
Definition vfs.h:138
SceVfsVnode * vp
Definition vfs.h:377
int(* vfs_sync)(SceVfsOpSyncArgs *argp)
Definition vfs.h:340
int ksceVopFchstat(SceVfsVnode *vp, SceVfsFile *file, SceIoStat *stat, int bit)
SceSize in_len
Definition vfs.h:419
int ksceVopRead(SceVfsVnode *vp, SceVfsFile *file, void *data, SceSize nbyte, SceSize *result)
SceUInt32 vnode_num
Definition vfs.h:113
SceUInt32 mnt_flags
ORed together SCE_VFS_MOUNT_FLAG_* flags.
Definition vfs.h:110
SceVfsVnode * vp
Definition vfs.h:399
SceVfsVnode * vp
Definition vfs.h:462
struct SceVfsVnode::@55 core
int ksceVopIoctl(SceVfsVnode *vp, SceVfsFile *file, int cmd, const void *in_data, SceSize in_len, void *out_data, SceSize out_len)
SceBool vfsIsOwnerVnode(SceVfsVnode *vp)
Does the current thread own the vnode lock.
SceVfsVnode * vp
Definition vfs.h:542
SceSSize(* vop_pwrite)(SceVopPwriteArgs *argp)
Definition vfs.h:601
const SceVfsOpTable * vfs_ops
VFS Implementation operations for mountpoint actions.
Definition vfs.h:36
SceVfsFile * file
Definition vfs.h:400
int(* vop_dread)(SceVopDreadArgs *argp)
Definition vfs.h:591
SceUInt32 linked_num
Definition vfs.h:213
int(* vop_mkdir)(SceVopMkdirArgs *argp)
Definition vfs.h:586
SceVfsMountData * mnt_data
Definition vfs.h:127
SceVfsFile * file
Definition vfs.h:392
SceVfsMount * mnt
Definition vfs.h:269
SceVfsInfo * vfs_inf
Definition vfs.h:306
SceVfsVnode * dvp
Definition vfs.h:383
void * vfs_data
Optional data that can be passed to the vfs_init callback.
Definition vfs.h:44
SceUInt32 fd
File descriptor provided and used by VFS implementation.
Definition vfs.h:247
SceVfsVnode * vp
Definition vfs.h:360
SceOff(* vop_lseek)(SceVopLseekArgs *argp)
Definition vfs.h:580
void * out_data
Definition vfs.h:420
SceUInt32 is_dir
Definition vfs.h:236
const char * path
Full path name is from.
Definition vfs.h:58
int(* vfs_devctl)(SceVfsOpDevctlArg *arg)
Definition vfs.h:349
SceSize vfs_name_len
Length of vfs_name plus null-terminator.
Definition vfs.h:38
int ksceVfsAddVfs(SceVfsInfo *vfs_info)
Register a VFS implementation.
SceIoStat * stat
Definition vfs.h:478
SceVfsPath * new_path
Definition vfs.h:554
const char * path
Definition vfs.h:323
int(* vop_rmdir)(SceVopRmdirArgs *argp)
Definition vfs.h:587
int vfsUmountForPFS(SceVfsUmountParam *param, int unk, int unk2)
Unmount a drive via the mount daemon.
int(* vop_unlink)(SceVopUnlinkArgs *argp)
Definition vfs.h:605
SceSSize(* vop_pread)(SceVopPreadArgs *argp)
Definition vfs.h:600
const char * vfs_name
Name of the VFS to use for the mountpoint.
Definition vfs.h:634
SceVfsPath * path
Definition vfs.h:361
struct Ncache * ncache
Definition vfs.h:199
void * reserved3
Definition vfs.h:347
SceUInt8 padding[44]
Definition vfs.h:177
SceVfsVnode * vp
Definition vfs.h:415
SceVfsFile * file
Definition vfs.h:560
int ksceVopGetstat(SceVfsVnode *vp, SceVfsPath *path, SceIoStat *stat)
int vfsFreeFile(SceVfsVnode *vp, SceUID fd)
Free a File object.
int ksceVopWrite(SceVfsVnode *vp, SceVfsFile *file, const void *data, SceSize nbyte, SceSize *result)
SceUID allocator
Definition vfs.h:197
int(* vfs_set_root)(SceVfsOpSetRootArgs *argp)
Definition vfs.h:335
int(* vop_fchstat)(SceVopFchstatArgs *argp)
Definition vfs.h:610
SceSize arg_len
Definition vfs.h:315
SceVfsVnode * vp
Definition vfs.h:469
SceVopTable * ops
Definition vfs.h:180
SceVfsVnode * ndvp
Definition vfs.h:526
SceUInt32 state
Definition vfs.h:107
SceVfsInfo * vfs_inf
Definition vfs.h:301
int ksceVopDclose(SceVfsVnode *vp, SceVfsFile *file)
const char ** path2
Definition vfs.h:324
SceVfsFile * file
Definition vfs.h:463
SceUInt16 flock_busy_count
Definition vfs.h:248
SceUID wait_id
Definition vfs.h:173
SceVfsFile * file
Definition vfs.h:416
int ksceVopPwrite(SceVfsVnode *vp, SceVfsFile *file, const void *data, SceSize nbyte, SceOff offset, SceSize *result)
int(* vop_dclose)(SceVopDcloseArgs *argp)
Definition vfs.h:590
SceVfsVnode * vp
Definition vfs.h:476
int(* vop_open)(SceVopOpenArgs *argp)
Definition vfs.h:573
const char * blockdev_name
Path to the block device.
Definition vfs.h:68
SceVfsPath * new_path
Definition vfs.h:528
SceOff position
Definition vfs.h:239
SceUID allocator
Definition vfs.h:105
const void * buf
Definition vfs.h:401
int flags
Definition vfs.h:296
int cmd
Definition vfs.h:417
void * reserved[2]
Definition vfs.h:338
void * buf
Definition vfs.h:393
SceUInt32 waiter
Definition vfs.h:170
SceUInt32 default_io_cache_size
Definition vfs.h:130
SceVfsFile * file
Definition vfs.h:543
int(* vop_close)(SceVopCloseArgs *argp)
Definition vfs.h:575
SceOff offset
Definition vfs.h:537
SceVfsFile * file
Definition vfs.h:451
int(* vop_sync)(SceVopSyncArgs *argp)
Definition vfs.h:607
SceVfsVnode * vp
Definition vfs.h:427
int ksceVopPread(SceVfsVnode *vp, SceVfsFile *file, void *data, SceSize nbyte, SceOff offset, SceSize *pResult)
SceVfsVnode * vnode_list
Definition vfs.h:112
int ksceVopRemove(SceVfsVnode *dvp, SceVfsVnode *vp, SceVfsPath *path, SceUInt32 flags)
SceVopTable * vops
Overrides defaultVops in the VFS Info for the root vnode of the VFS.
Definition vfs.h:640
SceSSize(* vop_write)(SceVopWriteArgs *argp)
Definition vfs.h:579
SceUInt32 type
One of SCE_VFS_TYPE_*.
Definition vfs.h:41
void * reserved2
Definition vfs.h:342
SceUInt8 is_locked
Definition vfs.h:250
int vfsLockMnt(SceVfsMount *mnt)
Lock the mnt.
SceUInt32 wait_pattern
Definition vfs.h:174
SceUInt32 ioSchedData[3]
Definition vfs.h:259
int(* vfs_mount)(SceVfsOpMountArgs *argp)
Definition vfs.h:333
int ksceVopCreate(SceVfsVnode *dvp, SceVfsVnode **vpp, SceVfsPath *path, int flags, int mode)
SceVfsVnode * vp
Definition vfs.h:516
SceUInt32 ref_count
Definition vfs.h:190
SceVfsVnode * vp
Definition vfs.h:559
int vfsUnlockMnt(SceVfsMount *mnt)
Unlock the mnt.
int flags
Definition vfs.h:371
SceUInt32 available_entry_num
Definition vfs.h:119
SceSize buf_len
Definition vfs.h:317
struct Flock * flock
Definition vfs.h:195
SceUInt32 flags
Definition vfs.h:237
int ksceVopFgetstat(SceVfsVnode *vp, SceVfsFile *file, SceIoStat *stat)
SceVfsPath * path
Definition vfs.h:450
int flags
Definition vfs.h:518
int(* vop_chstat)(SceVopChstatArgs *argp)
Definition vfs.h:594
const char * assign_name
Assigned name of the mountpoint to unmount.
Definition vfs.h:650
SceVfsVnode * tvp
Definition vfs.h:505
SceVfsFile * file
Definition vfs.h:517
int vfsMount(SceVfsMountParam *param)
Mount a drive.
SceVfsVnode * vp
Definition vfs.h:456
void * buf
Definition vfs.h:316
SceVfsPath * old_path
Definition vfs.h:525
SceSize nbyte
Definition vfs.h:536
SceVfsVnode * vp
Definition vfs.h:484
SceSize nbyte
Definition vfs.h:545
SceUInt32 node_inf
Field for private VFS vnode info.
Definition vfs.h:182
SceVfsPath * path
Definition vfs.h:470
SceVfsVnode * dvp
Definition vfs.h:442
SceUInt32 state
One of SCE_VNODE_STATE_*.
Definition vfs.h:201
int ksceVopCleanup(SceVfsVnode *vp, SceVfsFile *file)
SceUInt32 mnt_ref_count
Definition vfs.h:116
SceUInt64 unk2
Definition vfs.h:568
const char ** path3
Definition vfs.h:325
int mode
Definition vfs.h:372
struct SceVfsVnode * vp
Definition vfs.h:283
SceVfsMount * mnt
Definition vfs.h:295
SceSize nbyte
Definition vfs.h:402
SceSize nbyte
Definition vfs.h:394
SceIoStat * stat
Definition vfs.h:486
unsigned int cmd
Definition vfs.h:313
SceVfsVnode * vp
Definition vfs.h:443
SceVopTable * vop_tbl
Internal use only.
Definition vfs.h:204
int unk
Definition vfs.h:282
int ksceVopMkdir(SceVfsVnode *dvp, SceVfsVnode **vpp, SceVfsPath *path, int mode)
SceUInt32 ref_count
Internal use only.
Definition vfs.h:40
SceVfsVnode * vp
Definition vfs.h:499
SceIoStat * stat
Definition vfs.h:471
SceVfsVnode * dvp
Definition vfs.h:368
struct SceVfsVnode ** vpp
Definition vfs.h:290
int ksceVopInactive(SceVfsVnode *vp)
SceVfsMount * mnt_list_next
Definition vfs.h:125
struct SceVfsVnode::@54 vdlock
SceUInt32 mnt_id
Mountpoint ID (example: 0xF00 for uma0:)
Definition vfs.h:70
const char * fs_name
Name of the FS being mounted.
Definition vfs.h:67
SceVfsVnode ** vpp
Definition vfs.h:384
SceVfsVnode * dd
Parent vnode.
Definition vfs.h:187
SceUInt32 fd_num
Definition vfs.h:210
const char * assign_name
Assigned name for the mount point. Must end with ':', typically in format '<mnt>0:'.
Definition vfs.h:66
SceVfsFile * file
Definition vfs.h:408
SceVfsPath * path
Definition vfs.h:385
int(* vfs_get_root)(SceVfsOpGetRootArgs *argp)
Definition vfs.h:336
SceVfsVnode * ovp
Definition vfs.h:524
VFS File.
Definition vfs.h:235
VFS Info defining a VFS Implementation.
Definition vfs.h:35
Definition vfs.h:100
Mountpoint Data.
Definition vfs.h:65
Parameters for vfsMount and vfsMountForPFS.
Definition vfs.h:626
Definition vfs.h:321
Definition vfs.h:310
Definition vfs.h:305
Definition vfs.h:287
Definition vfs.h:300
Definition vfs.h:268
Definition vfs.h:280
Definition vfs.h:294
Definition vfs.h:332
Definition vfs.h:274
VFS Path for vnode.
Definition vfs.h:55
Parameters for vfsUmount and vfsUmountForPFS.
Definition vfs.h:649
VFS Vnode.
Definition vfs.h:168
Definition vfs.h:475
Definition vfs.h:558
Definition vfs.h:376
Definition vfs.h:367
Definition vfs.h:455
Definition vfs.h:448
Definition vfs.h:461
Definition vfs.h:483
Definition vfs.h:491
Definition vfs.h:468
Definition vfs.h:498
Definition vfs.h:414
Definition vfs.h:503
Definition vfs.h:382
Definition vfs.h:406
Definition vfs.h:433
Definition vfs.h:359
Definition vfs.h:532
Definition vfs.h:541
Definition vfs.h:390
Definition vfs.h:425
Definition vfs.h:522
Definition vfs.h:441
Definition vfs.h:515
Definition vfs.h:572
Definition vfs.h:509
Definition vfs.h:550
Definition vfs.h:398
Definition vfs.h:564