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

/* 
 *    struct CapToken_ is used in AuthRes, AuthRevRes,
 *    and struct CapTokenSeq_
 *
 *    if capTokenData is absent, then panToken must be absent
 *    if capTokenData is absent, then gatewaySignatureCID and
 *      gatewayKeyExchangeCID are ignored
 *    if a CapToken is null, then the associated capTokenData
 *      is absent
 */
struct CapToken_ {
#define                          CapToken__capTokenData          0
#define                          CapToken__panToken              1
    UCHAR                        _present[1];

    asn1set__CapTokenData        capTokenData;
    asn1set__PANToken            panToken;
    cert_identity                gatewaySignatureCID;
    cert_identity                gatewayKeyExchangeCID;
};

/*
 *    struct CapTokenSeq_ is used in CapReq, CapRevReq,
 *    CredReq, and CredRevReq
 */
struct CapTokenSeq_ {
    struct CapTokenSeq_         *next;
    struct CapToken_             capToken;
};
DESCRIPTION
CapToken contains the data from a SET CapToken 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.
FIELDS

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().

CapToken__capTokenData
Software indicates to SETREF that a CapToken, which includes the data contained in the capTokenData field, should be included by setting CapToken__capTokenData to present.
CapToken__panToken
Software indicates to SETREF that the data contained in the panToken field should be included in the CapToken by setting CapToken__panToken to present.
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.

SEE ALSO
AuthRes, AuthRevRes, CapReq, CapRevReq, CredReq, CredRevReq
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.