NAME
PI - SET PI data abstraction
SYNOPSIS
#include <set_msg.h>

/*
 *    struct PI_ is used in AuthReq and AuthRevReq
 *
 *    _choice is one of:
 *        asn1set__PI__piUnsigned
 *        asn1set__PI__piDualSigned
 *        asn1set__PI__authToken
 */
struct PI_ {
    int                              _choice;
    union {
        struct PIUnsigned_ {
            asn1set__PIHead              piHead;
            asn1set__PANToken            panToken;
            cert_identity                gatewayKeyExchangeCID;
        } piUnsigned;
        struct PIDualSigned_ {
            asn1set__PIData              piData;
            cert_identity                cardholderSignatureCID;
            cert_identity                gatewayKeyExchangeCID;
        } piDualSigned;
        struct AuthToken_            authToken;
    } u;
};
DESCRIPTION
PI contains the data from a SET PI structure 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.
SEE ALSO
AuthReq, AuthRevReq
NOTES
There is a difference between non-required and optional. Non-required fields may be omitted according to the SET protocol. Optional fields may be omitted according to ASN.1 encoding rules. In some messages, a field may be optional according to ASN.1, but still required by the SET protocol. In these cases, the application must fill in these fields.

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.

BUGS
This document describes a beta implementation. The information contained in this document may be incomplete and is subject to change.

Copyright © 1996, 1997, Visa International Service Association and MasterCard International Incorporated
All Rights Reserved.