ReactOS 0.4.15-dev-5672-gf73ac17
nfs41_callback.h File Reference
#include "wintirpc.h"
#include "rpc/rpc.h"
#include "nfs41_types.h"
Include dependency graph for nfs41_callback.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  cb_recall_file
 
union  cb_recall_file_args
 
struct  cb_recall
 
struct  cb_layoutrecall_args
 
struct  cb_layoutrecall_res
 
struct  cb_recall_slot_args
 
struct  cb_recall_slot_res
 
struct  cb_sequence_ref
 
struct  cb_sequence_ref_list
 
struct  cb_sequence_args
 
struct  cb_sequence_res_ok
 
struct  cb_sequence_res
 
struct  cb_getattr_args
 
struct  cb_getattr_res
 
struct  cb_recall_args
 
struct  cb_recall_res
 
struct  cb_notify_args
 
struct  cb_notify_res
 
struct  cb_push_deleg_args
 
struct  cb_push_deleg_res
 
struct  cb_recall_any_args
 
struct  cb_recall_any_res
 
struct  cb_recallable_obj_avail_args
 
struct  cb_recallable_obj_avail_res
 
struct  cb_wants_cancelled_args
 
struct  cb_wants_cancelled_res
 
struct  cb_notify_lock_args
 
struct  cb_notify_lock_res
 
struct  notify_deviceid4
 
struct  notify4
 
struct  cb_notify_deviceid_args
 
struct  cb_notify_deviceid_res
 
union  cb_op_args
 
struct  cb_argop
 
struct  cb_compound_tag
 
struct  cb_compound_args
 
union  cb_op_res
 
struct  cb_resop
 
struct  cb_compound_res
 

Macros

#define CB_COMPOUND_MAX_TAG   64
 
#define CB_COMPOUND_MAX_OPERATIONS   16
 

Enumerations

enum  nfs41_callback_proc { CB_NULL = 0 , CB_COMPOUND = 1 }
 
enum  nfs41_callback_op {
  OP_CB_GETATTR = 3 , OP_CB_RECALL = 4 , OP_CB_LAYOUTRECALL = 5 , OP_CB_NOTIFY = 6 ,
  OP_CB_PUSH_DELEG = 7 , OP_CB_RECALL_ANY = 8 , OP_CB_RECALLABLE_OBJ_AVAIL = 9 , OP_CB_RECALL_SLOT = 10 ,
  OP_CB_SEQUENCE = 11 , OP_CB_WANTS_CANCELLED = 12 , OP_CB_NOTIFY_LOCK = 13 , OP_CB_NOTIFY_DEVICEID = 14 ,
  OP_CB_ILLEGAL = 10044
}
 
enum  notify_deviceid_type4 { NOTIFY_DEVICEID4_CHANGE = 1 , NOTIFY_DEVICEID4_DELETE = 2 }
 

Functions

int nfs41_handle_callback (void *, void *, void *)
 
bool_t proc_cb_compound_args (XDR *xdr, struct cb_compound_args *args)
 
bool_t proc_cb_compound_res (XDR *xdr, struct cb_compound_res *res)
 
void nfs41_callback_session_init (IN struct __nfs41_session *session)
 

Macro Definition Documentation

◆ CB_COMPOUND_MAX_OPERATIONS

#define CB_COMPOUND_MAX_OPERATIONS   16

Definition at line 238 of file nfs41_callback.h.

◆ CB_COMPOUND_MAX_TAG

#define CB_COMPOUND_MAX_TAG   64

Definition at line 237 of file nfs41_callback.h.

Enumeration Type Documentation

◆ nfs41_callback_op

Enumerator
OP_CB_GETATTR 
OP_CB_RECALL 
OP_CB_LAYOUTRECALL 
OP_CB_NOTIFY 
OP_CB_PUSH_DELEG 
OP_CB_RECALL_ANY 
OP_CB_RECALLABLE_OBJ_AVAIL 
OP_CB_RECALL_SLOT 
OP_CB_SEQUENCE 
OP_CB_WANTS_CANCELLED 
OP_CB_NOTIFY_LOCK 
OP_CB_NOTIFY_DEVICEID 
OP_CB_ILLEGAL 

Definition at line 35 of file nfs41_callback.h.

35 {
36 OP_CB_GETATTR = 3,
37 OP_CB_RECALL = 4,
39 OP_CB_NOTIFY = 6,
44 OP_CB_SEQUENCE = 11,
48 OP_CB_ILLEGAL = 10044
49};
@ 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

