//File: DCE_CIOPSecurity.idl
//Part of the Security Service
//OMG File: 02-03-12

#if !defined(_DCE_CIOP_SECURITY_IDL)
#define _DCE_CIOP_SECURITY_IDL

#ifdef _PRE_3_0_COMPILER_
#include <IOP.idl>
#include <Security.idl>
#pragma prefix "omg.org"
#else
import ::IOP;
import ::Security;
#endif // _PRE_3_0_COMPILER_

module DCE_CIOPSecurity {

#ifndef _PRE_3_0_COMPILER_
	typeprefix DCE_CIOPSecurity "omg.org";
#endif // _PRE_3_0_COMPILER_

	const IOP::ComponentId 							TAG_DCE_SEC_MECH = 103;
	typedef unsigned short							DCEAuthorization; 
	const DCEAuthorization 							DCEAuthorizationNone = 0;
	const DCEAuthorization 							DCEAuthorizationName = 1;
	const DCEAuthorization 							DCEAuthorizationDCE = 2;
	// since consts of type octet are not allowed in IDL the constant
	// values that can be assigned to the authorization_service field
	// in the DCESecurityMechanismInfo is declared as unsigned shorts.
	// when they actually get assigned to the authorization_service field
	// they should be assigned as octets.
	struct DCESecurityMechanismInfo {
		octet										authorization_service;
		sequence<IOP::TaggedComponent>										components;
	};
};
#endif /* _DCE_CIOP_SECURITY_IDL */
