Files
2024-05-11 23:24:13 +02:00

44 lines
2.3 KiB
Odin

package pamgr
import "core:c"
import sce "../common"
foreign import pamgr "system:ScePamgr_stub"
// missing structs
SceKernelPaTraceBufferParam :: struct{}
SceKernelPaGpuSampledData :: struct{}
SceKernelPaGpuTraceParam :: struct{}
SceKernelPaCounterTraceParam :: struct{}
SceKernelPaArmTraceParam :: struct{}
foreign pamgr {
sceKernelPaGetTraceBufferSize :: proc(type: sce.UInt32) -> sce.Size ---
sceKernelPaGetIoBaseAddress :: proc() -> sce.UInt32 ---
sceKernelPaGetTimebaseFrequency :: proc() -> sce.UInt32 ---
sceKernelPaGetTraceBufferStatus :: proc() -> sce.UInt32 ---
sceKernelPaGetWritePointer :: proc() -> sce.UInt32 ---
sceKernelPaGetTimebaseValue :: proc() -> sce.UInt64 ---
_sceKernelPaAddArmTraceByKey :: proc(key: c.int, #by_ptr param: SceKernelPaArmTraceParam) -> c.int ---
_sceKernelPaAddCounterTraceByKey :: proc(key: c.int, #by_ptr param: SceKernelPaCounterTraceParam) -> c.int ---
_sceKernelPaAddGpuTraceByKey :: proc(key: c.int, #by_ptr param: SceKernelPaGpuTraceParam) -> c.int ---
_sceKernelPaGetGpuSampledData :: proc(data: ^SceKernelPaGpuSampledData) -> c.int ---
_sceKernelPaSetupTraceBufferByKey :: proc(key: c.int, #by_ptr param: SceKernelPaTraceBufferParam) -> c.int ---
sceKernelPaInsertBookmark :: proc(fifo: sce.UInt32, channel: sce.UInt32, data: sce.UInt32) -> c.int ---
sceKernelPaRegister :: proc() -> c.int ---
sceKernelPaRemoveArmTraceByKey :: proc(key: c.int) -> c.int ---
sceKernelPaRemoveCounterTraceByKey :: proc(key: c.int) -> c.int ---
sceKernelPaRemoveGpuTraceByKey :: proc(key: c.int) -> c.int ---
sceKernelPaSetBookmarkChannelEnableByKey :: proc(key: c.int, fifo: sce.UInt32, mask: sce.UInt32) -> c.int ---
sceKernelPaStartByKey :: proc(key: c.int) -> c.int ---
sceKernelPaStopByKey :: proc(key: c.int) -> c.int ---
sceKernelPaUnregister :: proc(key: c.int) -> c.int ---
sceKernelPerfArmPmonClose :: proc() -> c.int ---
sceKernelPerfArmPmonOpen :: proc() -> c.int ---
sceKernelPerfArmPmonReset :: proc(threadId: sce.UID) -> c.int ---
sceKernelPerfArmPmonSelectEvent :: proc(threadId: sce.UID, counter: sce.UInt32, eventCode: sce.UInt8) -> c.int ---
sceKernelPerfArmPmonSetCounterValue :: proc(threadId: sce.UID, counter: sce.UInt32, value: sce.UInt32) -> c.int ---
sceKernelPerfArmPmonStart :: proc(threadId: sce.UID) -> c.int ---
sceKernelPerfArmPmonStop :: proc(threadId: sce.UID) -> c.int ---
}