◆ nfs41_callback_proc

Enumerator
CB_NULL 
CB_COMPOUND 

Definition at line 30 of file nfs41_callback.h.

30 {
31 CB_NULL = 0,
32 CB_COMPOUND = 1,
33};
@ CB_NULL
@ CB_COMPOUND

◆ notify_deviceid_type4

Enumerator
NOTIFY_DEVICEID4_CHANGE 
NOTIFY_DEVICEID4_DELETE 

Definition at line 206 of file nfs41_callback.h.

206 {
209};
@ NOTIFY_DEVICEID4_DELETE
@ NOTIFY_DEVICEID4_CHANGE

Function Documentation

◆ nfs41_callback_session_init()

void nfs41_callback_session_init ( IN struct __nfs41_session session)

◆ nfs41_handle_callback()

int nfs41_handle_callback ( void ,
void ,
void  
)

◆ proc_cb_compound_args()

bool_t proc_cb_compound_args ( XDR xdr,
struct cb_compound_args args 
)

Definition at line 590 of file callback_xdr.c.

591{
593
594 result = cb_compound_tag(xdr, &args->tag);
595 if (!result) { CBX_ERR("compound.tag"); goto out; }
596
597 result = xdr_u_int32_t(xdr, &args->minorversion);
598 if (!result) { CBX_ERR("compound.minorversion"); goto out; }
599
600 /* "superfluous in NFSv4.1 and MUST be ignored by the client" */
601 result = xdr_u_int32_t(xdr, &args->callback_ident);
602 if (!result) { CBX_ERR("compound.callback_ident"); goto out; }
603
604 result = xdr_array(xdr, (char**)&args->argarray,
605 &args->argarray_count, CB_COMPOUND_MAX_OPERATIONS,
606 sizeof(struct cb_argop), (xdrproc_t)cb_compound_argop);
607 if (!result) { CBX_ERR("compound.argarray"); goto out; }
608out:
609 return result;
610}
bool_t xdr_u_int32_t(XDR *xdrs, u_int32_t *u_int32_p)
Definition: xdr.c:239
static bool_t cb_compound_argop(XDR *xdr, struct cb_argop *args)
Definition: callback_xdr.c:579
#define CBX_ERR(msg)
Definition: callback_xdr.c:32
int32_t bool_t
Definition: types.h:101
GLuint64EXT * result
Definition: glext.h:11304
#define CB_COMPOUND_MAX_OPERATIONS
static FILE * out
Definition: regtests2xml.c:44
Definition: match.c:390
bool_t(* xdrproc_t)(XDR *,...)
Definition: xdr.h:144
bool_t xdr_array(XDR *xdrs, caddr_t *addrp, u_int *sizep, u_int maxsize, u_int elsize, xdrproc_t elproc)
Definition: xdr_array.c:61

Referenced by handle_cb_compound(), replay_cache_write(), and replay_validate_args().

◆ proc_cb_compound_res()

bool_t proc_cb_compound_res ( XDR xdr,
struct cb_compound_res res 
)

Definition at line 638 of file callback_xdr.c.

639{
641
642 if (res == NULL)
643 return TRUE;
644
645 result = xdr_enum(xdr, &res->status);
646 if (!result) { CBX_ERR("compound_res.status"); goto out; }
647
648 result = cb_compound_tag(xdr, &res->tag);
649 if (!result) { CBX_ERR("compound_res.tag"); goto out; }
650
651 result = xdr_array(xdr, (char**)&res->resarray,
652 &res->resarray_count, CB_COMPOUND_MAX_OPERATIONS,
653 sizeof(struct cb_resop), (xdrproc_t)cb_compound_resop);
654 if (!result) { CBX_ERR("compound_res.resarray"); goto out; }
655out:
656 if (xdr->x_op == XDR_FREE)
657 free(res);
658 return result;
659}
bool_t xdr_enum(XDR *xdrs, enum_t *ep)
Definition: xdr.c:458
static bool_t cb_compound_resop(XDR *xdr, struct cb_resop *res)
Definition: callback_xdr.c:628
#define free
Definition: debug_ros.c:5
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
GLuint res
Definition: glext.h:9613
enum xdr_op x_op
Definition: xdr.h:104
@ XDR_FREE
Definition: xdr.h:87

Referenced by get_client_for_netaddr(), replay_cache_read(), and replay_cache_write().