vitasdk
Documentation of the vitasdk

Exports for Kernel. More...

Data Structures

struct  ScePfsRndDriveId
 

Functions

 VITASDK_BUILD_ASSERT_EQ (0x10, ScePfsRndDriveId)
 
int kscePfsMount (const char *path, const ScePfsRndDriveId *rnd_drive_id, SceUInt64 program_authority_id, const void *klicensee, uint16_t mode_index)
 Mount pfs directory.
 
int kscePfsMount2 (const char *path, const ScePfsRndDriveId *rnd_drive_id, const void *klicensee, uint16_t mode_index)
 Mount pfs directory without authid.
 
int kscePfsUnmount (const ScePfsRndDriveId *rnd_drive_id)
 Unmount pfs directory.
 
int kscePfsApprove (const ScePfsRndDriveId *rnd_drive_id, SceUInt64 program_authority_id)
 
int kscePfsDisapprove (const ScePfsRndDriveId *rnd_drive_id, SceUInt64 program_authority_id)
 
int kscePfsAcidDirApprove (const char *mount_point_prefix, const char *dlc_folder)
 Approve an ACID-protected add-on-content directory.
 
int kscePfsAcidDirMount (const char *mount_point_prefix, const char *dlc_folder, const void *klicensee)
 Mount an ACID-protected add-on-content directory.
 
int kscePfsAcidDirUnmount (const char *mount_point_prefix, const char *dlc_folder)
 Unmount an ACID-protected add-on-content directory.
 

Variables

char ScePfsRndDriveId::drive_id [0x10]
 NUL-terminated pseudo-drive identifier, such as PD001122334455d.
 

Detailed Description

Exports for Kernel.


Using this library in your project

Include the header file in your project:




Using this library in your project

Include the header file in your project:


Link the library to the executable:

ScePfsMgrForKernel_stub




Data Structure Documentation

◆ ScePfsRndDriveId

struct ScePfsRndDriveId
Data Fields
char drive_id[0x10] NUL-terminated pseudo-drive identifier, such as PD001122334455d.

Function Documentation

◆ VITASDK_BUILD_ASSERT_EQ()

VITASDK_BUILD_ASSERT_EQ ( 0x10  ,
ScePfsRndDriveId   
)

◆ kscePfsMount()

int kscePfsMount ( const char *  path,
const ScePfsRndDriveId *  rnd_drive_id,
SceUInt64  program_authority_id,
const void *  klicensee,
uint16_t  mode_index 
)

Mount pfs directory.

Parameters
[in]path- The pfs encrypted directory path
[in]rnd_drive_id- The pfs mount target Pseudo Drive strings
[in]program_authority_id- The program authority ID
[in]klicensee- The klicensee
[in]mode_index- The mode_index
Returns
0 on success, < 0 on error.

◆ kscePfsMount2()

int kscePfsMount2 ( const char *  path,
const ScePfsRndDriveId *  rnd_drive_id,
const void *  klicensee,
uint16_t  mode_index 
)

Mount pfs directory without authid.

Parameters
[in]path- The pfs encrypted directory path
[in]rnd_drive_id- The pfs mount target Pseudo Drive strings
[in]klicensee- The klicensee
[in]mode_index- The mode_index
Returns
0 on success, < 0 on error.

◆ kscePfsUnmount()

int kscePfsUnmount ( const ScePfsRndDriveId *  rnd_drive_id)

Unmount pfs directory.

Parameters
[in]rnd_drive_id- The pfs mount drive strings
Returns
0 on success, < 0 on error.

◆ kscePfsApprove()

int kscePfsApprove ( const ScePfsRndDriveId *  rnd_drive_id,
SceUInt64  program_authority_id 
)

◆ kscePfsDisapprove()

int kscePfsDisapprove ( const ScePfsRndDriveId *  rnd_drive_id,
SceUInt64  program_authority_id 
)

◆ kscePfsAcidDirApprove()

int kscePfsAcidDirApprove ( const char *  mount_point_prefix,
const char *  dlc_folder 
)

Approve an ACID-protected add-on-content directory.

FW 3.60 opens <mount_point_prefix>0:<dlc_folder>, issues ioctl 0x4403, and closes the directory. Both strings must remain valid until this function returns; they are not used afterwards. The maximum lengths are 31 bytes for mount_point_prefix and 62 bytes for dlc_folder, excluding NUL terminators. NULL, empty, or overlong strings return 0x80010016.

Parameters
[in]mount_point_prefix- Prefix used to build the directory path.
[in]dlc_folder- Add-on-content directory component.
Returns
The ioctl result, an error from closing the directory if the ioctl succeeded, or another negative I/O error.

◆ kscePfsAcidDirMount()

int kscePfsAcidDirMount ( const char *  mount_point_prefix,
const char *  dlc_folder,
const void *  klicensee 
)

Mount an ACID-protected add-on-content directory.

FW 3.60 opens <mount_point_prefix>0:<dlc_folder>, then issues ioctl 0x4402 with exactly 16 input bytes from klicensee and no output buffer. The klicensee may be NULL. After validating the add-on-content license metadata, AppMgr passes NULL when its 16-byte key is all zero and otherwise passes the key. The strings and optional key buffer must remain valid until this function returns; they are not used afterwards. AppMgr invokes this operation with thread-access permission 0x40; the PFS VFS implementation checks whether the caller is authorized. NULL, empty, or overlong strings return 0x80010016.

Parameters
[in]mount_point_prefix- Prefix used to build the directory path.
[in]dlc_folder- Add-on-content directory component.
[in]klicensee- Optional 16-byte content key.
Returns
The ioctl result, an error from closing the directory if the ioctl succeeded, or another negative I/O error.

◆ kscePfsAcidDirUnmount()

int kscePfsAcidDirUnmount ( const char *  mount_point_prefix,
const char *  dlc_folder 
)

Unmount an ACID-protected add-on-content directory.

FW 3.60 opens <mount_point_prefix>0:<dlc_folder>, issues ioctl 0x4404, and closes the directory. Both strings must remain valid until this function returns; they are not used afterwards. The maximum lengths are 31 bytes for mount_point_prefix and 62 bytes for dlc_folder, excluding NUL terminators. NULL, empty, or overlong strings return 0x80010016.

Parameters
[in]mount_point_prefix- Prefix used to build the directory path.
[in]dlc_folder- Add-on-content directory component.
Returns
The ioctl result, an error from closing the directory if the ioctl succeeded, or another negative I/O error.

Variable Documentation

◆ drive_id

char ScePfsRndDriveId::drive_id[0x10]

NUL-terminated pseudo-drive identifier, such as PD001122334455d.