]>
git.saurik.com Git - apple/network_cmds.git/blob - rpc_lockd.tproj/lockd_lock.h
fc54f32ca7701d08590154c7cdca54aa420beffc
1 /* $NetBSD: lockd_lock.h,v 1.2 2000/06/09 14:00:54 fvdl Exp $ */
2 /* $FreeBSD: src/usr.sbin/rpc.lockd/lockd_lock.h,v 1.4 2002/03/21 22:52:45 alfred Exp $ */
4 /* Headers and function declarations for file-locking utilities */
6 struct nlm4_holder
* testlock(struct nlm4_lock
*lock
, bool_t exclusive
, int flags
);
7 enum nlm_stats
getlock(nlm4_lockargs
*lckarg
, struct svc_req
*rqstp
, const int flags
);
8 enum nlm_stats
unlock(nlm4_lock
*lock
, const int flags
);
9 int lock_answer(int pid
, netobj
*netcookie
, int result
, int version
,
10 int *pid_p
, off_t l_start
, off_t l_len
);
11 enum nlm_stats
getshare(nlm_shareargs
*shrarg
, struct svc_req
*rqstp
, const int flags
);
12 enum nlm_stats
unshare(nlm_shareargs
*shrarg
, struct svc_req
*rqstp
);
13 void do_free_all(const char *hostname
);
15 void notify(const char *hostname
, const int state
);
17 /* flags for testlock, getlock & unlock */
18 #define LOCK_ASYNC 0x01 /* async version (getlock only) */
19 #define LOCK_V4 0x02 /* v4 version */
20 #define LOCK_MON 0x04 /* monitored lock (getlock only) */
21 #define LOCK_CANCEL 0x08 /* cancel, not unlock request (unlock only) */
23 /* callbacks from lock_proc.c */
24 void transmit_result(int, nlm_res
*, struct sockaddr
*);
25 void transmit4_result(int, nlm4_res
*, struct sockaddr
*);
26 CLIENT
*get_client(struct sockaddr
*, rpcvers_t
);