xref: /freebsd/usr.sbin/rpc.lockd/lockd_lock.h (revision 2a63c3be158216222d89a073dcbd6a72ee4aab5a)
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