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 #include <linux/types.h>
     13 
     14 enum {
     15 	DLM_STATUS_WAITING = 1,
     16 	DLM_STATUS_GRANTED = 2,
     17 	DLM_STATUS_CONVERT = 3,
     18 };
     19 
     20 #define DLM_LOCK_DATA_VERSION 1
     21 
     22 struct dlm_lock_data {
     23 	__u16 version;
     24 	__u32 lockspace_id;
     25 	int nodeid;
     26 	int ownpid;
     27 	__u32 id;
     28 	__u32 remid;
     29 	__u64 xid;
     30 	__s8 status;
     31 	__s8 grmode;
     32 	__s8 rqmode;
     33 	unsigned long timestamp;
     34 	int resource_namelen;
     35 	char resource_name[DLM_RESNAME_MAXLEN];
     36 };
     37 
     38 enum {
     39 	DLM_CMD_UNSPEC = 0,
     40 	DLM_CMD_HELLO,		/* user->kernel */
     41 	DLM_CMD_TIMEOUT,	/* kernel->user */
     42 	__DLM_CMD_MAX,
     43 };
     44 
     45 #define DLM_CMD_MAX (__DLM_CMD_MAX - 1)
     46 
     47 enum {
     48 	DLM_TYPE_UNSPEC = 0,
     49 	DLM_TYPE_LOCK,
     50 	__DLM_TYPE_MAX,
     51 };
     52 
     53 #define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1)
     54 
     55 #define DLM_GENL_VERSION 0x1
     56 #define DLM_GENL_NAME "DLM"
     57 
     58 #endif /* _DLM_NETLINK_H */
     59