/* Library routines * * Porting to Minix 2.0.0 * Author: Giovanni Falzoni */ #include #include "namespace.h" #include #include #include #include #include #include /* * Name: int flock(int fd, int mode); * Function: Implements the flock function in Minix. */ int flock(int fd, int mode) { struct flock lck; memset((void *) &lck, 0, sizeof(struct flock)); switch (mode & ~LOCK_NB) { case LOCK_SH: lck.l_type = F_RDLCK; break; case LOCK_EX: lck.l_type = F_WRLCK; break; case LOCK_UN: lck.l_type = F_UNLCK; break; default: errno = EINVAL; return -1; } return fcntl(fd, mode & LOCK_NB ? F_SETLK : F_SETLKW, &lck); } /** flock.c **/