const unsigned short AgreedDefault = 5;
const unsigned short DES_CBC = 22;
const unsigned short DES_CBC_DES_MAC = 10;
const unsigned short DES_CBC_MD5 = 11;
const unsigned short DES_CBC_SOURCE = 24;
const unsigned short DES_MAC = 12;
const unsigned short FullSecurity = 1;
const unsigned short LowGradeConfidentiality = 3;
const unsigned short MD5 = 13;
const unsigned short MD5_DES_CBC = 21;
const unsigned short MD5_DES_CBC_SOURCE = 23;
const unsigned short MD5_RSA = 20;
const unsigned short NoDataConfidentiality = 2;
const unsigned long TAG_ASSOCIATION_OPTIONS = 13;
const unsigned long TAG_CSI_ECMA_Hybrid_SEC_MECH = 19;
const unsigned long TAG_CSI_ECMA_Public_SEC_MECH = 21;
const unsigned long TAG_CSI_ECMA_Secret_SEC_MECH = 18;
const unsigned long TAG_GENERIC_SEC_MECH = 22;
const unsigned long TAG_KerberosV5_SEC_MECH = 17;
const unsigned long TAG_SEC_NAME = 14;
const unsigned long TAG_SECIOP_SEC_TRANS = 35;
const unsigned long TAG_SPKM_1_SEC_MECH = 15;
const unsigned long TAG_SPKM_2_SEC_MECH = 16;
struct CompleteEstablishContext { SECIOP::ContextId client_context_id; boolean target_context_id_valid; SECIOP::ContextId target_context_id; final_context_token; };
typedef unsigned long long ContextId;
enum ContextIdDefn { CIDClient, CIDPeer, CIDSender };
enum ContextTokenType { SecTokenTypeWrap, SecTokenTypeMIC };
struct ContinueEstablishContext { SECIOP::ContextId client_context_id; continuation_context_token; };
typedef unsigned short CryptographicProfile;
typedef sequence < SECIOP::CryptographicProfile > CryptographicProfileList;
struct CSI_ECMA_Hybrid { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct CSI_ECMA_Public { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct CSI_ECMA_Secret { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct DiscardContext { SECIOP::ContextIdDefn message_context_id_defn; SECIOP::ContextId message_context_id; discard_context_token; };
struct EstablishContext { SECIOP::ContextId client_context_id; initial_context_token; };
struct GenericMechanismInfo { security_mechanism_type; mech_specific_data; components; };
struct KerberosV5 { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct MessageError { SECIOP::ContextIdDefn message_context_id_defn; SECIOP::ContextId message_context_id; long major_status; long minor_status; };
struct MessageInContext { SECIOP::ContextIdDefn message_context_id_defn; SECIOP::ContextId message_context_id; SECIOP::ContextTokenType message_context_type; message_protection_token; };
enum MsgType { MTEstablishContext, MTCompleteEstablishContext, MTContinueEstablishContext, MTDiscardContext, MTMessageError, MTMessageInContext };
struct SECIOP_SEC_TRANS { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; Security::OID mech_oid; Security::GSS_NT_ExportedName target_name; unsigned short port; };
typedef sequence < octet > SecurityName;
struct SequencingHeader { octet control_state; unsigned long direct_sequence_number; unsigned long reverse_sequence_number; unsigned long reverse_window; };
struct SPKM_1 { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct SPKM_2 { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; SECIOP::CryptographicProfileList crypto_profile; SECIOP::SecurityName security_name; };
struct TargetAssociationOptions { Security::AssociationOptions target_supports; Security::AssociationOptions target_requires; };