Skip to content

Commit 952d1d7

Browse files
committed
iokit: enable power management mod
1 parent 47decb1 commit 952d1d7

File tree

5 files changed

+71
-2
lines changed

5 files changed

+71
-2
lines changed

framework-crates/objc2-io-kit/Cargo.toml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

framework-crates/objc2-io-kit/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ pub type IOReturn = core::ffi::c_int; // kern_return_t
3636
#[allow(non_upper_case_globals)]
3737
pub const kIOReturnSuccess: IOReturn = 0;
3838

39+
// IOKit/IOPM.h
40+
/// [Apple's documentation](https://developer.apple.com/documentation/kernel/2876248-anonymous/kiopsfamilycodeunsupported/)
41+
#[allow(non_upper_case_globals)]
42+
pub const kIOPSFamilyCodeUnsupported: core::ffi::c_int = kIOReturnUnsupported as core::ffi::c_int;
43+
3944
// MacTypes.h
4045
#[allow(dead_code)]
4146
pub(crate) type Boolean = u8;

framework-crates/objc2-io-kit/src/macros.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@ macro_rules! iokit_common_msg {
4444
};
4545
}
4646

47+
macro_rules! iokit_family_msg {
48+
($sub:expr, $message:expr) => {
49+
// (sys_iokit | sub| message)
50+
(err_system!(0x38) | ($sub as i32) | $message) as u32
51+
};
52+
}
53+
54+
macro_rules! iokit_family_err {
55+
($sub:expr, $return:expr) => {
56+
// (sys_iokit | sub| return)
57+
(err_system!(0x38) | ($sub as i32) | $return) as i32
58+
};
59+
}
60+
4761
macro_rules! iokit_usb_msg {
4862
($message:expr) => {
4963
// (sys_iokit | sub_iokit_usb | message)
@@ -68,6 +82,8 @@ pub(crate) use err_sub;
6882
pub(crate) use err_system;
6983
pub(crate) use iokit_common_msg;
7084
pub(crate) use iokit_common_msg as iokit_common_err;
85+
pub(crate) use iokit_family_err;
86+
pub(crate) use iokit_family_msg;
7187
pub(crate) use iokit_usb_msg as iokit_usb_err;
7288
pub(crate) use iokit_usb_msg;
7389
pub(crate) use iokit_vendor_specific_msg;

framework-crates/objc2-io-kit/translation-config.toml

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,54 @@ module.iokitmig.skipped = true
1616
module.kext.skipped = true
1717
module.ndrvsupport.skipped = true
1818
module.ps.skipped = true
19-
module.pwr_mgt.skipped = true
2019
module.sbp2.skipped = true
2120
module.scsi.skipped = true
2221
module.storage.skipped = true
2322
module.stream.skipped = true
2423

24+
# IOPM.h
25+
# Cast to (void*)1
26+
const.kIOPMMessageSleepWakeUUIDSet.skipped = true
27+
# Cast to (void*)NULL
28+
const.kIOPMMessageSleepWakeUUIDCleared.skipped = true
29+
30+
# References kIOReturnUnsupported (u32) in enum (i32)
31+
const.kIOPSFamilyCodeUnsupported.skipped = true
32+
33+
# IOKit/IOReturn.h
34+
# Defines
35+
const.sub_iokit_common.skipped = false
36+
const.sub_iokit_usb.skipped = false
37+
const.sub_iokit_firewire.skipped = false
38+
const.sub_iokit_block_storage.skipped = false
39+
const.sub_iokit_graphics.skipped = false
40+
const.sub_iokit_networking.skipped = false
41+
const.sub_iokit_bluetooth.skipped = false
42+
const.sub_iokit_pmu.skipped = false
43+
const.sub_iokit_acpi.skipped = false
44+
const.sub_iokit_smbus.skipped = false
45+
const.sub_iokit_ahci.skipped = false
46+
const.sub_iokit_powermanagement.skipped = false
47+
const.sub_iokit_hidsystem.skipped = false
48+
const.sub_iokit_scsi.skipped = false
49+
const.sub_iokit_usbaudio.skipped = false
50+
const.sub_iokit_wirelesscharging.skipped = false
51+
const.sub_iokit_thunderbol.skipped = false
52+
const.sub_iokit_graphics_acceleration.skipped = false
53+
const.sub_iokit_keystore.skipped = false
54+
const.sub_iokit_apfs.skipped = false
55+
const.sub_iokit_acpiec.skipped = false
56+
const.sub_iokit_timesync_avb.skipped = false
57+
58+
# usb/IOUSB.h
59+
# Constants using CFUUIDGetConstantUUIDWithBytes
60+
const.kIOUSBDeviceInterfaceID.skipped = true
61+
const.kIOUSBInterfaceInterfaceID.skipped = true
62+
63+
# usb/USB.h
64+
# Redefine for kUSBHostMessageRenegotiateCurrent
65+
const.kIOUSBMessageRenegotiateCurrent.skipped = true
66+
2567
# Requires C++
2668
module.video.skipped = true
2769

generated

0 commit comments

Comments
 (0)