xref: /freebsd/usr.sbin/rpc.lockd/lockd_lock.h (revision ccb59683b98360afaf5b5bb641a68fea22c68d0b)
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 
6 struct nlm4_holder *	testlock(struct nlm4_lock *lock, bool_t exclusive,
7     int flags);
8 enum nlm_stats	getlock(nlm4_lockargs *lckarg, struct svc_req *rqstp,
9     const int flags);
10 enum nlm_stats	unlock(nlm4_lock *lock, const int flags);
11 int	lock_answer(int pid, netobj *netcookie, int result, int *pid_p,
12     int version);
13 
14 void 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 */
23 void	transmit_result(int, nlm_res *, struct sockaddr *);
24 void	transmit4_result(int, nlm4_res *, struct sockaddr *);
25 CLIENT  *get_client(struct sockaddr *, rpcvers_t);
26