Tag: iokit

检测mac os x上的用户活动

我使用函数“IOPMSchedulePowerEvent”来安排Sleep或Wake-Events,并使用“IORegisterForSystemPower”注册我的守护进程以接收电源状态更改。 一切正常! 当系统进入睡眠状态并且稍后在预定时间醒来时,我的守护进程会做一些工作,之后系统应该再次进入睡眠状态。 现在我的问题: 如果系统被用户或预定时间唤醒,我该如何检测? 如果用户当前正在使用该系统,我怎么能检测到守护进程不能将它置于睡眠模式? 谢谢诺比克

IOKit写入USB接口挂起/超时

可能有一些非常简单的东西,我没有做或被忽略但是我没有想法,因为我是IOKit的新手。 我想重新创建一些只有Windows的软件,我带有USB设备。 我在VM上安装了Snoopy,然后点击程序上的一个按钮,关闭LED,然后查看日志,希望了解发生了什么。 看起来每个按钮点击软件,就会发送2个数据包。 一个到接口,一个到端点,前6个字节是相同的。 我不知道为什么会这样。 史努比日志: 我还将设备连接到我的Ubuntu VM并运行sudo lsusb -v以在设备上收集更多信息: Bus 001 Device 009: ID 1234:1234 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1234 idProduct 0x1234 bcdDevice 1.00 iManufacturer 1 (error) iProduct 2 (error) iSerial 3 (error) bNumConfigurations 1 Configuration […]

gdb | 查看变量参数列表

我使用bt命令查看堆栈跟踪。 输出是 (gdb) bt #0 0x001ae4cd in Debugger (message=0x1 “???\a”) at /SourceCache/xnu/xnu-1228.7.58/osfmk/i386/AT386/model_dep.c:705 #1 0x3bf97000 in ?? () #2 0x0012b0fa in panic (str=0x5ef “”) at /SourceCache/xnu/xnu-1228.7.58/osfmk/kern/debug.c:274 #3 0x001a8cd4 in kernel_trap (state=0x51a67c80) at /SourceCache/xnu/xnu-1228.7.58/osfmk/i386/trap.c:680 #4 0x0019ede5 in return_from_trap () at pmap.h:176 #5 0x00132bea in __doprnt (fmt=, argp=0x51a67e6c, putc=0x38ad24 , arg=0x51a67e48, radix=10) at /SourceCache/xnu/xnu-1228.7.58/osfmk/kern/printf.c:439 #6 0x0038ad11 in kvprintf […]

OS X(C)接口的MAC地址

这可能是一个愚蠢的问题,如果它已经在这里得到解决,我道歉,但我搜索了一下,没有太多运气。 我正在尝试用C语言获取接口的硬件地址,而我正在使用OS X(x86-64)。 我知道如何使用ifconfig ,但我希望我的程序能够自动获取任何计算机,至少OS X计算机。 我发现另一个post发布了这个链接 ,它几乎可以做我想要的(有一些修改),但是我不能在ld创建iokit函数链接(我的编译器是gcc )。 我尝试将标志-lIOKit和-framework IOKit到gcc命令行,但我仍然得到相同的链接错误。 这是我的代码的链接: 标题和来源 。