if (fcntl (fd, F_GETLK, &fl) < 0)
if (__fcntl (fd, F_GETLK, &fl) < 0)
lockf (int fd, int cmd, off_t len){  struct flock fl;  memset ((char *) &fl, '\0', sizeof (fl));  switch (cmd)    {    case F_TEST:      /* Test the lock: return 0 if FD is unlocked or locked by this process;	 return -1, set errno to EACCES, if another process holds the lock.  */      if (fcntl (fd, F_GETLK, &fl) < 0)	return -1;      if (fl.l_type == F_UNLCK || fl.l_pid == getpid ())	return 0;      __set_errno (EACCES);      return -1;    case F_ULOCK:      fl.l_type = F_UNLCK;      cmd = F_SETLK;      break;    case F_LOCK:      fl.l_type = F_WRLCK;      cmd = F_SETLKW;      break;    case F_TLOCK:      fl.l_type = F_WRLCK;      cmd = F_SETLK;      break;    default:      __set_errno (EINVAL);      return -1;    }  /* lockf is always relative to the current file position.  */  fl.l_whence = SEEK_CUR;  fl.l_start = 0;  fl.l_len = len;  return fcntl (fd, cmd, &fl);}