هل هناك طريقة للحصول على رقم BSD من جهاز في نظام التشغيل Mac OS X؟

StackOverflow https://stackoverflow.com/questions/1640584

  •  08-07-2019
  •  | 
  •  

سؤال

وبرنامجي يقرأ مسارات الجهاز مثل /dev/rdisk0 من المدخلات ومن ثم يبدو في IOKit للقرص مع disk0 اسم BSD. لهذا لا بد لي من إزالة /dev/r من المسار.

والترميز الصلب هذا الطريق يمكن كسر في الإصدارات المستقبلية من نظام التشغيل Mac OS X. لذلك أنا على الرغم من وسيلة أخرى: I يمكن أن تتطابق مع IOService باستخدام BSD الرئيسية وإصدار ثانوي للجهاز

.

وهنا سؤالي: هل من الممكن استخراج القاصر BSD وأرقام كبيرة من مسار

هل كانت مفيدة؟

المحلول

نعم. استخدام syscall stat. عضو struct stat كنت تبحث عن st_dev، والتي أعتقد هو أو من الرئيسية والثانوية بعد تحول بعض الشيء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top