Lines Matching defs:args

363 static struct rpc_clnt * rpc_new_client(const struct rpc_create_args *args,
368 const struct rpc_program *program = args->program;
372 const char *nodename = args->nodename;
380 if (args->version >= program->nrvers)
382 version = program->version[args->version];
391 clnt->cl_xprtsec = args->xprtsec;
397 clnt->cl_cred = get_cred(args->cred);
400 clnt->cl_prog = args->prognumber ? : program->number;
413 if (args->timeout != NULL) {
414 memcpy(&clnt->cl_timeout_default, args->timeout,
435 err = rpc_client_register(clnt, args->authflavor, args->client_name);
441 trace_rpc_clnt_new(clnt, xprt, args);
456 trace_rpc_clnt_new_err(program->name, args->servername, err);
460 static struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args,
466 if (args->bc_xprt && args->bc_xprt->xpt_bc_xps) {
467 WARN_ON_ONCE(!(args->protocol & XPRT_TRANSPORT_BC));
468 xps = args->bc_xprt->xpt_bc_xps;
481 clnt = rpc_new_client(args, xps, xprt, NULL);
485 if (!(args->flags & RPC_CLNT_CREATE_NOPING)) {
491 } else if (args->flags & RPC_CLNT_CREATE_CONNECTED) {
500 if (args->flags & (RPC_CLNT_CREATE_HARDRTRY|RPC_CLNT_CREATE_SOFTERR)) {
502 if (args->flags & RPC_CLNT_CREATE_SOFTERR)
506 if (args->flags & RPC_CLNT_CREATE_AUTOBIND)
508 if (args->flags & RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT)
510 if (args->flags & RPC_CLNT_CREATE_DISCRTRY)
512 if (!(args->flags & RPC_CLNT_CREATE_QUIET))
520 * @args: rpc_clnt create argument structure
528 struct rpc_clnt *rpc_create(struct rpc_create_args *args)
532 .net = args->net,
533 .ident = args->protocol,
534 .srcaddr = args->saddress,
535 .dstaddr = args->address,
536 .addrlen = args->addrsize,
537 .servername = args->servername,
538 .bc_xprt = args->bc_xprt,
539 .xprtsec = args->xprtsec,
540 .connect_timeout = args->connect_timeout,
541 .reconnect_timeout = args->reconnect_timeout,
547 if (args->bc_xprt) {
548 WARN_ON_ONCE(!(args->protocol & XPRT_TRANSPORT_BC));
549 xprt = args->bc_xprt->xpt_bc_xprt;
552 return rpc_create_xprt(args, xprt);
556 if (args->flags & RPC_CLNT_CREATE_INFINITE_SLOTS)
558 if (args->flags & RPC_CLNT_CREATE_NO_IDLE_TIMEOUT)
566 (struct sockaddr_un *)args->address;
568 (struct sockaddr_in *)args->address;
570 (struct sockaddr_in6 *)args->address;
573 switch (args->address->sa_family) {
609 if (args->flags & RPC_CLNT_CREATE_NONPRIVPORT)
612 if (args->flags & RPC_CLNT_CREATE_REUSEPORT)
615 clnt = rpc_create_xprt(args, xprt);
616 if (IS_ERR(clnt) || args->nconnect <= 1)
619 for (i = 0; i < args->nconnect - 1; i++) {
632 static struct rpc_clnt *__rpc_clone_client(struct rpc_create_args *args,
650 args->servername = xprt->servername;
651 args->nodename = clnt->cl_nodename;
653 new = rpc_new_client(args, xps, xprt, clnt);
682 struct rpc_create_args args = {
689 return __rpc_clone_client(&args, clnt);
704 struct rpc_create_args args = {
711 return __rpc_clone_client(&args, clnt);
718 * @args: pointer to the new transport arguments
731 struct xprt_create *args,
741 args->xprtsec = clnt->cl_xprtsec;
742 xprt = xprt_create_transport(args);
1050 struct rpc_create_args args = {
1060 clnt = __rpc_clone_client(&args, old);
3043 * Creates a new transport using the parameters set in args and