![]() |
vitasdk
Documentation of the vitasdk
|
Exports for Kernel. More...
Data Structures | |
| struct | SceKernelIntrOptHandlers |
| struct | SceKernelIntrOptParam |
Macros | |
| #define | ksceKernelMaskIntr(intr_code) ksceKernelDisableIntr(intr_code) |
| #define | ksceKernelSetIntrMasked(intr_code, masked) ksceKernelEnableIntr(intr_code) |
| #define | ksceKernelUnmaskIntr(intr_code) ksceKernelEnableIntr(intr_code) |
| #define | ksceKernelGetIntrMasked ksceKernelSuspendIntr |
Typedefs | |
| typedef int(* | SceKernelIntrHandler) (int unk, void *userCtx) |
| typedef int(* | SceKernelSubIntrHandler) (void *subintr_arg, void *register_arg, unsigned char intr_priority) |
| typedef int(* | SceKernelIntrHookHandler) (int intr_code, void *user_ctx, int intr_priority) |
| Primary interrupt-hook handler installed by ksceKernelRegisterIntrHookHandler. | |
| typedef int(* | SceKernelIntrOptHandlersCb1) (int intr_code, int subintr_code) |
| typedef int(* | SceKernelIntrOptHandlersCb2) (int intr_code, int subintr_code, void *arg) |
| typedef int(* | SceKernelIntrOptHandlersCb3) (int intr_code, int subintr_code, SceKernelSubIntrHandler handler, void *register_arg) |
Functions | |
| VITASDK_BUILD_ASSERT_EQ (0x28, SceKernelIntrOptHandlers) | |
| VITASDK_BUILD_ASSERT_EQ (0x14, SceKernelIntrOptParam) | |
| int | ksceKernelRegisterIntrHandler (int intr_code, const char *name, int interrupt_type, SceKernelIntrHandler handler, void *user_ctx, int priority, int target_cpu, SceKernelIntrOptParam *opt) |
| int | ksceKernelReleaseIntrHandler (int intr_code) |
| int | ksceKernelEnableIntr (int intr_code) |
| int | ksceKernelDisableIntr (int intr_code) |
| int | ksceKernelResumeIntr (int intr_code, int enabled) |
| int | ksceKernelSuspendIntr (int intr_code, int *enabled) |
| int | ksceKernelIsIntrPending (int intr_code) |
| int | ksceKernelClearIntrPending (int intr_code) |
| int | ksceKernelSetIntrPriority (int intr_code, int priority) |
| int | ksceKernelGetIntrPriority (int intr_code, int *priority) |
| int | ksceKernelSetIntrTarget (int intr_code, int cpu_target_list) |
| int | ksceKernelGetIntrTarget (int intr_code, int *cpu_target_list) |
| int | ksceKernelTriggerSGI (int intr_code, unsigned int target_list_filter, unsigned int cpu_target_list) |
| int | ksceKernelIsIntrAllowedInCurrentContext (int intr_code) |
| int | ksceKernelRegisterSubIntrHandler (int intr_code, int subintr_code, const char *name, SceKernelSubIntrHandler handler, void *register_arg) |
| int | ksceKernelReleaseSubIntrHandler (int intr_code, int subintr_code) |
| int | ksceKernelTriggerSubIntr (int intr_code, int subintr_code, void *subintr_arg) |
| int | ksceKernelEnableSubIntr (int intr_code, int subintr_code) |
| int | ksceKernelDisableSubIntr (int intr_code, int subintr_code) |
| int | ksceKernelQueryIntrHandlerInfo (unsigned int intr_code, unsigned int a2, int a3) |
| int | ksceKernelIsSubInterruptOccurred (int intr_code, int subintr_code) |
| Query a subinterrupt controller's occurrence state. | |
| int | ksceKernelRegisterIntrHookHandler (int intr_code, SceKernelIntrHookHandler new_handler, SceKernelIntrHookHandler *old_handler) |
| Replace a registered primary interrupt handler with a hook. | |
| int | ksceKernelReleaseIntrHookHandler (int intr_code) |
| Remove an interrupt hook and restore the internally saved primary handler. | |
| int | ksceKernelResumeSubIntr (int intr_code, int subintr_code, int state) |
| Call a subinterrupt controller's resume operation. | |
| int | ksceKernelSuspendSubIntr (int intr_code, int subintr_code, void *arg) |
| Call a subinterrupt controller's suspend operation. | |
Exports for Kernel.
Include the header file in your project:
Link the library to the executable:
| struct SceKernelIntrOptHandlers |
| Data Fields | ||
|---|---|---|
| uint32_t | size | |
| SceKernelIntrOptHandlersCb3 * | pre_register_subintr_cb | |
| SceKernelIntrOptHandlersCb3 * | post_register_subintr_cb | |
| SceKernelIntrOptHandlersCb1 * | release_subintr_cb | |
| SceKernelIntrOptHandlersCb1 * | fptr0 | |
| SceKernelIntrOptHandlersCb1 * | enable_subintr_cb | |
| SceKernelIntrOptHandlersCb1 * | disable_subintr_cb | |
| SceKernelIntrOptHandlersCb2 * | fptr3 | |
| SceKernelIntrOptHandlersCb1 * | fptr4 | |
| SceKernelIntrOptHandlersCb1 * | fptr5 | |
| struct SceKernelIntrOptParam |
| Data Fields | ||
|---|---|---|
| uint32_t | size | |
| uint32_t | num | |
| SceKernelIntrOptHandlers * | handlers | |
| uint32_t | unk_C | |
| uint32_t | unk_10 | |
| #define ksceKernelMaskIntr | ( | intr_code | ) | ksceKernelDisableIntr(intr_code) |
| #define ksceKernelSetIntrMasked | ( | intr_code, | |
| masked | |||
| ) | ksceKernelEnableIntr(intr_code) |
| #define ksceKernelUnmaskIntr | ( | intr_code | ) | ksceKernelEnableIntr(intr_code) |
| #define ksceKernelGetIntrMasked ksceKernelSuspendIntr |
| typedef int(* SceKernelIntrHandler) (int unk, void *userCtx) |
| typedef int(* SceKernelSubIntrHandler) (void *subintr_arg, void *register_arg, unsigned char intr_priority) |
| typedef int(* SceKernelIntrHookHandler) (int intr_code, void *user_ctx, int intr_priority) |
Primary interrupt-hook handler installed by ksceKernelRegisterIntrHookHandler.
| [in] | intr_code | - Registered interrupt code. |
| [in] | user_ctx | - Context supplied to ksceKernelRegisterIntrHandler. |
| [in] | intr_priority | - Registered interrupt priority. |
| typedef int(* SceKernelIntrOptHandlersCb1) (int intr_code, int subintr_code) |
| typedef int(* SceKernelIntrOptHandlersCb2) (int intr_code, int subintr_code, void *arg) |
| typedef int(* SceKernelIntrOptHandlersCb3) (int intr_code, int subintr_code, SceKernelSubIntrHandler handler, void *register_arg) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x28 | , |
| SceKernelIntrOptHandlers | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
| SceKernelIntrOptParam | |||
| ) |
| int ksceKernelRegisterIntrHandler | ( | int | intr_code, |
| const char * | name, | ||
| int | interrupt_type, | ||
| SceKernelIntrHandler | handler, | ||
| void * | user_ctx, | ||
| int | priority, | ||
| int | target_cpu, | ||
| SceKernelIntrOptParam * | opt | ||
| ) |
| int ksceKernelReleaseIntrHandler | ( | int | intr_code | ) |
| int ksceKernelEnableIntr | ( | int | intr_code | ) |
| int ksceKernelDisableIntr | ( | int | intr_code | ) |
| int ksceKernelResumeIntr | ( | int | intr_code, |
| int | enabled | ||
| ) |
| int ksceKernelSuspendIntr | ( | int | intr_code, |
| int * | enabled | ||
| ) |
| int ksceKernelIsIntrPending | ( | int | intr_code | ) |
| int ksceKernelClearIntrPending | ( | int | intr_code | ) |
| int ksceKernelSetIntrPriority | ( | int | intr_code, |
| int | priority | ||
| ) |
| int ksceKernelGetIntrPriority | ( | int | intr_code, |
| int * | priority | ||
| ) |
| int ksceKernelSetIntrTarget | ( | int | intr_code, |
| int | cpu_target_list | ||
| ) |
| int ksceKernelGetIntrTarget | ( | int | intr_code, |
| int * | cpu_target_list | ||
| ) |
| int ksceKernelTriggerSGI | ( | int | intr_code, |
| unsigned int | target_list_filter, | ||
| unsigned int | cpu_target_list | ||
| ) |
| int ksceKernelIsIntrAllowedInCurrentContext | ( | int | intr_code | ) |
| int ksceKernelRegisterSubIntrHandler | ( | int | intr_code, |
| int | subintr_code, | ||
| const char * | name, | ||
| SceKernelSubIntrHandler | handler, | ||
| void * | register_arg | ||
| ) |
| int ksceKernelReleaseSubIntrHandler | ( | int | intr_code, |
| int | subintr_code | ||
| ) |
| int ksceKernelTriggerSubIntr | ( | int | intr_code, |
| int | subintr_code, | ||
| void * | subintr_arg | ||
| ) |
| int ksceKernelEnableSubIntr | ( | int | intr_code, |
| int | subintr_code | ||
| ) |
| int ksceKernelDisableSubIntr | ( | int | intr_code, |
| int | subintr_code | ||
| ) |
| int ksceKernelQueryIntrHandlerInfo | ( | unsigned int | intr_code, |
| unsigned int | a2, | ||
| int | a3 | ||
| ) |
| int ksceKernelIsSubInterruptOccurred | ( | int | intr_code, |
| int | subintr_code | ||
| ) |
Query a subinterrupt controller's occurrence state.
The controller-specific callback registered for intr_code supplies the result. IntrMgr calls it while holding the parent interrupt's spinlock.
| [in] | intr_code | - Parent interrupt code, from 0 through 255. |
| [in] | subintr_code | - Subinterrupt index registered for the parent. |
| int ksceKernelRegisterIntrHookHandler | ( | int | intr_code, |
| SceKernelIntrHookHandler | new_handler, | ||
| SceKernelIntrHookHandler * | old_handler | ||
| ) |
Replace a registered primary interrupt handler with a hook.
Only one hook can be installed for each interrupt. On success, IntrMgr saves the current handler internally, writes it to old_handler, and atomically installs new_handler. The hook receives the interrupt code, the context supplied when the primary handler was registered, and the registered interrupt priority.
| [in] | intr_code | - Interrupt code, from 0 through 255. |
| [in] | new_handler | - Required replacement handler. |
| [out] | old_handler | - Required output that receives the replaced handler. |
| int ksceKernelReleaseIntrHookHandler | ( | int | intr_code | ) |
Remove an interrupt hook and restore the internally saved primary handler.
| [in] | intr_code | - Interrupt code, from 0 through 255. |
| int ksceKernelResumeSubIntr | ( | int | intr_code, |
| int | subintr_code, | ||
| int | state | ||
| ) |
Call a subinterrupt controller's resume operation.
The controller-specific callback defines what state means and which results it returns for success or error.
| [in] | intr_code | - Parent interrupt code, from 0 through 255. |
| [in] | subintr_code | - Subinterrupt index registered for the parent. |
| [in] | state | - Controller-specific resume state. |
| int ksceKernelSuspendSubIntr | ( | int | intr_code, |
| int | subintr_code, | ||
| void * | arg | ||
| ) |
Call a subinterrupt controller's suspend operation.
The controller-specific callback defines how arg is used and which results it returns for success or error. arg must be non-NULL. For example, SceSdif's implementation ignores arg and performs the same action as disabling that subinterrupt.
| [in] | intr_code | - Parent interrupt code, from 0 through 255. |
| [in] | subintr_code | - Subinterrupt index registered for the parent. |
| [in,out] | arg | - Required controller-specific argument. |
| uint32_t SceKernelIntrOptHandlers::size |
| SceKernelIntrOptHandlersCb3* SceKernelIntrOptHandlers::pre_register_subintr_cb |
| SceKernelIntrOptHandlersCb3* SceKernelIntrOptHandlers::post_register_subintr_cb |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::release_subintr_cb |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::fptr0 |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::enable_subintr_cb |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::disable_subintr_cb |
| SceKernelIntrOptHandlersCb2* SceKernelIntrOptHandlers::fptr3 |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::fptr4 |
| SceKernelIntrOptHandlersCb1* SceKernelIntrOptHandlers::fptr5 |
| uint32_t SceKernelIntrOptParam::size |
| uint32_t SceKernelIntrOptParam::num |
| SceKernelIntrOptHandlers* SceKernelIntrOptParam::handlers |
| uint32_t SceKernelIntrOptParam::unk_C |
| uint32_t SceKernelIntrOptParam::unk_10 |