2024-05-12 16:16:15 +02:00
|
|
|
package gpio
|
|
|
|
|
|
|
|
|
|
import "core:c"
|
|
|
|
|
|
|
|
|
|
foreign import gpio "system:SceGpioForDriver_stub"
|
|
|
|
|
|
|
|
|
|
SceGpioErrorCode :: enum c.uint {
|
|
|
|
|
INVALID_BUS = 0x803F0100,
|
|
|
|
|
INVALID_PORT = 0x803F0101,
|
|
|
|
|
INVALID_MODE = 0x803F0102,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SceGpioPortMasks :: enum c.int {
|
|
|
|
|
LED_GAMECARD = 1 << 6,
|
|
|
|
|
LED_PS_BUTTON = 1 << 7,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SceGpioPortMode :: enum c.int {
|
|
|
|
|
OUTPUT = 0,
|
|
|
|
|
INPUT = 1,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
foreign gpio {
|
2024-05-13 16:04:23 +02:00
|
|
|
ksceGpioPortRead :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioPortSet :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioPortClear :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioPortReset :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioSetPortMode :: proc(bus: c.int, port: c.int, mode: c.int) -> c.int ---
|
|
|
|
|
ksceGpioGetPortMode :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioSetIntrMode :: proc(bus: c.int, port: c.int, intr_mode: c.int) -> c.int ---
|
|
|
|
|
ksceGpioGetIntrMode :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioAcquireIntr :: proc(bus: c.int, port: c.int) -> c.int ---
|
|
|
|
|
ksceGpioQueryIntr :: proc(bus: c.int, port: c.int) -> c.int ---
|
2024-05-12 16:16:15 +02:00
|
|
|
}
|