18360efbdSAlfred Perlstein /* $NetBSD: lockd_lock.h,v 1.2 2000/06/09 14:00:54 fvdl Exp $ */ 28360efbdSAlfred Perlstein 38360efbdSAlfred Perlstein /* Headers and function declarations for file-locking utilities */ 48360efbdSAlfred Perlstein 52663693cSAlfred Perlstein struct nlm4_holder * testlock(struct nlm4_lock *lock, bool_t exclusive, 62663693cSAlfred Perlstein int flags); 72663693cSAlfred Perlstein enum nlm_stats getlock(nlm4_lockargs *lckarg, struct svc_req *rqstp, 82663693cSAlfred Perlstein const int flags); 92663693cSAlfred Perlstein enum nlm_stats unlock(nlm4_lock *lock, const int flags); 102663693cSAlfred Perlstein int lock_answer(int pid, netobj *netcookie, int result, int *pid_p, 112663693cSAlfred Perlstein int version); 128360efbdSAlfred Perlstein 132663693cSAlfred Perlstein void notify(const char *hostname, const int state); 148360efbdSAlfred Perlstein 158360efbdSAlfred Perlstein /* flags for testlock, getlock & unlock */ 168360efbdSAlfred Perlstein #define LOCK_ASYNC 0x01 /* async version (getlock only) */ 178360efbdSAlfred Perlstein #define LOCK_V4 0x02 /* v4 version */ 188360efbdSAlfred Perlstein #define LOCK_MON 0x04 /* monitored lock (getlock only) */ 198360efbdSAlfred Perlstein #define LOCK_CANCEL 0x08 /* cancel, not unlock request (unlock only) */ 208360efbdSAlfred Perlstein 218360efbdSAlfred Perlstein /* callbacks from lock_proc.c */ 2233314abeSAlfred Perlstein void transmit_result(int, nlm_res *, struct sockaddr *); 2333314abeSAlfred Perlstein void transmit4_result(int, nlm4_res *, struct sockaddr *); 2433314abeSAlfred Perlstein CLIENT *get_client(struct sockaddr *, rpcvers_t); 25