KDK_GET_HARD_DISK(3) Library Functions Manual KDK_GET_HARD_DISK(3) NAME kdk_get_hard_disk - SYNOPSIS #include extern char** kdk_get_hard_disk(); Link with -lkydiskinfo. Detailed Description The kdk_get_hard_disk() function obtains the system access hard disk list information during the call process. RETURN VALUE The return value is a char** type, with each string representing the absolute path of a disk and ending with a NULL character. After completion, kdk_free_disklist() function releases a list of disk information. EXAMPLES #include "libkydiskinfo.h" #include #include static void display_disk_info(kdk_diskinfo *di) { printf("---------------%s------------------0, di->name); printf("Disk Sectors:%llu0, di->sectors_num); printf("Disk Sector Size:%u0, di->sector_size); printf("Disk Size:%f MiB0, di->total_size_MiB); printf("Disk Model:%s0, di->model ? di->model : "None"); printf("Disk Serial:%s0, di->serial ? di->serial : "None"); printf("Disk Partition Number:%u0, di->partition_nums); printf("Disk Type:%d0, di->disk_type); printf("Disk fwrev:%s0, di->fwrev); } static void display_disk_list(char **disklist) { int count = 0; while (disklist[count]) { printf("No. %d %s0, count + 1, disklist[count]); count ++; } } int main() { char **disklist = kdk_get_disklist(); // display_disk_list(disklist); for (int i = 0; disklist[i]; i++) { kdk_diskinfo *sdainfo = kdk_get_diskinfo(disklist[i]); if (!sdainfo) { printf("[%s]Get disk info error.0, disklist[i]); continue; } display_disk_info(sdainfo); kdk_free_diskinfo(sdainfo); } kdk_free_disklist(disklist); char **di = kdk_get_hard_disk(); size_t num = 0; while (di[num]) { printf("No. %ld %s0, num + 1, di[num]); char *res = kdk_get_hard_disk_size(di[num]); printf(" = %s0, res); free(res); res = kdk_get_hard_fwrev(di[num]); printf(" = %s0, res); free(res); res = kdk_get_hard_vendor(di[num]); printf(" = %s0, res); free(res); res = kdk_get_hard_type(di[num]); printf(" = %s0, res); free(res); res = kdk_get_hard_model(di[num]); printf(" = %s0, res); free(res); res =kdk_get_hard_serial(di[num]); printf(" = %s0, res); free(res); num ++; } kdk_free_disklist(di); return 0; } CONFORMING TO These functions are as per the withdrawn POSIX.1e draft specification. The following functions are Linux extensions: kdk_free_disklist(), kdk_get_hard_fwrev(), kdk_get_hard_type(), kdk_get_hard_model(), kdk_get_hard_serial(), kdk_get_hard_disk_size(), kdk_get_hard_vendor(), and kdk_get_hard_disk_size(). SEE ALSO kdk_free_disklist(3), kdk_get_hard_fwrev(3), kdk_get_hard_type(3), kdk_get_hard_model(3), kdk_get_hard_serial(3), kdk_get_hard_vendor(3), kdk_get_hard_disk_size(3). Linux Programmer's Manual Thu Aug 10 2023 KDK_GET_HARD_DISK(3)