vitasdk
Documentation of the vitasdk
|
Exports for Kernel.
Include the header file in your project:
Include the header file in your project:
Typedefs | |
typedef int8_t | SceChar8 |
typedef uint8_t | SceUChar8 |
typedef int8_t | SceInt8 |
typedef uint8_t | SceUInt8 |
typedef int16_t | SceShort16 |
typedef uint16_t | SceUShort16 |
typedef int16_t | SceInt16 |
typedef uint16_t | SceUInt16 |
typedef int32_t | SceInt32 |
typedef uint32_t | SceUInt32 |
typedef int32_t | SceInt |
typedef uint32_t | SceUInt |
typedef int64_t | SceInt64 |
typedef uint64_t | SceUInt64 |
typedef int64_t | SceLong64 |
typedef uint64_t | SceULong64 |
typedef unsigned int | SceSize |
typedef signed int | SceSSize |
typedef int | SceBool |
typedef float | SceFloat |
typedef float | SceFloat32 |
typedef double | SceDouble |
typedef double | SceDouble64 |
typedef signed char | SceSByte |
typedef signed char | SceSByte8 |
typedef unsigned char | SceByte |
typedef unsigned char | SceByte8 |
typedef uint16_t | SceWChar16 |
typedef uint32_t | SceWChar32 |
typedef void | SceVoid |
typedef void * | ScePVoid |
typedef int | SceIntPtr |
typedef unsigned int | SceUIntPtr |
typedef SceUIntPtr | SceUIntVAddr |
typedef int | SceMode |
Mode for I/O functions. More... | |
typedef SceInt64 | SceOff |
Offset type. More... | |
typedef int | SceUID |
UIDs are used to describe many different kernel objects. More... | |
typedef int | ScePID |
Process ID. More... | |
typedef unsigned int | SceNID |
Library/Function NID. More... | |
typedef char * | SceName |
Names are used to describe object names. More... | |
typedef SceUInt64 | SceKernelSysClock |
64-bit system clock type. More... | |
typedef SceKernelPAVector | SceKernelPaddrList |
typedef int | SceKernelSpinlock |
Regular Spinlock. More... | |
typedef int | SceKernelRWSpinlock |
RW Spinlock. More... | |
typedef int | SceKernelIntrStatus |
Interrupt status. More... | |
Macros | |
#define | SCE_KERNEL_THREAD_ID_SELF 0 |
Current thread's UID - pass to APIs expecting a thread ID to operate on calling thread. More... | |
#define | SCE_KERNEL_PROCESS_ID_SELF 0 |
Current process's UID - pass to APIs expecting a process ID to operate on calling process. More... | |
#define | SCE_UID_NAMELEN 31 |
Maximum length for kernel object names. More... | |
#define | SCE_OK (0) |
#define | SCE_KERNEL_1KiB (0x400) |
#define | SCE_KERNEL_2KiB (0x800) |
#define | SCE_KERNEL_4KiB (0x1000) |
#define | SCE_KERNEL_8KiB (0x2000) |
#define | SCE_KERNEL_16KiB (0x4000) |
#define | SCE_KERNEL_32KiB (0x8000) |
#define | SCE_KERNEL_64KiB (0x10000) |
#define | SCE_KERNEL_128KiB (0x20000) |
#define | SCE_KERNEL_256KiB (0x40000) |
#define | SCE_KERNEL_512KiB (0x80000) |
#define | SCE_KERNEL_1MiB (0x100000) |
#define | SCE_KERNEL_2MiB (0x200000) |
#define | SCE_KERNEL_4MiB (0x400000) |
#define | SCE_KERNEL_8MiB (0x800000) |
#define | SCE_KERNEL_16MiB (0x1000000) |
#define | SCE_KERNEL_32MiB (0x2000000) |
#define | SCE_KERNEL_64MiB (0x4000000) |
#define | SCE_KERNEL_128MiB (0x8000000) |
#define | SCE_KERNEL_256MiB (0x10000000) |
#define | SCE_KERNEL_512MiB (0x20000000) |
#define | SCE_KERNEL_1GiB (0x40000000) |
#define | SCE_KERNEL_2GiB (0x80000000) |
#define | SCE_KERNEL_4GiB (0x100000000LL) |
#define | SCE_KERNEL_8GiB (0x200000000LL) |
#define | SCE_KERNEL_16GiB (0x400000000LL) |
#define | SCE_KERNEL_32GiB (0x800000000LL) |
struct SceIMatrix2 |
Data Fields | ||
---|---|---|
SceIVector2 | x | |
SceIVector2 | y |
struct SceFMatrix2 |
Data Fields | ||
---|---|---|
SceFVector2 | x | |
SceFVector2 | y |
struct SceIMatrix3 |
Data Fields | ||
---|---|---|
SceIVector3 | x | |
SceIVector3 | y | |
SceIVector3 | z |
struct SceFMatrix3 |
Data Fields | ||
---|---|---|
SceFVector3 | x | |
SceFVector3 | y | |
SceFVector3 | z |
struct SceIMatrix4 |
Data Fields | ||
---|---|---|
SceIVector4 | x | |
SceIVector4 | y | |
SceIVector4 | z | |
SceIVector4 | w |
struct SceFMatrix4 |
Data Fields | ||
---|---|---|
SceFVector4 | x | |
SceFVector4 | y | |
SceFVector4 | z | |
SceFVector4 | w |
struct SceDateTime |
struct SceKernelVARange |
Data Fields | ||
---|---|---|
uint32_t | addr | |
SceSize | size |
struct SceKernelPARange |
Data Fields | ||
---|---|---|
uint32_t | addr | |
SceSize | size |
struct SceKernelPAVector |
Data Fields | ||
---|---|---|
SceSize | size | Size of this structure. |
union SceKernelPAVector | __unnamed__ |
struct SceSharedSecret |
struct SceSelfAuthInfo |
Data Fields | ||
---|---|---|
SceUInt64 | program_authority_id | |
uint8_t | padding[8] | |
uint8_t | capability[0x20] | |
uint8_t | attribute[0x20] | |
SceSharedSecret | secret |
struct SceAuthInfo |
Data Fields | ||
---|---|---|
SceUInt32 | unk_0x00 | |
SceUInt32 | self_type | |
SceSelfAuthInfo | request | |
SceSelfAuthInfo | response | |
SceUInt32 | media_type | |
SceUInt32 | unk_0x12C |
union SceKernelPAVector.__unnamed49__ |
Data Fields | ||
---|---|---|
__unnamed49__ | __unnamed__ | |
__unnamed49__ | __unnamed__ |
struct SceKernelPAVector.__unnamed49__.__unnamed51__ |
Data Fields | ||
---|---|---|
uint32_t | ranges_size | Ex: 8. |
uint32_t | data_in_vector | Must be <= 8. |
uint32_t | count | |
SceKernelPARange * | ranges |
struct SceKernelPAVector.__unnamed49__.__unnamed53__ |
Data Fields | ||
---|---|---|
uint32_t | list_size | Size in elements of the list array. |
uint32_t | ret_length | Total physical size of the memory pairs. |
uint32_t | ret_count | Number of elements of list filled by ksceKernelVARangeToPAVector. |
SceKernelAddrPair * | list | Array of physical addresses and their lengths pairs. |
#define SCE_KERNEL_THREAD_ID_SELF 0 |
Current thread's UID - pass to APIs expecting a thread ID to operate on calling thread.
#define SCE_KERNEL_PROCESS_ID_SELF 0 |
Current process's UID - pass to APIs expecting a process ID to operate on calling process.
#define SCE_UID_NAMELEN 31 |
Maximum length for kernel object names.
#define SCE_OK (0) |
#define SCE_KERNEL_1KiB (0x400) |
#define SCE_KERNEL_2KiB (0x800) |
#define SCE_KERNEL_4KiB (0x1000) |
#define SCE_KERNEL_8KiB (0x2000) |
#define SCE_KERNEL_16KiB (0x4000) |
#define SCE_KERNEL_32KiB (0x8000) |
#define SCE_KERNEL_64KiB (0x10000) |
#define SCE_KERNEL_128KiB (0x20000) |
#define SCE_KERNEL_256KiB (0x40000) |
#define SCE_KERNEL_512KiB (0x80000) |
#define SCE_KERNEL_1MiB (0x100000) |
#define SCE_KERNEL_2MiB (0x200000) |
#define SCE_KERNEL_4MiB (0x400000) |
#define SCE_KERNEL_8MiB (0x800000) |
#define SCE_KERNEL_16MiB (0x1000000) |
#define SCE_KERNEL_32MiB (0x2000000) |
#define SCE_KERNEL_64MiB (0x4000000) |
#define SCE_KERNEL_128MiB (0x8000000) |
#define SCE_KERNEL_256MiB (0x10000000) |
#define SCE_KERNEL_512MiB (0x20000000) |
#define SCE_KERNEL_1GiB (0x40000000) |
#define SCE_KERNEL_2GiB (0x80000000) |
#define SCE_KERNEL_4GiB (0x100000000LL) |
#define SCE_KERNEL_8GiB (0x200000000LL) |
#define SCE_KERNEL_16GiB (0x400000000LL) |
#define SCE_KERNEL_32GiB (0x800000000LL) |
typedef int8_t SceChar8 |
typedef uint8_t SceUChar8 |
typedef int8_t SceInt8 |
typedef uint8_t SceUInt8 |
typedef int16_t SceShort16 |
typedef uint16_t SceUShort16 |
typedef int16_t SceInt16 |
typedef uint16_t SceUInt16 |
typedef int32_t SceInt32 |
typedef uint32_t SceUInt32 |
typedef int32_t SceInt |
typedef uint32_t SceUInt |
typedef int64_t SceInt64 |
typedef uint64_t SceUInt64 |
typedef int64_t SceLong64 |
typedef uint64_t SceULong64 |
typedef unsigned int SceSize |
typedef signed int SceSSize |
typedef int SceBool |
typedef float SceFloat |
typedef float SceFloat32 |
typedef double SceDouble |
typedef double SceDouble64 |
typedef signed char SceSByte |
typedef signed char SceSByte8 |
typedef unsigned char SceByte |
typedef unsigned char SceByte8 |
typedef uint16_t SceWChar16 |
typedef uint32_t SceWChar32 |
typedef void SceVoid |
typedef void* ScePVoid |
typedef int SceIntPtr |
typedef unsigned int SceUIntPtr |
typedef SceUIntPtr SceUIntVAddr |
typedef int SceMode |
Mode for I/O functions.
typedef int SceUID |
UIDs are used to describe many different kernel objects.
typedef int ScePID |
Process ID.
typedef unsigned int SceNID |
Library/Function NID.
typedef char* SceName |
Names are used to describe object names.
typedef SceUInt64 SceKernelSysClock |
64-bit system clock type.
typedef SceKernelPAVector SceKernelPaddrList |
typedef int SceKernelSpinlock |
Regular Spinlock.
Spinlocks are a simple mutual exclusion mechanism implemented using atomic primitives (LDREX/STREX). Unlike other kernel synchronisation primitives, spinlocks can be acquired under any context, including an IRQ or exception handler.
Since threads/CPUs trying to acquire a spinlock loop until the lock is free, this synchronisation primitive should only be used when the data to protect may be accessed under a context in which entering WAITING state is not allowed (e.g. IRQ handler).
Spinlocks cannot be acquired recursively. Attempting to recursively acquire a regular spinlock will deadlock.
The regular Spinlock works similarly to a mutex - only one thread or CPU may own the Spinlock at a time.
typedef int SceKernelRWSpinlock |
RW Spinlock.
(Refer to the regular spinlock description for more details about the spinlock synchronisation primitive)
The RWSpinlock works similarly to a RWLock - multiple threads/CPUs can access the protected data at the same time as long as only reads are performed. When acquired for writing, a single thread/CPU at a time is allowed to own the RWSpinlock and is thus free to modify the data. Modifying data protected by a RWSpinlock while holding it for reading is undefined behaviour and will lead to data corruption and system instability.
RW Spinlocks may be acquired by up to ?128? readers at a time. It is also possible to recursively acquire a RWSpinlock for reading. Recursively acquiring a RWSpinlock for writing is not allowed and will deadlock.
typedef int SceKernelIntrStatus |
Interrupt status.
This opaque value is used to hold the interruptability status (whether the CPU can be interrupted) on entry to functions that temporarily suspend interrupts. For readers familiar with the Windows NT kernel, this is similar in spirit to the IRQL value.
The only usage that can be made of this value is to compare it against zero to check whether a function call failed, if applicable. See the description of functions using this datatype for more details.
anonymous enum |
VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
SceIVector2 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
SceFVector2 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceIVector3 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
SceFVector3 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceIVector4 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceFVector4 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceIMatrix2 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceFMatrix2 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x24 | , |
SceIMatrix3 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x24 | , |
SceFMatrix3 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x40 | , |
SceIMatrix4 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x40 | , |
SceFMatrix4 | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceFQuaternion | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceFColor | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceFPlane | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
SceDateTime | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
SceKernelAddrPair | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
SceKernelVARange | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
SceKernelPARange | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
SceKernelPAVector | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x40 | , |
SceSharedSecret | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x90 | , |
SceSelfAuthInfo | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 0x130 | , |
SceAuthInfo | |||
) |
VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
SceKernelSpinlock | |||
) |