mirror of
https://github.com/IllusionMan1212/vitasdk-odin.git
synced 2026-10-24 02:12:38 +00:00
240 lines
5.0 KiB
Odin
240 lines
5.0 KiB
Odin
package power
|
|||
|
|
|
||
|
|
import "core:c"
|
||
|
|
import sce "../common"
|
||
|
|
|
||
|
|
foreign import power "system:ScePower_stub"
|
||
|
|
|
||
|
|
@(link_prefix = "scePower")
|
||
|
|
foreign power {
|
||
|
|
/**
|
||
|
|
* Registers a ScePower Callback
|
||
|
|
*
|
||
|
|
* @param cbid - The UID of the specified callback
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
RegisterCallback :: proc(cbid: sce.UID) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Unregister a callback
|
||
|
|
*
|
||
|
|
* @param cbid - The UID of the specified callback
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
UnregisterCallback :: proc(cbid: sce.UID) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery charging status
|
||
|
|
*
|
||
|
|
* @return SCE_TRUE if under charge, SCE_FALSE otherwise
|
||
|
|
*/
|
||
|
|
IsBatteryCharging :: proc() -> sce.Bool ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery life percentage
|
||
|
|
*
|
||
|
|
* @return Battery life percentage
|
||
|
|
*/
|
||
|
|
GetBatteryLifePercent :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Set power configuration mode between:
|
||
|
|
*
|
||
|
|
* Mode A - This is the normal mode at process start-up. The clock frequency of the GPU core is the "normal" clock frequency. The WLAN/COM can be used.
|
||
|
|
* Mode B - This mode accelerates the GPU clock frequency. The clock frequency of the GPU core is the "high" clock frequency. The WLAN/COM cannot be used.
|
||
|
|
* Mode C - This mode accelerates the GPU clock frequency, and also uses the WLAN/COM. The clock frequency of the GPU core is the "high" clock frequency, and use of the WLAN/COM is possible. The screen (touchscreen) brightness, however, is limited. Also, camera cannot be used.
|
||
|
|
*
|
||
|
|
* @param conf One of ::ScePowerConfigurationMode
|
||
|
|
*
|
||
|
|
* @return 0 on success
|
||
|
|
*/
|
||
|
|
SetConfigurationMode :: proc(conf: c.int) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Check if a suspend is required
|
||
|
|
*
|
||
|
|
* @return SCE_TRUE if suspend is required, SCE_FALSE otherwise
|
||
|
|
*/
|
||
|
|
IsSuspendRequired :: proc() -> sce.Bool ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Check if AC is plugged in
|
||
|
|
*
|
||
|
|
* @return SCE_TRUE if plugged in, SCE_FALSE otherwise
|
||
|
|
*/
|
||
|
|
IsPowerOnline :: proc() -> sce.Bool ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery life time
|
||
|
|
*
|
||
|
|
* @return Battery life time in minutes
|
||
|
|
*/
|
||
|
|
GetBatteryLifeTime :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery remaining capacity
|
||
|
|
*
|
||
|
|
* @return battery remaining capacity in mAh (milliampere hour)
|
||
|
|
*/
|
||
|
|
GetBatteryRemainCapacity :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery state
|
||
|
|
*
|
||
|
|
* @return SCE_TRUE if battery is low, SCE_FALSE otherwise
|
||
|
|
*/
|
||
|
|
IsLowBattery :: proc() -> sce.Bool ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery full capacity
|
||
|
|
*
|
||
|
|
* @return battery full capacity in mAh (milliampere hour)
|
||
|
|
*/
|
||
|
|
GetBatteryFullCapacity :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery temperature
|
||
|
|
*
|
||
|
|
* @return temperature in degrees celcius * 100
|
||
|
|
*/
|
||
|
|
GetBatteryTemp :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery voltage
|
||
|
|
*
|
||
|
|
* @return battery voltage in mV (millivolts)
|
||
|
|
*/
|
||
|
|
GetBatteryVolt :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery state of health
|
||
|
|
*
|
||
|
|
* @return battery state of health percent
|
||
|
|
*/
|
||
|
|
GetBatterySOH :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns battery cycle count
|
||
|
|
*
|
||
|
|
* @return battery cycle count
|
||
|
|
*/
|
||
|
|
GetBatteryCycleCount :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns CPU clock frequency
|
||
|
|
*
|
||
|
|
* @return CPU clock frequency in Mhz
|
||
|
|
*/
|
||
|
|
GetArmClockFrequency :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns BUS clock frequency
|
||
|
|
*
|
||
|
|
* @return BUS clock frequency in Mhz
|
||
|
|
*/
|
||
|
|
GetBusClockFrequency :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns GPU clock frequency
|
||
|
|
*
|
||
|
|
* @return GPU clock frequency in Mhz
|
||
|
|
*/
|
||
|
|
GetGpuClockFrequency :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns GPU crossbar clock frequency
|
||
|
|
*
|
||
|
|
* @return GPU crossbar clock frequency in Mhz
|
||
|
|
*/
|
||
|
|
GetGpuXbarClockFrequency :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Requests PS Vita to do a cold reset
|
||
|
|
*
|
||
|
|
* @return always 0
|
||
|
|
*/
|
||
|
|
RequestColdReset :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Requests PS Vita to go into standby
|
||
|
|
*
|
||
|
|
* @return always 0
|
||
|
|
*/
|
||
|
|
RequestStandby :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Requests PS Vita to suspend
|
||
|
|
*
|
||
|
|
* @return always 0
|
||
|
|
*/
|
||
|
|
RequestSuspend :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Request display on
|
||
|
|
*
|
||
|
|
* @return always 0
|
||
|
|
*/
|
||
|
|
RequestDisplayOn :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Request display off
|
||
|
|
*
|
||
|
|
* @return always 0
|
||
|
|
*/
|
||
|
|
RequestDisplayOff :: proc() -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets CPU clock frequency
|
||
|
|
*
|
||
|
|
* @param freq - Frequency to set in Mhz
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
SetArmClockFrequency :: proc(freq: c.int) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets BUS clock frequency
|
||
|
|
*
|
||
|
|
* @param freq - Frequency to set in Mhz
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
SetBusClockFrequency :: proc(freq: c.int) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets GPU clock frequency
|
||
|
|
*
|
||
|
|
* @param freq - Frequency to set in Mhz
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
SetGpuClockFrequency :: proc(freq: c.int) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets GPU crossbar clock frequency
|
||
|
|
*
|
||
|
|
* @param freq - Frequency to set in Mhz
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
SetGpuXbarClockFrequency :: proc(freq: c.int) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Sets wireless features usage
|
||
|
|
*
|
||
|
|
* @param enabled - SCE_TRUE to enable, SCE_FALSE to disable
|
||
|
|
*
|
||
|
|
* @return 0 on success, < 0 on error
|
||
|
|
*/
|
||
|
|
SetUsingWireless :: proc(enabled: sce.Bool) -> c.int ---
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Gets wireless features usage
|
||
|
|
*
|
||
|
|
* @return SCE_TRUE if enabled, SCE_FALSE otherwise
|
||
|
|
*/
|
||
|
|
GetUsingWireless :: proc() -> c.int ---
|
||
|
|
}
|