diff options
author | Sean Hefty <sean.hefty@intel.com> | 2005-11-01 16:18:54 -0500 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2005-11-01 16:18:54 -0500 |
commit | 7b28b0d000eeb62d77add636f5d6eb0da04e48aa (patch) | |
tree | 184c63c9358b790f4dd3288ea24b8d0c7973247f /include | |
parent | 3bc12e75b23c0499cc2c0873a5f77494be173761 (diff) |
[IB] ucm: 32/64 compatibility fixes
Fix structure layouts to ensure same size on 32-bit and 64-bit architectures.
This permits 32-bit userspace apps on a 64-bit kernel.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/rdma/ib_user_cm.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/include/rdma/ib_user_cm.h b/include/rdma/ib_user_cm.h index 3037588b8464..19be116047f6 100644 --- a/include/rdma/ib_user_cm.h +++ b/include/rdma/ib_user_cm.h | |||
@@ -38,7 +38,7 @@ | |||
38 | 38 | ||
39 | #include <linux/types.h> | 39 | #include <linux/types.h> |
40 | 40 | ||
41 | #define IB_USER_CM_ABI_VERSION 3 | 41 | #define IB_USER_CM_ABI_VERSION 4 |
42 | 42 | ||
43 | enum { | 43 | enum { |
44 | IB_USER_CM_CMD_CREATE_ID, | 44 | IB_USER_CM_CMD_CREATE_ID, |
@@ -84,6 +84,7 @@ struct ib_ucm_create_id_resp { | |||
84 | struct ib_ucm_destroy_id { | 84 | struct ib_ucm_destroy_id { |
85 | __u64 response; | 85 | __u64 response; |
86 | __u32 id; | 86 | __u32 id; |
87 | __u32 reserved; | ||
87 | }; | 88 | }; |
88 | 89 | ||
89 | struct ib_ucm_destroy_id_resp { | 90 | struct ib_ucm_destroy_id_resp { |
@@ -93,6 +94,7 @@ struct ib_ucm_destroy_id_resp { | |||
93 | struct ib_ucm_attr_id { | 94 | struct ib_ucm_attr_id { |
94 | __u64 response; | 95 | __u64 response; |
95 | __u32 id; | 96 | __u32 id; |
97 | __u32 reserved; | ||
96 | }; | 98 | }; |
97 | 99 | ||
98 | struct ib_ucm_attr_id_resp { | 100 | struct ib_ucm_attr_id_resp { |
@@ -164,6 +166,7 @@ struct ib_ucm_listen { | |||
164 | __be64 service_id; | 166 | __be64 service_id; |
165 | __be64 service_mask; | 167 | __be64 service_mask; |
166 | __u32 id; | 168 | __u32 id; |
169 | __u32 reserved; | ||
167 | }; | 170 | }; |
168 | 171 | ||
169 | struct ib_ucm_establish { | 172 | struct ib_ucm_establish { |
@@ -219,7 +222,7 @@ struct ib_ucm_req { | |||
219 | __u8 rnr_retry_count; | 222 | __u8 rnr_retry_count; |
220 | __u8 max_cm_retries; | 223 | __u8 max_cm_retries; |
221 | __u8 srq; | 224 | __u8 srq; |
222 | __u8 reserved[1]; | 225 | __u8 reserved[5]; |
223 | }; | 226 | }; |
224 | 227 | ||
225 | struct ib_ucm_rep { | 228 | struct ib_ucm_rep { |
@@ -236,6 +239,7 @@ struct ib_ucm_rep { | |||
236 | __u8 flow_control; | 239 | __u8 flow_control; |
237 | __u8 rnr_retry_count; | 240 | __u8 rnr_retry_count; |
238 | __u8 srq; | 241 | __u8 srq; |
242 | __u8 reserved[4]; | ||
239 | }; | 243 | }; |
240 | 244 | ||
241 | struct ib_ucm_info { | 245 | struct ib_ucm_info { |
@@ -245,7 +249,7 @@ struct ib_ucm_info { | |||
245 | __u64 data; | 249 | __u64 data; |
246 | __u8 info_len; | 250 | __u8 info_len; |
247 | __u8 data_len; | 251 | __u8 data_len; |
248 | __u8 reserved[2]; | 252 | __u8 reserved[6]; |
249 | }; | 253 | }; |
250 | 254 | ||
251 | struct ib_ucm_mra { | 255 | struct ib_ucm_mra { |
@@ -273,6 +277,7 @@ struct ib_ucm_sidr_req { | |||
273 | __u16 pkey; | 277 | __u16 pkey; |
274 | __u8 len; | 278 | __u8 len; |
275 | __u8 max_cm_retries; | 279 | __u8 max_cm_retries; |
280 | __u8 reserved[4]; | ||
276 | }; | 281 | }; |
277 | 282 | ||
278 | struct ib_ucm_sidr_rep { | 283 | struct ib_ucm_sidr_rep { |
@@ -284,7 +289,7 @@ struct ib_ucm_sidr_rep { | |||
284 | __u64 data; | 289 | __u64 data; |
285 | __u8 info_len; | 290 | __u8 info_len; |
286 | __u8 data_len; | 291 | __u8 data_len; |
287 | __u8 reserved[2]; | 292 | __u8 reserved[6]; |
288 | }; | 293 | }; |
289 | /* | 294 | /* |
290 | * event notification ABI structures. | 295 | * event notification ABI structures. |
@@ -295,7 +300,7 @@ struct ib_ucm_event_get { | |||
295 | __u64 info; | 300 | __u64 info; |
296 | __u8 data_len; | 301 | __u8 data_len; |
297 | __u8 info_len; | 302 | __u8 info_len; |
298 | __u8 reserved[2]; | 303 | __u8 reserved[6]; |
299 | }; | 304 | }; |
300 | 305 | ||
301 | struct ib_ucm_req_event_resp { | 306 | struct ib_ucm_req_event_resp { |
@@ -315,6 +320,7 @@ struct ib_ucm_req_event_resp { | |||
315 | __u8 rnr_retry_count; | 320 | __u8 rnr_retry_count; |
316 | __u8 srq; | 321 | __u8 srq; |
317 | __u8 port; | 322 | __u8 port; |
323 | __u8 reserved[7]; | ||
318 | }; | 324 | }; |
319 | 325 | ||
320 | struct ib_ucm_rep_event_resp { | 326 | struct ib_ucm_rep_event_resp { |
@@ -329,7 +335,7 @@ struct ib_ucm_rep_event_resp { | |||
329 | __u8 flow_control; | 335 | __u8 flow_control; |
330 | __u8 rnr_retry_count; | 336 | __u8 rnr_retry_count; |
331 | __u8 srq; | 337 | __u8 srq; |
332 | __u8 reserved[1]; | 338 | __u8 reserved[5]; |
333 | }; | 339 | }; |
334 | 340 | ||
335 | struct ib_ucm_rej_event_resp { | 341 | struct ib_ucm_rej_event_resp { |
@@ -374,6 +380,7 @@ struct ib_ucm_event_resp { | |||
374 | __u32 id; | 380 | __u32 id; |
375 | __u32 event; | 381 | __u32 event; |
376 | __u32 present; | 382 | __u32 present; |
383 | __u32 reserved; | ||
377 | union { | 384 | union { |
378 | struct ib_ucm_req_event_resp req_resp; | 385 | struct ib_ucm_req_event_resp req_resp; |
379 | struct ib_ucm_rep_event_resp rep_resp; | 386 | struct ib_ucm_rep_event_resp rep_resp; |