OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [dlm_device.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/******************************************************************************
2
*******************************************************************************
3
**
4
**  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
5
**  Copyright (C) 2004-2007 Red Hat, Inc.  All rights reserved.
6
**
7
**  This copyrighted material is made available to anyone wishing to use,
8
**  modify, copy, or redistribute it subject to the terms and conditions
9
**  of the GNU General Public License v.2.
10
**
11
*******************************************************************************
12
******************************************************************************/
13
 
14
#ifndef _LINUX_DLM_DEVICE_H
15
#define _LINUX_DLM_DEVICE_H
16
 
17
/* This is the device interface for dlm, most users will use a library
18
 * interface.
19
 */
20
 
21
#include <linux/dlm.h>
22
#include <linux/types.h>
23
 
24
#define DLM_USER_LVB_LEN        32
25
 
26
/* Version of the device interface */
27
#define DLM_DEVICE_VERSION_MAJOR 6
28
#define DLM_DEVICE_VERSION_MINOR 0
29
#define DLM_DEVICE_VERSION_PATCH 1
30
 
31
/* struct passed to the lock write */
32
struct dlm_lock_params {
33
        __u8 mode;
34
        __u8 namelen;
35
        __u16 unused;
36
        __u32 flags;
37
        __u32 lkid;
38
        __u32 parent;
39
        __u64 xid;
40
        __u64 timeout;
41
        void *castparam;
42
        void *castaddr;
43
        void *bastparam;
44
        void *bastaddr;
45
        struct dlm_lksb *lksb;
46
        char lvb[DLM_USER_LVB_LEN];
47
        char name[0];
48
};
49
 
50
struct dlm_lspace_params {
51
        __u32 flags;
52
        __u32 minor;
53
        char name[0];
54
};
55
 
56
struct dlm_purge_params {
57
        __u32 nodeid;
58
        __u32 pid;
59
};
60
 
61
struct dlm_write_request {
62
        __u32 version[3];
63
        __u8 cmd;
64
        __u8 is64bit;
65
        __u8 unused[2];
66
 
67
        union  {
68
                struct dlm_lock_params   lock;
69
                struct dlm_lspace_params lspace;
70
                struct dlm_purge_params  purge;
71
        } i;
72
};
73
 
74
struct dlm_device_version {
75
        __u32 version[3];
76
};
77
 
78
/* struct read from the "device" fd,
79
   consists mainly of userspace pointers for the library to use */
80
 
81
struct dlm_lock_result {
82
        __u32 version[3];
83
        __u32 length;
84
        void * user_astaddr;
85
        void * user_astparam;
86
        struct dlm_lksb * user_lksb;
87
        struct dlm_lksb lksb;
88
        __u8 bast_mode;
89
        __u8 unused[3];
90
        /* Offsets may be zero if no data is present */
91
        __u32 lvb_offset;
92
};
93
 
94
/* Commands passed to the device */
95
#define DLM_USER_LOCK         1
96
#define DLM_USER_UNLOCK       2
97
#define DLM_USER_QUERY        3
98
#define DLM_USER_CREATE_LOCKSPACE  4
99
#define DLM_USER_REMOVE_LOCKSPACE  5
100
#define DLM_USER_PURGE        6
101
#define DLM_USER_DEADLOCK     7
102
 
103
/* Lockspace flags */
104
#define DLM_USER_LSFLG_AUTOFREE   1
105
#define DLM_USER_LSFLG_FORCEFREE  2
106
 
107
#endif
108
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.