#include /* for NULL */ #include /* for fprintf */ #include /* for memset */ #include "fileLock.h" /* includes */ fileLock_p makeLock(void){ fileLock_p retval = (fileLock_p)calloc(1, sizeof(fileLock_t)); if(retval == NULL){ perror("makeLock: calloc failed!"); } return retval; } int getLock(fileLock_p lock, int fd){ memset(lock, 0, sizeof(fileLock_t)); lock->l_type = F_WRLCK; return fcntl(fd, F_SETLKW, lock); } int unLock(fileLock_p lock, int fd){ lock->l_type = F_UNLCK; return fcntl(fd, F_SETLKW, lock); } void freeLock(fileLock_p lock){ free(lock); }