Home | History | Annotate | Download | only in linux
      1 /*
      2  * Copyright (C) 2007 Red Hat, Inc.  All rights reserved.
      3  *
      4  * This copyrighted material is made available to anyone wishing to use,
      5  * modify, copy, or redistribute it subject to the terms and conditions
      6  * of the GNU General Public License v.2.
      7  */
      8 
      9 #ifndef _DLM_NETLINK_H
     10 #define _DLM_NETLINK_H
     11 
     12 enum {
     13 	DLM_STATUS_WAITING = 1,
     14 	DLM_STATUS_GRANTED = 2,
     15 	DLM_STATUS_CONVERT = 3,
     16 };
     17 
     18 #define DLM_LOCK_DATA_VERSION 1
     19 
     20 struct dlm_lock_data {
     21 	uint16_t version;
     22 	uint32_t lockspace_id;
     23 	int nodeid;
     24 	int ownpid;
     25 	uint32_t id;
     26 	uint32_t remid;
     27 	uint64_t xid;
     28 	int8_t status;
     29 	int8_t grmode;
     30 	int8_t rqmode;
     31 	unsigned long timestamp;
     32 	int resource_namelen;
     33 	char resource_name[DLM_RESNAME_MAXLEN];
     34 };
     35 
     36 enum {
     37 	DLM_CMD_UNSPEC = 0,
     38 	DLM_CMD_HELLO,		/* user->kernel */
     39 	DLM_CMD_TIMEOUT,	/* kernel->user */
     40 	__DLM_CMD_MAX,
     41 };
     42 
     43 #define DLM_CMD_MAX (__DLM_CMD_MAX - 1)
     44 
     45 enum {
     46 	DLM_TYPE_UNSPEC = 0,
     47 	DLM_TYPE_LOCK,
     48 	__DLM_TYPE_MAX,
     49 };
     50 
     51 #define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1)
     52 
     53 #define DLM_GENL_VERSION 0x1
     54 #define DLM_GENL_NAME "DLM"
     55 
     56 #endif /* _DLM_NETLINK_H */
     57