Basic constructor macro for rlp-error-fewer-bytes-than-long-length structures.
(make-rlp-error-fewer-bytes-than-long-length [:fragment <fragment>] [:required <required>] [:available <available>])
This is the usual way to construct rlp-error-fewer-bytes-than-long-length structures. It simply conses together a structure with the specified fields.
This macro generates a new rlp-error-fewer-bytes-than-long-length structure from scratch. See also change-rlp-error-fewer-bytes-than-long-length, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-rlp-error-fewer-bytes-than-long-length (&rest args) (std::make-aggregate 'rlp-error-fewer-bytes-than-long-length args '((:fragment) (:required) (:available)) 'make-rlp-error-fewer-bytes-than-long-length nil))
Function:
(defun rlp-error-fewer-bytes-than-long-length (fragment required available) (declare (xargs :guard (and (byte-listp fragment) (natp required) (natp available)))) (declare (xargs :guard t)) (let ((__function__ 'rlp-error-fewer-bytes-than-long-length)) (declare (ignorable __function__)) (b* ((fragment (mbe :logic (byte-list-fix fragment) :exec fragment)) (required (mbe :logic (nfix required) :exec required)) (available (mbe :logic (nfix available) :exec available))) (cons :fewer-bytes-than-long-length (list fragment required available)))))