ReactOS 0.4.15-dev-7788-g1ad9096
nfs41_callback.h
Go to the documentation of this file.
1/* NFSv4.1 client for Windows
2 * Copyright © 2012 The Regents of the University of Michigan
3 *
4 * Olga Kornievskaia <aglo@umich.edu>
5 * Casey Bodley <cbodley@umich.edu>
6 *
7 * This library is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation; either version 2.1 of the License, or (at
10 * your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful, but
13 * without any warranty; without even the implied warranty of merchantability
14 * or fitness for a particular purpose. See the GNU Lesser General Public
15 * License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with this library; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 */
21
22#ifndef __NFS41_CALLBACK_H__
23#define __NFS41_CALLBACK_H__
24
25#include "wintirpc.h"
26#include "rpc/rpc.h"
27#include "nfs41_types.h"
28
29
33};
34
48 OP_CB_ILLEGAL = 10044
49};
50
51int nfs41_handle_callback(void *, void *, void *);
52
53/* OP_CB_LAYOUTRECALL */
59};
63};
64struct cb_recall {
65#ifdef __REACTOS__
67#else
69#endif
71};
73#ifdef __REACTOS__
76#else
79#endif
82};
83
86};
87
88/* OP_CB_RECALL_SLOT */
91};
92
95};
96
97/* OP_CB_SEQUENCE */
101};
106};
115};
116
123};
127};
128
129/* OP_CB_GETATTR */
133};
134
138};
139
140/* OP_CB_RECALL */
145};
146
149};
150
151/* OP_CB_NOTIFY */
154};
155
158};
159
160/* OP_CB_PUSH_DELEG */
163};
164
167};
168
169/* OP_CB_RECALL_ANY */
172};
173
176};
177
178/* OP_CB_RECALLABLE_OBJ_AVAIL */
181};
182
185};
186
187/* OP_CB_WANTS_CANCELLED */
190};
191
194};
195
196/* OP_CB_NOTIFY_LOCK */
199};
200
203};
204
205/* OP_CB_NOTIFY_DEVICEID */
211 unsigned char deviceid[16];
213#ifdef __REACTOS__
215#else
217#endif
219};
220struct notify4 {
222 char *list;
224};
230};
231
234};
235
236/* CB_COMPOUND */
237#define CB_COMPOUND_MAX_TAG 64
238#define CB_COMPOUND_MAX_OPERATIONS 16
239
247};
248struct cb_argop {
251};
255};
259 uint32_t callback_ident; /* client MUST ignore */
261 uint32_t argarray_count; /* <= CB_COMPOUND_MAX_OPERATIONS */
262};
263
265 enum_t status; /* all results start with status */
272};
273struct cb_resop {
277};
282 uint32_t resarray_count; /* <= CB_COMPOUND_MAX_OPERATIONS */
283};
284
285
286/* callback_xdr.c */
289
290/* callback_server.c */
291struct __nfs41_session;
293 IN struct __nfs41_session *session);
294
295#endif /* !__NFS41_CALLBACK_H__ */
int32_t bool_t
Definition: types.h:101
UINT32 uint32_t
Definition: types.h:75
UINT64 uint64_t
Definition: types.h:77
int32_t enum_t
Definition: types.h:102
GLuint res
Definition: glext.h:9613
notify_deviceid_type4
@ NOTIFY_DEVICEID4_DELETE
@ NOTIFY_DEVICEID4_CHANGE
nfs41_callback_proc
@ CB_NULL
@ CB_COMPOUND
int nfs41_handle_callback(void *, void *, void *)
void nfs41_callback_session_init(IN struct __nfs41_session *session)
bool_t proc_cb_compound_args(XDR *xdr, struct cb_compound_args *args)
Definition: callback_xdr.c:590
#define CB_COMPOUND_MAX_TAG
bool_t proc_cb_compound_res(XDR *xdr, struct cb_compound_res *res)
Definition: callback_xdr.c:638
nfs41_callback_op
@ OP_CB_SEQUENCE
@ OP_CB_PUSH_DELEG
@ OP_CB_WANTS_CANCELLED
@ OP_CB_LAYOUTRECALL
@ OP_CB_NOTIFY_LOCK
@ OP_CB_ILLEGAL
@ OP_CB_RECALL_ANY
@ OP_CB_GETATTR
@ OP_CB_NOTIFY_DEVICEID
@ OP_CB_RECALL_SLOT
@ OP_CB_NOTIFY
@ OP_CB_RECALL
@ OP_CB_RECALLABLE_OBJ_AVAIL
#define NFS4_SESSIONID_SIZE
Definition: nfs41_const.h:32
pnfs_iomode
Definition: pnfs.h:80
pnfs_layout_type
Definition: pnfs.h:74
pnfs_return_type
Definition: pnfs.h:100
Definition: xdr.h:103
Definition: match.c:390
enum_t opnum
uint32_t callback_ident
struct cb_argop * argarray
uint32_t argarray_count
struct cb_resop * resarray
uint32_t resarray_count
char str[CB_COMPOUND_MAX_TAG]
nfs41_file_info info
struct cb_recall recall
enum pnfs_iomode iomode
enum pnfs_return_type type
uint32_t target_highest_slotid
struct notify_deviceid4 * change_list
struct notify4 * notify_list
uint32_t target_highest_slotid
uint32_t target_highest_slotid
uint32_t target_highest_slotid
stateid4 stateid
uint32_t target_highest_slotid
enum pnfs_return_type type
bool_t xdr_ok
enum_t opnum
char sessionid[NFS4_SESSIONID_SIZE]
uint32_t ref_list_count
uint32_t highest_slotid
struct cb_sequence_ref_list * ref_lists
char sessionid[NFS4_SESSIONID_SIZE]
struct cb_sequence_ref * calls
uint32_t sequenceid
uint32_t target_highest_slotid
char sessionid[NFS4_SESSIONID_SIZE]
struct cb_sequence_res_ok ok
Definition: fci.c:127
char * list
uint32_t len
bitmap4 mask
enum pnfs_layout_type layouttype
unsigned char deviceid[16]
enum notify_deviceid_type4 type
Definition: ecma_167.h:138
#define IN
Definition: typedefs.h:39
struct cb_recall_args recall
struct cb_sequence_args sequence
struct cb_getattr_args getattr
struct cb_recall_slot_args recall_slot
struct cb_notify_deviceid_args notify_deviceid
struct cb_layoutrecall_args layoutrecall
struct cb_getattr_res getattr
struct cb_sequence_res sequence
enum_t status
struct cb_layoutrecall_res layoutrecall
struct cb_recall_slot_res recall_slot
struct cb_notify_deviceid_res notify_deviceid
struct cb_recall_res recall