const unsigned short CompositeDelegation = 512;
    const unsigned short Confidentiality = 4;
    const unsigned short DelegationByClient = 2048;
    const unsigned short DetectMisordering = 16;
    const unsigned short DetectReplay = 8;
    const unsigned short EstablishTrustInClient = 64;
    const unsigned short EstablishTrustInTarget = 32;
    const unsigned short IdentityAssertion = 1024;
    const unsigned short Integrity = 2;
    const unsigned short NoDelegation = 128;
    const unsigned short NoProtection = 1;
    const unsigned long SCS_GeneralNames = 324816;
    const unsigned long SCS_GSSExportedName = 324817;
    const unsigned short SimpleDelegation = 256;
    const unsigned long TAG_CSI_SEC_MECH_LIST = 33;
    const unsigned long TAG_NULL_TAG = 34;
    const unsigned long TAG_SECIOP_SEC_TRANS = 35;
    const unsigned long TAG_TLS_SEC_TRANS = 36;
    struct AS_ContextSec
    {
        CSIIOP::AssociationOptions target_supports;
        CSIIOP::AssociationOptions target_requires;
        CSI::OID client_authentication_mech;
        CSI::GSS_NT_ExportedName target_name;
    };
    
    typedef unsigned short AssociationOptions;
    struct CompoundSecMech
    {
        CSIIOP::AssociationOptions target_requires;
        IOP::TaggedComponent transport_mech;
        CSIIOP::AS_ContextSec as_context_mech;
        CSIIOP::SAS_ContextSec sas_context_mech;
    };
    
    typedef sequence < CSIIOP::CompoundSecMech > CompoundSecMechanisms;
    struct CompoundSecMechList
    {
        boolean stateful;
        CSIIOP::CompoundSecMechanisms mechanism_list;
    };
    
    struct SAS_ContextSec
    {
        CSIIOP::AssociationOptions target_supports;
        CSIIOP::AssociationOptions target_requires;
        CSIIOP::ServiceConfigurationList privilege_authorities;
        CSI::OIDList supported_naming_mechanisms;
        CSI::IdentityTokenType supported_identity_types;
    };
    
    struct SECIOP_SEC_TRANS
    {
        CSIIOP::AssociationOptions target_supports;
        CSIIOP::AssociationOptions target_requires;
        CSI::OID mech_oid;
        CSI::GSS_NT_ExportedName target_name;
        CSIIOP::TransportAddressList addresses;
    };
    
    struct ServiceConfiguration
    {
        CSIIOP::ServiceConfigurationSyntax syntax;
        CSIIOP::ServiceSpecificName name;
    };
    
    typedef sequence < CSIIOP::ServiceConfiguration > ServiceConfigurationList;
    typedef unsigned long ServiceConfigurationSyntax;
    typedef sequence < octet > ServiceSpecificName;
    struct TLS_SEC_TRANS
    {
        CSIIOP::AssociationOptions target_supports;
        CSIIOP::AssociationOptions target_requires;
        CSIIOP::TransportAddressList addresses;
    };
    
    struct TransportAddress
    {
        string host_name;
        unsigned short port;
    };
    
    typedef sequence < CSIIOP::TransportAddress > TransportAddressList;