ما هو ما يعادل getfsstat () على لينكس؟
-
20-09-2019 - |
سؤال
والسؤال يقول كل شيء. أريد C استدعاء دالة الذي يعود للقائمة التي شنت نظام الملفات جنبا إلى جنب مع المعلومات ذات الصلة مثل نوع نظام الملفات.
المحلول
أنت تبحث عن getmntent
وظائف *mntent
أخرى الأسرة. انظر manpage لمزيد من المرجعية.
ورمز المثال مأخوذ من هنا وقليلا تعديلها. /etc/mtab
هو الملف الذي يحتوي على قائمة من أنظمة الملفات المحملة.
mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
if (strcmp(ent->mnt_type, "iso9660") == 0)
/* copy mount point to output */
strcpy(retval[cd_count - 1], ent->mnt_dir);
} /* if */
} /* while */
endmntent(mounts);
ولسوء الحظ، هذه الوظائف ليست في POSIX. لكنهم manpaged وتنفيذها في سي العمومية، لذلك أعتقد أنهم بديل أفضل من تحليل /proc
.
نصائح أخرى
ويمكنك تحليل /proc/filesystems
.
لا تنتمي إلى StackOverflow