1/*	$NetBSD: lockd_lock.h,v 1.2 2000/06/09 14:00:54 fvdl Exp $	*/
2/*	$FreeBSD$ */
3
4/* Headers and function declarations for file-locking utilities */
5
6struct nlm4_holder *	testlock(struct nlm4_lock *lock, bool_t exclusive,
7    int flags);
8enum nlm_stats	getlock(nlm4_lockargs *lckarg, struct svc_req *rqstp,
9    const int flags);
10enum nlm_stats	unlock(nlm4_lock *lock, const int flags);
11int	lock_answer(int pid, netobj *netcookie, int result, int *pid_p,
12    int version);
13
14void notify(const char *hostname, const int state);
15
16/* flags for testlock, getlock & unlock */
17#define LOCK_ASYNC	0x01 /* async version (getlock only) */
18#define LOCK_V4 	0x02 /* v4 version */
19#define LOCK_MON 	0x04 /* monitored lock (getlock only) */
20#define LOCK_CANCEL 0x08 /* cancel, not unlock request (unlock only) */
21
22/* callbacks from lock_proc.c */
23void	transmit_result(int, nlm_res *, struct sockaddr *);
24void	transmit4_result(int, nlm4_res *, struct sockaddr *);
25CLIENT  *get_client(struct sockaddr *, rpcvers_t);
26