#include <set_msg.h> typedef struct RegFormReq_ { asn1set__MessageWrapper messageWrapper; asn1set__RegFormReqData regFormReqData; asn1set__PANOnly panOnly; cert_identity caKeyExchangeCID; } *RegFormReq; RegFormReq safe_cast_RegFormReq(msg) set_msg msg; /* IN */
RegFormReq
contains the
data from a SET RegFormReq 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.
RegFormReq
message objects of type set_msg
may be cast to type RegFormReq
using the
safe_cast_RegFormReq()
routine.
make_set_msg()
results in the protocol layer
filling in the following fields:
* messageWrapper.messageHeader.version * messageWrapper.messageHeader.date * messageWrapper.messageHeader.rrPID * messageWrapper.messageHeader.swIdent * messageWrapper.message._choice * regFormReqData.rrpid * regFormReqData.lid_EE * regFormReqData.lid_CA (optional) * regFormReqData.chall_EE2 * regFormReqData.caeThumb * panOnly.exNonce * caKeyExchangeCIDIt is unwise for users to change the contents of the fields filled in by the protocol layer.
After calling make_set_msg()
, cardholder software must
(at a minimum) fill in the following required fields:
* regFormReqData.requestType * regFormReqData.langauge * panOnly.panNon-required fields may be left empty at the discretion of the cardholder application, subject to any business constraints placed on the application.
STATE_CAETHUMB get STATE_CHALL_EE put STATE_LOCALID_CA get STATE_LOCALID_EE get STATE_REGFORMREQ_RRPID put STATE_REQUESTTYPE put
STATE_CA_SIGID put STATE_CHALL_EE put STATE_LOCALID_EE put STATE_REGFORMREQ_RRPID put STATE_REQUESTTYPE put
safe_cast_RegFormReq()
returns a pointer to an RegFormReq
data structure.
Objects of type set_msg
that were not created
with message type
asn1set__Message__regFormReq
will cause
safe_cast_RegFormReq()
to fail.
On failure, safe_cast_RegFormReq()
returns a null 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.
msg_type = asn1set__Message__regFormReq; status = make_set_msg(request, app_ctx, &msg_cache[0], msg_type); assert(status == NO_ERROR); regFormReq = safe_cast_RegFormReq(request); assert(regFormReq != 0); regFormReq->regFormReqTBE.language = ENGLISH; regFormReq->regFormReqTBE.requestType = CERT_REQ_TYPE; regFormReq->panOnly.pan = PAN; /* ... */ status = send_set_msg(request, app_ctx, &msg_cache[0], outstream); assert(status == NO_ERROR);
Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.