هل هناك طريقة للحصول على رقم BSD من جهاز في نظام التشغيل Mac OS X؟
سؤال
وبرنامجي يقرأ مسارات الجهاز مثل /dev/rdisk0
من المدخلات ومن ثم يبدو في IOKit
للقرص مع disk0
اسم BSD. لهذا لا بد لي من إزالة /dev/r
من المسار.
والترميز الصلب هذا الطريق يمكن كسر في الإصدارات المستقبلية من نظام التشغيل Mac OS X. لذلك أنا على الرغم من وسيلة أخرى: I يمكن أن تتطابق مع IOService
باستخدام BSD الرئيسية وإصدار ثانوي للجهاز
وهنا سؤالي: هل من الممكن استخراج القاصر BSD وأرقام كبيرة من مسار
المحلول
نعم. استخدام syscall stat
. عضو struct stat
كنت تبحث عن st_dev
، والتي أعتقد هو أو من الرئيسية والثانوية بعد تحول بعض الشيء.
لا تنتمي إلى StackOverflow