Root/
1 | /****************************************************************************** |
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 __user *castparam; |
42 | void __user *castaddr; |
43 | void __user *bastparam; |
44 | void __user *bastaddr; |
45 | struct dlm_lksb __user *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 * user_astaddr; |
85 | void __user * user_astparam; |
86 | struct dlm_lksb __user * 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 | |
109 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9