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