174462Salfred/* $NetBSD: lockd_lock.h,v 1.2 2000/06/09 14:00:54 fvdl Exp $ */ 274462Salfred/* $FreeBSD$ */ 374462Salfred 474462Salfred/* Headers and function declarations for file-locking utilities */ 574462Salfred 686319Salfredstruct nlm4_holder * testlock(struct nlm4_lock *lock, bool_t exclusive, 786319Salfred int flags); 886319Salfredenum nlm_stats getlock(nlm4_lockargs *lckarg, struct svc_req *rqstp, 986319Salfred const int flags); 1086319Salfredenum nlm_stats unlock(nlm4_lock *lock, const int flags); 1186319Salfredint lock_answer(int pid, netobj *netcookie, int result, int *pid_p, 1286319Salfred int version); 1374462Salfred 1486319Salfredvoid notify(const char *hostname, const int state); 1574462Salfred 1674462Salfred/* flags for testlock, getlock & unlock */ 1774462Salfred#define LOCK_ASYNC 0x01 /* async version (getlock only) */ 1874462Salfred#define LOCK_V4 0x02 /* v4 version */ 1974462Salfred#define LOCK_MON 0x04 /* monitored lock (getlock only) */ 2074462Salfred#define LOCK_CANCEL 0x08 /* cancel, not unlock request (unlock only) */ 2174462Salfred 2274462Salfred/* callbacks from lock_proc.c */ 2392909Salfredvoid transmit_result(int, nlm_res *, struct sockaddr *); 2492909Salfredvoid transmit4_result(int, nlm4_res *, struct sockaddr *); 2592909SalfredCLIENT *get_client(struct sockaddr *, rpcvers_t); 26