Erreur BITS_PER_LONG à lever
Bonsoir les noctambules, j'ai une erreur que je n'arrive pas à lever. Mon code ouvre un fichier sur une clé USB, et permet un tranfert de données dans celui-ci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#include <stdio.h>
#include <stdlib.h>
#include <linux/usbdevice_fs.h>
#include <fcntl.h>
#include <linux/usb.h>
#include <sys/ioctl.h>
int main(void){
int fd;
fd = open("/proc/bus/usb/004/004/test.txt", O_RDWR);
if(fd != -1) {
int ret;
struct usbdevfs_bulktransfer bulk;
bulk.ep = USB_DIR_IN | 1;
bulk.len = 1024;
bulk.timeout = 1000;
bulk.data = malloc(1024);
ret = ioctl(fd, USBDEVFS_BULK, &bulk);
if (ret < 0){
printf("Error in bulk transfer");}
else {
/* les données sont disponibles dans bulk.data */
}
close(fd);
}
} |
Le problème, c'est qu'au moment de la compilation, apparait cette erreur:
Code:
1 2 3 4
|
In file included from /usr/include/linux/usb.h:4,
from ./pip.c:5:
/usr/include/linux/mod_devicetable.h:289: error: BITS_PER_LONG undeclared here (not in a function) |
Quelqu'un peut il m'aiguiller sur la raison de cette erreur?