355{
364
366
367
370 eprintf(
"failed to decode compound arguments\n");
371 }
372
373
378 }
387 }
388
390 if (
args.minorversion != 1) {
392 eprintf(
"args.minorversion %u != 1\n",
args.minorversion);
394 }
395
396
398 argop = &
args.argarray[
i];
399 resop = &
res->resarray[
i];
401 res->resarray_count++;
402
403
404
405
406
407
408
411 break;
412 }
415 break;
416 }
419 break;
420 }
421
422 switch (argop->
opnum) {
424 dprintf(1,
"OP_CB_LAYOUTRECALL\n");
427 break;
429 dprintf(1,
"OP_CB_RECALL_SLOT\n");
432 break;
434 dprintf(1,
"OP_CB_SEQUENCE\n");
437
439
443 }
444
447 break;
452 break;
457 break;
461 break;
463 dprintf(1,
"OP_CB_PUSH_DELEG\n");
465 break;
467 dprintf(1,
"OP_CB_RECALL_ANY\n");
469 break;
471 dprintf(1,
"OP_CB_RECALLABLE_OBJ_AVAIL\n");
473 break;
475 dprintf(1,
"OP_CB_WANTS_CANCELLED\n");
477 break;
479 dprintf(1,
"OP_CB_NOTIFY_LOCK\n");
481 break;
483 dprintf(1,
"OP_CB_NOTIFY_DEVICEID\n");
485 break;
489 break;
490 default:
493 break;
494 }
495 }
496
497
501
504
506 dprintf(
CBSLVL,
"<-- handle_cb_compound() returning %s (%u results)\n",
508 res ?
res->resarray_count : 0);
509}
ACPI_SIZE strlen(const char *String)
static int replay_cache_read(IN nfs41_cb_session *session, IN struct cb_compound_args *args, OUT struct cb_compound_res **res_out)
static enum_t handle_cb_recall_slot(IN nfs41_rpc_clnt *rpc_clnt, IN struct cb_recall_slot_args *args, OUT struct cb_recall_slot_res *res)
static const char g_server_tag[]
static enum_t handle_cb_recall(IN nfs41_rpc_clnt *rpc_clnt, IN struct cb_recall_args *args, OUT struct cb_recall_res *res)
static enum_t handle_cb_sequence(IN nfs41_rpc_clnt *rpc_clnt, IN struct cb_sequence_args *args, OUT struct cb_sequence_res *res, OUT nfs41_cb_session **session_out, OUT bool_t *cachethis)
static void replay_cache_write(IN nfs41_cb_session *session, IN struct cb_compound_args *args, IN struct cb_compound_res *res, IN bool_t cachethis)
static enum_t handle_cb_getattr(IN nfs41_rpc_clnt *rpc_clnt, IN struct cb_getattr_args *args, OUT struct cb_getattr_res *res)
static enum_t handle_cb_layoutrecall(IN nfs41_rpc_clnt *rpc_clnt, IN struct cb_layoutrecall_args *args, OUT struct cb_layoutrecall_res *res)
bool_t proc_cb_compound_args(XDR *xdr, struct cb_compound_args *args)
void eprintf(LPCSTR format,...)
const char * nfs_error_string(int status)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define CB_COMPOUND_MAX_TAG
@ OP_CB_RECALLABLE_OBJ_AVAIL
@ NFS4ERR_OP_NOT_IN_SESSION
@ NFS4ERR_RETRY_UNCACHED_REP
@ NFS4ERR_MINOR_VERS_MISMATCH
@ NFS4ERR_SEQ_FALSE_RETRY
STRSAFEAPI StringCchCopyA(STRSAFE_LPSTR pszDest, size_t cchDest, STRSAFE_LPCSTR pszSrc)
struct cb_recall_args recall
struct cb_sequence_args sequence
struct cb_getattr_args getattr
struct cb_recall_slot_args recall_slot
struct cb_layoutrecall_args layoutrecall
struct cb_getattr_res getattr
struct cb_sequence_res sequence
struct cb_layoutrecall_res layoutrecall
struct cb_recall_slot_res recall_slot
struct cb_recall_res recall