domingo, 8 de maio de 2011

Retornando o Número de Série em C - Linux

Leiam o post anterior.

#include stdio.h
#include fcntl.h
#include string.h
#include linux/hdreg.h


char* retornaID(char *drive){
  struct hd_driveid hd;
  int ide;
  ide=open(drive,O_RDONLY);
  ioctl (ide,HDIO_GET_IDENTITY,&hd);
  char *did = (char *) malloc(strlen(hd.serial_no) + 1);
  strncpy(did,hd.serial_no, sizeof(hd.serial_no));
  return did;
}


int main()
{
  char *drive = "/dev/hda";
  printf("ID: %s\n", retornaID(drive));
}

forte abraço,

0 comentários:

Postar um comentário