程序代码:
#include <linux/types.h>
#include <linux/hdreg.h>
#include <fcntl.h>
#include <sys/ioctl.h>
int main() {
int fd,err,i;
struct hd_driveid hd; /*这个结构体是关键*/
if( (fd=open("/dev/sda", O_RDONLY ) ) < 0 )
perror("Device Open Error");
if( (err = ioctl(fd,HDIO_GET_IDENTITY,&hd) ) < 0) /*用法很简单*/
perror("ioctl err");
else
printf("Serial No = %s\n",hd.serial_no);
return (0);
}
#include <linux/hdreg.h>
#include <fcntl.h>
#include <sys/ioctl.h>
int main() {
int fd,err,i;
struct hd_driveid hd; /*这个结构体是关键*/
if( (fd=open("/dev/sda", O_RDONLY ) ) < 0 )
perror("Device Open Error");
if( (err = ioctl(fd,HDIO_GET_IDENTITY,&hd) ) < 0) /*用法很简单*/
perror("ioctl err");
else
printf("Serial No = %s\n",hd.serial_no);
return (0);
}
用命令
$ sudo hdparm -i /dev/sda
也可以获得