#include #include #include #include #include int main(int argc, char *argv[]) { pid_t ret; // test the lock_dev call uid_t uid, euid; char *dev; uid = getuid(); euid = geteuid(); if (argc > 1) { dev = argv[1]; } else { printf("Usage: %s \n", argv[0]); return 1; } printf("Pid: %u, Real uid: %u; effective uid: %u.\n", getpid(), uid, euid); printf("Trying to lock device: %s\n", dev); ret = dev_lock(dev); if (ret < 0) { perror("dev_lock"); return ret; } else { printf("success\n"); } printf("Unlocking device...\n"); ret = dev_unlock(dev, getpid()); if (0 > ret) { perror("dev_unlock"); return ret; } else { printf("success\n"); } return ret; }