2.2.6.1 MESSAGE_TYPE

The MESSAGE_TYPE enumeration defines the types of messages sent in the MESSAGE_HEADER structure MessageType field in every message, as specified in section 2.2.6.2. MESSAGE_TYPE_INITIATOR_NEGO type has the value 0, and MESSAGE_TYPE_ALERT type has the value 7. A value is a 4-octet number encoded in little-endian.

 enum
 {
     MESSAGE_TYPE_INITIATOR_NEGO = 0,
     MESSAGE_TYPE_ACCEPTOR_NEGO,
     MESSAGE_TYPE_INITIATOR_META_DATA,
     MESSAGE_TYPE_ACCEPTOR_META_DATA,
     MESSAGE_TYPE_CHALLENGE,
     MESSAGE_TYPE_AP_REQUEST,
     MESSAGE_TYPE_VERIFY,
     MESSAGE_TYPE_ALERT
 } MESSAGE_TYPE; 

MESSAGE_TYPE_INITIATOR_NEGO: Used in NEGO_MESSAGE, as specified in section 2.2.6.3, to begin negotiation of security mechanisms.

MESSAGE_TYPE_ACCEPTOR_NEGO: Used in NEGO_MESSAGE, as specified in section 2.2.6.3, for the acceptor's output token.

MESSAGE_TYPE_INITIATOR_META_DATA: Used in EXCHANGE_MESSAGE, as specified in section 2.2.6.4, to return a metadata token to NEGOEX for a security mechanism by the initiator. 

MESSAGE_TYPE_ACCEPTOR_META_DATA: Used in EXCHANGE_MESSAGE, as specified in section 2.2.6.4, to return a metadata token to NEGOEX for a security mechanism by the acceptor.

MESSAGE_TYPE_CHALLENGE: Used in EXCHANGE_MESSAGE, as specified in section 2.2.6.4, to encapsulate context tokens of the negotiated security mechanism by the acceptor. 

MESSAGE_TYPE_AP_REQUEST: Used in EXCHANGE_MESSAGE, as specified in section 2.2.6.4, to encapsulate context tokens of the negotiated security mechanism by the initiator.

MESSAGE_TYPE_VERIFY: Used in VERIFY_MESSAGE, as specified in section 2.2.6.5, when there is a shared key established that is used to sign all the NEGOEX messages in the negotiation context.

MESSAGE_TYPE_ALERT: Used in ALERT_MESSAGE, as specified in section 2.2.6.6, to indicate that the message needs to be resent. Contains the security mechanism, error codes, and various alert types.