#include <set_msg.h> typedef struct PInitReq_ { asn1set__MessageWrapper messageWrapper; } *PInitReq; PInitReq safe_cast_PInitReq(msg) set_msg msg; /* IN */
PInitReq
contains the data from a SET PInitReq 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. PInitReq
message objects of type set_msg
can be cast to type PInitReq
using the
safe_cast_PInitReq()
routine.
make_set_msg()
, cardholder software must insert the following state into the
cache_ctx
:
* STATE_LOCALID_C
A call to 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 * messageWrapper.message.u.pInitReq.rrpid * messageWrapper.message.u.pInitReq.localID_C * messageWrapper.message.u.pInitReq.chall_C * messageWrapper.message.u.pInitReq.thumbs
It is unwise for applications to change the contents of the fields filled in by the protocol layer.
After calling make_set_msg()
, cardholder software must fill in the following required fields:
* messageWrapper.message.u.pInitReq.bin * messageWrapper.message.u.pInitReq.brandID * messageWrapper.message.u.pInitReq.language
Non-required fields may be left empty at the discretion of the cardholder application, subject to any business constraints placed on the application.
STATE_CHALL_C put STATE_LANGUAGE put STATE_LOCALID_C get STATE_LOCALID_M get STATE_PINITREQ_RRPID put STATE_THUMBS put
STATE_CHALL_C put STATE_LANGUAGE put STATE_LOCALID_C put STATE_PINITREQ_RRPID put STATE_THUMBS put
safe_cast_PInitReq()
returns a pointer to a PInitReq
data structure. Objects of
type set_msg
that were not created with message type asn1set__Message__pInitReq
will cause
safe_cast_PInitReq()
to fail. On failure, safe_cast_PInitReq()
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.
pInitReq = safe_cast_PInitReq(request); assert(pInitReq != 0); pInitReq->messageWrapper.messageHeader.swIdent._choice = asn1set__SWIdent__visibleString; pInitReq->messageWrapper.messageHeader.swIdent.u.visibleString = "WebTerm v7.2.3alpha";
Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.