#define _GNU_SOURCE #include #include #include #include #include "caller.h" int main(int argc, char **argv) { argVenDev arg2; int fd = -1; if (argc != 2 && argc != 3) { puts("Usage: ./caller [Function-number] or ./caller [Vendor] [Device]\n"); return 1; } fd = open(DEVPATH, O_RDWR); if (fd < 0) { printf("Open device error: %m\n"); return 1; } if(argc == 2) { int arg = atoi(argv[1]); int ret = ioctl(fd, IOCTL_GET_PSI_VENDEV, &arg); } else if(argc == 3) { arg2.vendor = atoi(argv[1]); arg2.device = atoi(argv[2]); int ret = ioctl(fd, IOCTL_GET_PSI_DEVFN, &arg2); } close(fd); return 0; }