1*f66241cbSDouglas Fuller #ifndef _LINUX_CEPH_CLS_LOCK_CLIENT_H
2*f66241cbSDouglas Fuller #define _LINUX_CEPH_CLS_LOCK_CLIENT_H
3*f66241cbSDouglas Fuller 
4*f66241cbSDouglas Fuller #include <linux/ceph/osd_client.h>
5*f66241cbSDouglas Fuller 
6*f66241cbSDouglas Fuller enum ceph_cls_lock_type {
7*f66241cbSDouglas Fuller 	CEPH_CLS_LOCK_NONE = 0,
8*f66241cbSDouglas Fuller 	CEPH_CLS_LOCK_EXCLUSIVE = 1,
9*f66241cbSDouglas Fuller 	CEPH_CLS_LOCK_SHARED = 2,
10*f66241cbSDouglas Fuller };
11*f66241cbSDouglas Fuller 
12*f66241cbSDouglas Fuller int ceph_cls_lock(struct ceph_osd_client *osdc,
13*f66241cbSDouglas Fuller 		  struct ceph_object_id *oid,
14*f66241cbSDouglas Fuller 		  struct ceph_object_locator *oloc,
15*f66241cbSDouglas Fuller 		  char *lock_name, u8 type, char *cookie,
16*f66241cbSDouglas Fuller 		  char *tag, char *desc, u8 flags);
17*f66241cbSDouglas Fuller int ceph_cls_unlock(struct ceph_osd_client *osdc,
18*f66241cbSDouglas Fuller 		    struct ceph_object_id *oid,
19*f66241cbSDouglas Fuller 		    struct ceph_object_locator *oloc,
20*f66241cbSDouglas Fuller 		    char *lock_name, char *cookie);
21*f66241cbSDouglas Fuller int ceph_cls_break_lock(struct ceph_osd_client *osdc,
22*f66241cbSDouglas Fuller 			struct ceph_object_id *oid,
23*f66241cbSDouglas Fuller 			struct ceph_object_locator *oloc,
24*f66241cbSDouglas Fuller 			char *lock_name, char *cookie,
25*f66241cbSDouglas Fuller 			struct ceph_entity_name *locker);
26*f66241cbSDouglas Fuller 
27*f66241cbSDouglas Fuller #endif
28