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