簡體   English   中英

IOKit標頭assert.h去了嗎?

[英]IOKit header assert.h gone?

我想獲取我的Mac以太網卡的硬件地址。 我在IOKit / assert.h中的include中看到的所有示例中。 在我的系統上似乎不存在。 GCC拋出錯誤,說他不知道IOEthernetAddress類型。 我的任務需要assert.h嗎? 如果有人願意給我一個工作樣本,那就太好了。 [編輯]這是我的代碼,認為這將有助於理解問題:

#include <IOKit/assert.h>
#include <IOKit/network/IOEthernetController.h>
#include <IOKit/network/IOEthernetInterface.h>

int main(){
    IOEthernetAddress addr;
    getHardwareAddress(&addr);
    printf("%x", addr);
    return 0;
}

您必須嘗試從用戶空間執行此操作; 如果您正在編寫內核,則不會使用main()。 但是,這些是內核包含文件。 從用戶空間執行此操作的一種方法是查看I / O注冊表,並找到您感興趣的硬件的IOMACAddress。 首先,請看一下I / O Registry Explorer。

另一種方法是將ioctl與SIOCSIFLLADDR一起使用,以獲取鏈接級地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM