#include /* for fprintf */ #include /* for exit */ #include /* for open */ #include /* for open */ #include /* for open */ #include "fileLock.h" int main(int argc, char** argv){ int fd; char* file; if(argc != 2){ fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } file = argv[1]; fd = open(file, O_RDWR, S_IRWXU); if(fd < 0){ perror("File opening failed."); exit(EXIT_FAILURE); } else { int lval; fileLock_p lock = makeLock(); if(lock == NULL){ perror("Lock creation failed."); exit(EXIT_FAILURE); } fprintf(stderr, "Attempting to lock %s\n", file); lval = getLock(lock, fd); if(lval == -1){ perror("Locking failed"); exit(EXIT_FAILURE); } fprintf(stderr, "Successfully locked %s (hit any key to continue)\n", file); getchar(); unLock(lock, fd); freeLock(lock); exit(EXIT_SUCCESS); } }