#ifndef HOST_OP_CODE_H
#define HOST_OP_CODE_H
/*
   *  Object          : host_op_code.h
   *  State           :  %state%
   *  Creation date   :  Wed Nov 17 17:26:15 2004
   *  Last modified   :  %modify_time%
   */
  /** @file
   *  \brief this file containes the declerations of the HOST-SEP and vice versa op codes..
   *         
   *
   *  \version host_op_code.h#1:csrc:3
   *  \author avis
   *  \remarks Copyright (C) 2004 by Discretix Technologies Ltd.
   *           All Rights reserved
   */

/************* Include Files ****************/


/************************ Defines ******************************/


/************************ Enums ******************************/

typedef enum
{
    DX_SEP_HOST_SEP_PROTOCL_HOST_INIT_OP_CODE = 0x1,

	DX_SEP_HOST_SEP_PROTOCL_HOST_AES_INIT_OP_CODE = 0x2,
    DX_SEP_HOST_SEP_PROTOCL_HOST_AES_BLOCK_CODE = 0x3,
    DX_SEP_HOST_SEP_PROTOCL_HOST_AES_FINISH_OP_CODE = 0x4,
    DX_SEP_HOST_SEP_PROTOCL_HOST_AES_OP_CODE = 0x5,
    DX_SEP_HOST_SEP_PROTOCL_HOST_AES_WRAP_OP_CODE = 0x6,
    DX_SEP_HOST_SEP_PROTOCL_HOST_AES_UNWRAP_OP_CODE = 0x7,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_DES_INIT_OP_CODE = 0x10,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_DES_BLOCK_OP_CODE = 0x11,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_DES_OP_CODE = 0x12,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_HASH_INIT_OP_CODE = 0x20,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HASH_UPDATE_OP_CODE = 0x21,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HASH_FINISH_OP_CODE = 0x22,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HASH_OP_CODE = 0x23,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_HMAC_INIT_OP_CODE = 0x30,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HMAC_UPDATE_OP_CODE = 0x31,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HMAC_FINISH_OP_CODE = 0x32,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_HMAC_OP_CODE = 0x33,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RND_RESET_SEED_OP_CODE = 0x40,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RND_GENERAT_VECTOR_OP_CODE = 0x41,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RND_GENERAT_VECTOR_IN_RANGE_OP_CODE = 0x42,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_CMLA_KDF_OP_CODE = 0x50,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_CMLA_WRAP_OP_CODE = 0x51,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_CMLA_UNWRAP_OP_CODE = 0x52,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_CMLA_RSA_ENCRYPT_OP_CODE = 0x53,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_CMLA_RSA_DECRYPT_OP_CODE = 0x54,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RC4_INIT_OP_CODE = 0x60,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RC4_STREAM_OP_CODE = 0x61,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RC4_OP_CODE = 0x62,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_KG_OP_CODE = 0x70,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_BUILD_PUB_KEY_OP_CODE = 0x71,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_BUILD_PRIV_KEY_OP_CODE = 0x72,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_GET_PUB_KEY_OP_CODE = 0x73,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_MOD_SIZE_OP_CODE = 0x74,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_GET_PRIV_KEY_OP_CODE = 0x75,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_PRIM_ENC_OP_CODE = 0x76,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_PRIM_DEC_OP_CODE = 0x77,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_PRIM_SIGN_OP_CODE = 0x78,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_PRIM_VERIFY_OP_CODE = 0x79,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_ENC_OP_CODE = 0x7A,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_DEC_OP_CODE = 0x7B,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_SIGN_INIT_OP_CODE = 0x7C,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_SIGN_UPDATE_OP_CODE = 0x7D,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_SIGN_FINISH_OP_CODE = 0x7E,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_SIGN_OP_CODE = 0x7F,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_VERIFY_INIT_OP_CODE = 0x80,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_VERIFY_UPDATE_OP_CODE = 0x81,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_VERIFY_FINISH_OP_CODE = 0x82,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_VERIFY_OP_CODE = 0x83,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_RSA_GET_PRIV_KEY_MODULUS_OP_CODE = 0x84,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_DH_GEN_PUB_PRV_OP_CODE = 0x90,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_DH_GET_SEC_KEY_OP_CODE = 0x91,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_DH_DER_KEY_OP_CODE = 0x92,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_DH_X942_GET_SEC_DATA_OP_CODE = 0x93,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_DH_X942_GET_HYBRID_SEC_DATA_OP_CODE = 0x94,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_KG_OP_CODE = 0xA0,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_BUILD_PUB_KEY_OP_CODE = 0xA1,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_BUILD_PRIV_KEY_OP_CODE = 0xA2,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_EXPORT_PUB_KEY_OP_CODE = 0xA3,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_ELGAMAL_ENC_OP_CODE = 0xA4,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_ELGAMAL_DEC_OP_CODE = 0xA5,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_SIGN_INIT_OP_CODE = 0xA6,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_SIGN_UPDATE_OP_CODE = 0xA7,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_SIGN_FINISH_OP_CODE = 0xA8,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_SIGN_OP_CODE = 0xA9,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_VERIFY_INIT_OP_CODE = 0xAA,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_VERIFY_UPDATE_OP_CODE = 0xAB,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_VERIFY_FINISH_OP_CODE = 0xAC,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_VERIFY_OP_CODE = 0xAD,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_ECC_DH_OP_CODE = 0xAE,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_GET_VERSION_OP_CODE = 0xB0,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_SELF_TEST_OP_CODE = 0xB1,

	    /* CRYS_SST Op Codes */
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_AES_INIT_OP_CODE = 0xC0,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_AES_OP_CODE = 0xC1,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_DES_INIT_OP_CODE = 0xC2,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_DES_OP_CODE = 0xC3,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_HMAC_INIT_OP_CODE = 0xC4,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_HMAC_OP_CODE = 0xC5,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_ENC_OP_CODE = 0xC6,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_DEC_OP_CODE = 0xC7,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_SIGN_INIT_OP_CODE = 0xC8,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_SIGN_OP_CODE = 0xC9,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_VERIFY_INIT_OP_CODE = 0xCA,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_VERIFY_OP_CODE = 0xCB,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_PRIM_ENC_OP_CODE = 0xCC,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_RSA_PRIM_DEC_OP_CODE = 0xCD,

    /* CRYS_SST_KG Op Codes */
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_KG_AES_OP_CODE = 0xD0,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_KG_DES_OP_CODE = 0xD1,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_KG_HMAC_OP_CODE = 0xD2,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_KG_RSA_OP_CODE = 0xD3,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_KG_RSA_CRT_OP_CODE = 0xD4,

    /* CRYS_KMNG Op Codes */

    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_AES_INIT_OP_CODE = 0xE1,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_AES_OP_CODE = 0xE2,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_DES_INIT_OP_CODE = 0xE3,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_DES_OP_CODE = 0xE4,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_HMAC_INIT_OP_CODE = 0xE5,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_HMAC_OP_CODE = 0xE6,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_ENC_OP_CODE = 0xE7,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_DEC_OP_CODE = 0xE8,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_SIGN_INIT_OP_CODE = 0xE9,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_SIGN_OP_CODE = 0xEA,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_VERIFY_INIT_OP_CODE = 0xEB,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_VERIFY_OP_CODE = 0xEC,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_PRIM_ENC_OP_CODE = 0xED,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RSA_PRIM_DEC_OP_CODE = 0xEE,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_AES_WRAP_OP_CODE = 0xEF,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_AES_UNWRAP_OP_CODE = 0xF1,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_DH_PKCS3_GET_SECRET_KEY_OP_CODE = 0xF2,


	DX_SEP_HOST_SEP_PROTOCOL_HOST_CREATE_PLATFORM_WRAPPER_KEY_OP_CODE = 0x100,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_INC_AND_GET_MON_COUNTER_OP_CODE = 0x101,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_GET_MON_COUNTER_VAL_OP_CODE = 0x102,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_CREATE_MON_COUNTER_OP_CODE = 0x103,
	
	DX_SEP_HOST_SEP_PROTOCOL_HOST_SET_RKEK_OTP_OP_CODE = 0x104,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_SET_RSA_PUB_KEY_HASH_OTP_OP_CODE = 0x105,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_RSA_BUILD_VERIFY_PUB_KEY_OP_CODE = 0x106,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_GET_LCS_OP_CODE = 0x107,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_UPDATE_LCS_CODE = 0x108,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_GENERATE_VECTOR_OP_CODE = 0x109,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_GET_ROM_VERSION_OP_CODE  = 0x10A,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_GET_RAM_VERSION_OP_CODE = 0x10B,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_RESET_WARM_BOOT_IND_OP_CODE = 0x10C,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_MNG_RESET_SEED_OP_CODE = 0x10D,
    
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KDF_KEY_DERIV_FUNC_OP_CODE = 0x111,

	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_CREATE_KEY_RING_OP_CODE = 0x150,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_CREATE_KEY_OP_CODE = 0x151,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_IMPORT_SYM_KEY_OP_CODE = 0x152,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_IMPORT_RSA_KEY_OP_CODE = 0x153,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_IMPORT_DH_KEY_OP_CODE = 0x154,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_EXPORT_SYM_KEY_OP_CODE = 0x155,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_EXPORT_RSA_KEY_OP_CODE = 0x156,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_EXPORT_DH_KEY_OP_CODE = 0x157,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_AUTHORIZE_KEY_OP_CODE = 0x158,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_TRANSFER_KEY_OP_CODE = 0x159,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_ACTIVATE_AES_KEY_OP_CODE = 0x15A,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_ACTIVATE_DES_KEY_OP_CODE = 0x15B,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_ACTIVATE_HMAC_KEY_OP_CODE = 0x15C,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_ACTIVATE_RSA_KEY_OP_CODE = 0x15D,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_ACTIVATE_DH_KEY_OP_CODE = 0x15E,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_CALC_KEY_RING_MAC_OP_CODE = 0x15F,
	DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_CALC_AND_VERIFY_KEY_RING_MAC_OP_CODE = 0x160,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_RETRIEVE_KEY_CONFIGURATION_OP_CODE = 0x161,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_UPDATE_KEY_SPECIF_DATA_OP_CODE  = 0x162,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_INIT_OP_CODE = 0x163,
    DX_SEP_HOST_SEP_PROTOCOL_HOST_KMNG_READ_DH_KEY_OP_CODE = 0x164,
   
	
	  /* FLOW codes */
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_INIT_AES_OP_CODE = 0x200,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_INIT_DES_OP_CODE = 0x201,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_INIT_HASH_OP_CODE = 0x202,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_INIT_HMAC_OP_CODE = 0x203,	  
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_ADD_OP_CODE = 0x204,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_FINISH_OP_CODE = 0x205,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_GET_RESULTS_OP_CODE = 0x206,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_TERMINATE_OP_CODE = 0x207,	  
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_FLOW_INIT_RC4_OP_CODE = 0x208,
	  
	  /* other codes */
     
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_PRIVATE_PROJECT_FIRST_OP_CODE	=   1000,
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_PRIVATE_PROJECT_LAST_OP_CODE	=   1200,
    
      DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_FIRST_OP_CODE               =   0x500,    /*1280*/
      DX_SEP_HOST_SEP_PROTOCOL_HOST_SST_LAST_OP_CODE                =   0x5ff,    /*1535*/
    
      DX_SEP_HOST_SEP_PROTOCOL_HOST_NVS_FIRST_OP_CODE               =   0x600,    /*1536*/
      DX_SEP_HOST_SEP_PROTOCOL_HOST_NVS_LAST_OP_CODE                =   0x60f,    /*1551*/

	  DX_SEP_HOST_SEP_PROTOCOL_HOST_WMDRM_FIRST_OP_CODE	=	0x700,/*1792*/
	  DX_SEP_HOST_SEP_PROTOCOL_HOST_WMDRM_LAST_OP_CODE	=	0x7FF,/*2047*/

      DX_SEP_HOST_SEP_PROTOCOL_HOST_TLK_ODRM_FIRST_OP_CODE          =   0xA01,    /*2561*/
      DX_SEP_HOST_SEP_PROTOCOL_HOST_TLK_ODRM_LAST_OP_CODE           =   0xAFF,    /*2815*/

	  DX_SEP_HOST_SEP_PROTOCL_MAX_OP_CODE,
	  DX_SEP_HOST_SEP_GENERAL_CODE = 0x7FFFFFFF 
    
}DX_SEP_HOST_SEP_OP_CODE_type;
/************************ Typedefs ******************************/


/************************ Global Data ******************************/


/************* Private function prototypes ****************/


#endif

