Lines Matching refs:ap

418 smp_action_set_timeout(smp_action_t *ap, uint32_t timeout)
420 ap->sa_timeout = timeout;
427 smp_action_get_timeout(const smp_action_t *ap)
429 return (ap->sa_timeout);
433 smp_action_get_function_def(const smp_action_t *ap)
435 return (ap->sa_def);
443 smp_action_get_rqsd(const smp_action_t *ap)
445 return (ap->sa_request_rqsd);
453 smp_action_get_request(const smp_action_t *ap, void **reqp, size_t *dlenp)
456 if (ap->sa_request_data_off >= 0) {
457 *reqp = ap->sa_request + ap->sa_request_data_off;
464 *dlenp = ap->sa_request_alloc_len -
465 (ap->sa_request_data_off + sizeof (smp_crc_t));
474 smp_action_get_response(const smp_action_t *ap, smp_result_t *resultp,
478 *resultp = ap->sa_result;
481 *respp = (ap->sa_response_data_len > 0) ?
482 (ap->sa_response + ap->sa_response_data_off) : NULL;
485 *dlenp = ap->sa_response_data_len;
494 smp_action_get_request_frame(const smp_action_t *ap, void **reqp, size_t *alenp)
497 *reqp = ap->sa_request;
500 *alenp = ap->sa_request_alloc_len;
509 smp_action_get_response_frame(const smp_action_t *ap,
513 *respp = ap->sa_response;
516 if (ap->sa_flags & SMP_ACTION_F_EXEC)
517 *lenp = ap->sa_response_engine_len;
519 *lenp = ap->sa_response_alloc_len;
528 smp_action_set_response_len(smp_action_t *ap, size_t elen)
530 ap->sa_response_engine_len = elen;
534 smp_action_set_result(smp_action_t *ap, smp_result_t result)
536 ap->sa_result = result;
573 smp_action_t *ap;
619 if ((ap = smp_zalloc(len)) == NULL)
622 ap->sa_def = dp;
623 alloc = ap->sa_buf;
626 ap->sa_request = alloc;
629 ap->sa_request_alloc_len = rqlen;
632 ap->sa_response = alloc;
635 ap->sa_response_alloc_len = rslen;
637 ASSERT(alloc - (uint8_t *)ap == len);
639 ap->sa_request_data_off = dp->sfd_rq_dataoff(ap, tp);
640 ap->sa_flags |= SMP_ACTION_F_OFFSET;
642 return (ap);
658 smp_action_free(smp_action_t *ap)
660 if (ap == NULL)
663 smp_free(ap);
698 smp_exec(smp_action_t *ap, smp_target_t *tp)
703 dp = ap->sa_def;
704 dp->sfd_rq_setframe(ap, tp);
707 smp_inject_errors(ap->sa_request, ap->sa_request_alloc_len,
711 ret = tp->st_engine->se_ops->seo_exec(tp->st_priv, ap);
714 smp_inject_errors(ap->sa_response, ap->sa_response_engine_len,
721 ap->sa_flags |= SMP_ACTION_F_EXEC;
728 ap->sa_response_data_len = dp->sfd_rs_datalen(ap, tp);
729 ap->sa_response_data_off = dp->sfd_rs_dataoff(ap, tp);
730 dp->sfd_rs_getparams(ap, tp);
732 ap->sa_flags |= SMP_ACTION_F_DECODE;