#include <set_msg.h> typedef struct InqReq_ { asn1set__MessageWrapper messageWrapper; asn1set__InqReqData inqReqData; /* only for signed case */ cert_identity cardholderSignatureCID; #define InqReq__cardholderSignatureCID 0 UCHAR _present[4]; } *InqReq; InqReq safe_cast_InqReq(msg) set_msg msg; /* IN */
InqReq
contains the data from a SET InqReq message in native C form. See the asn_types.h and
asn1set.h header files for the declarations of the various types. See the SET specification for a
description of individual fields. InqReq
message objects of type set_msg
can be cast to type InqReq
using the
safe_cast_InqReq()
routine.
make_set_msg()
results in the protocol layer filling in the following fields:
* messageWrapper.messageHeader.version * messageWrapper.messageHeader.date * messageWrapper.messageHeader.messageIDs * messageWrapper.messageHeader.rrPID * messageWrapper.messageHeader.swIdent * messageWrapper.message._choice * inqReqData.transIDs * inqReqData.rrpid * inqReqData.chall_C2
It is unwise for applications to change the contents of the fields filled in by the protocol layer. Non-required fields may be left empty at the discretion of the cardholder application, subject to any business constraints placed on the application.
OPTIONAL FIELDS
The _present
element is used for specifying the presence or absence of optional elements. The
macros SET_PRESENT()
, IS_PRESENT()
, SET_ABSENT()
, and IS_ABSENT()
are used to specify
or query the status of optional elements. See documentation on ASN.1/DER runtime types for
additional information.
When sending a message, the presence or absence must be set (using SET_PRESENT()
or
SET_ABSENT()
) prior to calling send_set_msg()
. It is usually unnecessary to invoke the
SET_ABSENT()
macro because absent is the default setting for blank messages.
When receiving a message, presence or absence can be determined (using the IS_PRESENT()
or
IS_ABSENT()
macro) after calling decode_set_msg()
.
InqReq__cardholderSignatureCID
InqReq
message is to be signed by
setting InqReq__cardholderSignatureCID
to present. SETREF indicates to merchant software that the InqReq
message was signed by setting
InqReq__cardholderSignatureCID
to present.
STATE_CHALL_C2 put STATE_INQREQ_RRPID put STATE_PREQ_RRPID get STATE_TRANSIDS get STATE_TRANSIDS put
STATE_CHALL_C2 put STATE_INQREQ_RRPID put STATE_TRANSIDS put
safe_cast_InqReq()
returns a pointer to an InqReq
data structure. Objects of type
set_msg
that were not created with message type asn1set__Message__inqReq
will cause
safe_cast_InqReq()
to fail. On failure, safe_cast_InqReq()
returns a 0 pointer. Optional fields that are filled in require an application of the SET_PRESENT()
macro. See
documentation on ASN.1/DER runtime types for additional information.
inqReq = safe_cast_InqReq(request); assert(inqReq != 0); inqReq->messageWrapper.messageHeader.swIdent._choice = asn1set__SWIdent__printableString; inqReq->messageWrapper.messageHeader.swIdent.u.printableString = "WebTerm v7.2.3alpha"; /* ... */
Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.