1*53ee8cc1Swenshuai.xi /* 2*53ee8cc1Swenshuai.xi Copyright (c) NDS Limited 2010 3*53ee8cc1Swenshuai.xi 4*53ee8cc1Swenshuai.xi P R O P R I E T A R Y & C O N F I D E N T I A L 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi The copyright of this code and related documentation together with 7*53ee8cc1Swenshuai.xi any other associated intellectual property rights are vested in 8*53ee8cc1Swenshuai.xi NDS Limited and may not be used except in accordance with the terms 9*53ee8cc1Swenshuai.xi of the license that you have entered into with NDS Limited. 10*53ee8cc1Swenshuai.xi Use of this material without an express license from NDS Limited 11*53ee8cc1Swenshuai.xi shall be an infringement of copyright and any other intellectual 12*53ee8cc1Swenshuai.xi property rights that may be incorporated with this material. 13*53ee8cc1Swenshuai.xi */ 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xi #ifndef NSK2HDI_HEADER_H_ 16*53ee8cc1Swenshuai.xi #define NSK2HDI_HEADER_H_ 17*53ee8cc1Swenshuai.xi 18*53ee8cc1Swenshuai.xi /** 19*53ee8cc1Swenshuai.xi * @mainpage NSK2 API - HDI Bootloader API for NSK2 Chips 20*53ee8cc1Swenshuai.xi * 21*53ee8cc1Swenshuai.xi * @author Reuben Sumner, Julia Rabinovich 22*53ee8cc1Swenshuai.xi * @date 28/06/2011 23*53ee8cc1Swenshuai.xi * @version 4.01 24*53ee8cc1Swenshuai.xi * 25*53ee8cc1Swenshuai.xi * @file nsk2hdi_bl.h 26*53ee8cc1Swenshuai.xi 27*53ee8cc1Swenshuai.xi * @brief NSK2 API - HDI Bootloader API for NSK2 Chips 28*53ee8cc1Swenshuai.xi 29*53ee8cc1Swenshuai.xi * This file contains the definitions and functions of the NSK2 Bootloader supplement 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi * 32*53ee8cc1Swenshuai.xi */ 33*53ee8cc1Swenshuai.xi 34*53ee8cc1Swenshuai.xi #include "ndstypes.h" 35*53ee8cc1Swenshuai.xi #include "nsk_282.h" 36*53ee8cc1Swenshuai.xi #include "nsk_3014.h" 37*53ee8cc1Swenshuai.xi #include "hdi_121.h" 38*53ee8cc1Swenshuai.xi 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi //#define DebugEnable 41*53ee8cc1Swenshuai.xi 42*53ee8cc1Swenshuai.xi #define NSK2HDI_PVRENG 0 //DMX_PVR_EGN0 43*53ee8cc1Swenshuai.xi #define NSK2HDI_SPSPVRENG 0 //E_DSCMB_SPSPVR_ENG0 44*53ee8cc1Swenshuai.xi 45*53ee8cc1Swenshuai.xi #define NSK21_Change 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi 49*53ee8cc1Swenshuai.xi //typedef (void *)NSK2Util_AllocateMemory (MS_U32 u32Size, NSKUTIL_MEMORY_TYPE_e eMemType) 50*53ee8cc1Swenshuai.xi typedef void * (*P_NSK2_CbAllocateMemory)(MS_U32 u32Size, MS_BOOL bCached); 51*53ee8cc1Swenshuai.xi typedef MS_BOOL (*P_NSK2_CbFreeMemory)(void *pAddress, MS_BOOL bCached); 52*53ee8cc1Swenshuai.xi typedef MS_U32 (*P_NSK2_CbEcmGetType)(MS_U32 x_conn); 53*53ee8cc1Swenshuai.xi 54*53ee8cc1Swenshuai.xi //typedef MS_BOOL (*P_NSK2_CbDMXOpenStart)(NDS_ULONG xconn, NDS_USHORT es_pid, NDS_UBYTE es_type, MS_U8 *DmxIdSect); 55*53ee8cc1Swenshuai.xi 56*53ee8cc1Swenshuai.xi 57*53ee8cc1Swenshuai.xi typedef struct 58*53ee8cc1Swenshuai.xi { 59*53ee8cc1Swenshuai.xi MS_BOOL bHarmonizer; 60*53ee8cc1Swenshuai.xi P_NSK2_CbAllocateMemory cbAllocMemory; 61*53ee8cc1Swenshuai.xi P_NSK2_CbFreeMemory cbFreeMemory; 62*53ee8cc1Swenshuai.xi P_NSK2_CbEcmGetType cbEcmGetType; 63*53ee8cc1Swenshuai.xi } HDIPara_Init_t; 64*53ee8cc1Swenshuai.xi 65*53ee8cc1Swenshuai.xi MS_U32 MApi_NSK2HDI_Initial(HDIPara_Init_t *pInit); 66*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_IsHarmonizer(void); 67*53ee8cc1Swenshuai.xi void *MApi_NSK2_AllocateMemory(MS_U32 u32Size, MS_BOOL bCached); 68*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_FreeMemory(void *pAddress, MS_BOOL bCached); 69*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_DTV_ClosePidNo(MS_U8 PidNo); 70*53ee8cc1Swenshuai.xi MS_U32 MApi_NSK2_EcmGetFilterType(MS_U32 x_conn); 71*53ee8cc1Swenshuai.xi 72*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaSoCGroupDevice_Open (NSK2HDI_DEVICE_ID CaSoCGroup_ID, 73*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *CaSoCGroup_handle); 74*53ee8cc1Swenshuai.xi 75*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaSoCGroupDevice_Close (NSK2HDI_HANDLE CaSoCGroup_handle); 76*53ee8cc1Swenshuai.xi 77*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaSoCGroupDevice_EnumerateChildren( NSK2HDI_HANDLE CaSoCGroup_handle, 78*53ee8cc1Swenshuai.xi NDS_ULONG *child_device_num, 79*53ee8cc1Swenshuai.xi NSK2HDI_CHILD_DEVICE *child_device); 80*53ee8cc1Swenshuai.xi 81*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaSoCGroupDevice_RegisterEnumerationChangeCB (NSK2HDI_HANDLE CaSoCGroup_handle, 82*53ee8cc1Swenshuai.xi HDINSK2_ENUMERATION_CHANGE_CB_FN *cb_routine, 83*53ee8cc1Swenshuai.xi void *cookie); 84*53ee8cc1Swenshuai.xi 85*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelTable_Open (NSK2HDI_DEVICE_ID CmChannelTable_ID, 86*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *CmChannelTable_handle); 87*53ee8cc1Swenshuai.xi 88*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelTable_Close (NSK2HDI_HANDLE CmChannelTable_handle); 89*53ee8cc1Swenshuai.xi 90*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelTable_EnumerateChildren( NSK2HDI_HANDLE CmChannelTable_handle, 91*53ee8cc1Swenshuai.xi NDS_ULONG *child_device_num, 92*53ee8cc1Swenshuai.xi NSK2HDI_CHILD_DEVICE *child_device); 93*53ee8cc1Swenshuai.xi 94*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelGroup_Open (NSK2HDI_DEVICE_ID CmChannelGroup_ID, 95*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *CmChannelGroup_handle); 96*53ee8cc1Swenshuai.xi 97*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelGroup_Close (NSK2HDI_HANDLE CmChannelGroup_handle); 98*53ee8cc1Swenshuai.xi 99*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelGroup_GetProperties( NSK2HDI_HANDLE CmChannelGroup_handle, 100*53ee8cc1Swenshuai.xi NDS_ULONG request_id, 101*53ee8cc1Swenshuai.xi NDS_ULONG *desc_size, 102*53ee8cc1Swenshuai.xi NDS_UBYTE *desc); 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_Open (NSK2HDI_DEVICE_ID CmChannelGroup_ID, 105*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *CmChannele_handle); 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_Close (NSK2HDI_HANDLE CmChannele_handle); 108*53ee8cc1Swenshuai.xi 109*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_Configure ( NSK2HDI_HANDLE CmChannele_handle, 110*53ee8cc1Swenshuai.xi NDS_ULONG lda_desc_size, 111*53ee8cc1Swenshuai.xi const NDS_UBYTE *lda_desc, 112*53ee8cc1Swenshuai.xi NDS_ULONG esa_desc_size, 113*53ee8cc1Swenshuai.xi const NDS_UBYTE *esa_desc, 114*53ee8cc1Swenshuai.xi NDS_ULONG lsa_desc_size, 115*53ee8cc1Swenshuai.xi const NDS_UBYTE *lsa_desc); 116*53ee8cc1Swenshuai.xi 117*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_WriteTransportKey ( NSK2HDI_HANDLE CmChannelDevice_handle, 118*53ee8cc1Swenshuai.xi NDS_ULONG scb_in_out_size, 119*53ee8cc1Swenshuai.xi NDS_UBYTE *scb_in, 120*53ee8cc1Swenshuai.xi NDS_UBYTE *scb_out, 121*53ee8cc1Swenshuai.xi NDS_ULONG lda_desc_size, 122*53ee8cc1Swenshuai.xi const NDS_UBYTE *lda_desc, 123*53ee8cc1Swenshuai.xi NDS_ULONG esa_desc_size, 124*53ee8cc1Swenshuai.xi const NDS_UBYTE *esa_desc, 125*53ee8cc1Swenshuai.xi NDS_ULONG lsa_desc_size, 126*53ee8cc1Swenshuai.xi const NDS_UBYTE *lsa_desc); 127*53ee8cc1Swenshuai.xi 128*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_InvalidateKeys (NSK2HDI_HANDLE CmChannelDevice_handle); 129*53ee8cc1Swenshuai.xi 130*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CmChannelDevice_GetCookie(NSK2HDI_HANDLE CmChannelDevice_handle, 131*53ee8cc1Swenshuai.xi void **cookie); 132*53ee8cc1Swenshuai.xi 133*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_Open (NDS_ULONG xconn, 134*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *CaPIDProxy_handle); 135*53ee8cc1Swenshuai.xi 136*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_Close (NSK2HDI_HANDLE CaPIDProxy_handle); 137*53ee8cc1Swenshuai.xi 138*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_SetPrimaryStreamPID (NSK2HDI_HANDLE CaPIDProxy_handle, 139*53ee8cc1Swenshuai.xi NDS_USHORT es_pid); 140*53ee8cc1Swenshuai.xi 141*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_SetPrimaryStreamCmChannel (NSK2HDI_HANDLE CaPIDProxy_handle, 142*53ee8cc1Swenshuai.xi void *CmChannel_cookie); 143*53ee8cc1Swenshuai.xi 144*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_RemovePrimaryStreamCmChannel (NSK2HDI_HANDLE CaPIDProxy_handle); 145*53ee8cc1Swenshuai.xi 146*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_SetSecondaryStream (NSK2HDI_HANDLE CaPIDProxy_handle, 147*53ee8cc1Swenshuai.xi void *CmChannel_cookie, 148*53ee8cc1Swenshuai.xi NDS_USHORT es_pid, 149*53ee8cc1Swenshuai.xi NDS_ULONG merge_mode); 150*53ee8cc1Swenshuai.xi 151*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_CaPIDProxy_RemoveSecondaryStream (NSK2HDI_HANDLE CaPIDProxy_handle); 152*53ee8cc1Swenshuai.xi 153*53ee8cc1Swenshuai.xi 154*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_OtpDevice_Open (NSK2HDI_DEVICE_ID Otp_ID, 155*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *Otp_handle); 156*53ee8cc1Swenshuai.xi 157*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_OtpDevice_Close (NSK2HDI_HANDLE Otp_handle); 158*53ee8cc1Swenshuai.xi 159*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_OtpDevice_GetProperties( NSK2HDI_HANDLE Otp_handle, 160*53ee8cc1Swenshuai.xi NDS_ULONG request_id, 161*53ee8cc1Swenshuai.xi NDS_ULONG *desc_size, 162*53ee8cc1Swenshuai.xi NDS_UBYTE *desc); 163*53ee8cc1Swenshuai.xi 164*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Open (NSK2HDI_DEVICE_ID Nsk_ID, 165*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *Nsk_handle); 166*53ee8cc1Swenshuai.xi 167*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Close (NSK2HDI_HANDLE Nsk_handle); 168*53ee8cc1Swenshuai.xi 169*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Read8 (NSK2HDI_HANDLE Nsk_handle, 170*53ee8cc1Swenshuai.xi NDS_ULONG register_offset, 171*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 172*53ee8cc1Swenshuai.xi NDS_UBYTE *data); 173*53ee8cc1Swenshuai.xi 174*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Write8 (NSK2HDI_HANDLE Nsk_handle, 175*53ee8cc1Swenshuai.xi NDS_ULONG register_offset, 176*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 177*53ee8cc1Swenshuai.xi const NDS_UBYTE *data); 178*53ee8cc1Swenshuai.xi 179*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Read32 (NSK2HDI_HANDLE Nsk_handle, 180*53ee8cc1Swenshuai.xi NDS_ULONG register_offset, 181*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 182*53ee8cc1Swenshuai.xi NDS_ULONG *data); 183*53ee8cc1Swenshuai.xi 184*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_Write32 (NSK2HDI_HANDLE Nsk_handle, 185*53ee8cc1Swenshuai.xi NDS_ULONG register_offset, 186*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 187*53ee8cc1Swenshuai.xi const NDS_ULONG *data); 188*53ee8cc1Swenshuai.xi 189*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_ExecuteCmd (NSK2HDI_HANDLE Nsk_handle, 190*53ee8cc1Swenshuai.xi NDS_ULONG command, 191*53ee8cc1Swenshuai.xi NDS_ULONG control, 192*53ee8cc1Swenshuai.xi NDS_ULONG register_offset, 193*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 194*53ee8cc1Swenshuai.xi const NDS_UBYTE *data); 195*53ee8cc1Swenshuai.xi 196*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_RegisterEventCB ( NSK2HDI_HANDLE Nsk_handle, 197*53ee8cc1Swenshuai.xi HDINSK2_NSKEVENT_CB_FN *cb_routine, 198*53ee8cc1Swenshuai.xi void *cookie); 199*53ee8cc1Swenshuai.xi 200*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_AcknowledgeKte(NSK2HDI_HANDLE Nsk_handle); 201*53ee8cc1Swenshuai.xi 202*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_BasicInitializationComplete( NSK2HDI_HANDLE Nsk_handle, NDS_ULONG stage); 203*53ee8cc1Swenshuai.xi 204*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_UpdateNVCounter(NSK2HDI_HANDLE Nsk_handle); 205*53ee8cc1Swenshuai.xi 206*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_WriteOTPKey(NSK2HDI_HANDLE Nsk_handle, 207*53ee8cc1Swenshuai.xi NDS_ULONG desc_size, 208*53ee8cc1Swenshuai.xi const NDS_UBYTE *desc); 209*53ee8cc1Swenshuai.xi 210*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_NskDevice_SetOneShotGenInBit(NSK2HDI_HANDLE Nsk_handle, 211*53ee8cc1Swenshuai.xi NDS_ULONG bits); 212*53ee8cc1Swenshuai.xi 213*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MTable_Open (NSK2HDI_DEVICE_ID M2MTable_ID, 214*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *M2MTable_handle); 215*53ee8cc1Swenshuai.xi 216*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MTable_Close (NSK2HDI_HANDLE M2MTable_handle); 217*53ee8cc1Swenshuai.xi 218*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MTable_EnumerateChildren( NSK2HDI_HANDLE M2MTable_handle, 219*53ee8cc1Swenshuai.xi NDS_ULONG *child_device_num, 220*53ee8cc1Swenshuai.xi NSK2HDI_CHILD_DEVICE *child_device); 221*53ee8cc1Swenshuai.xi 222*53ee8cc1Swenshuai.xi 223*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_DMADevice_Open (NSK2HDI_DEVICE_ID DMADevice_ID, 224*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *DMADevice_handle); 225*53ee8cc1Swenshuai.xi 226*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_DMADevice_Close (NSK2HDI_HANDLE DMADevice_handle); 227*53ee8cc1Swenshuai.xi 228*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_DMADevice_GetProperties( NSK2HDI_HANDLE DMADevice_handle, 229*53ee8cc1Swenshuai.xi NDS_ULONG request_id, 230*53ee8cc1Swenshuai.xi NDS_ULONG *desc_size, 231*53ee8cc1Swenshuai.xi NDS_UBYTE *desc); 232*53ee8cc1Swenshuai.xi 233*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_DMADevice_WriteData( NSK2HDI_HANDLE DMADevice_handle, 234*53ee8cc1Swenshuai.xi void *M2MChannel_cookie, 235*53ee8cc1Swenshuai.xi NDS_ULONG desc_size, 236*53ee8cc1Swenshuai.xi const NDS_UBYTE *desc, 237*53ee8cc1Swenshuai.xi NDS_ULONG data_size, 238*53ee8cc1Swenshuai.xi NDS_UBYTE *in_data, 239*53ee8cc1Swenshuai.xi NDS_UBYTE *out_data); 240*53ee8cc1Swenshuai.xi 241*53ee8cc1Swenshuai.xi 242*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelGroup_Open (NSK2HDI_DEVICE_ID M2MChannelGroup_ID, 243*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *M2MChannelGroup_handle); 244*53ee8cc1Swenshuai.xi 245*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelGroup_Close (NSK2HDI_HANDLE M2MChannelGroup_handle); 246*53ee8cc1Swenshuai.xi 247*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelGroup_GetProperties( NSK2HDI_HANDLE M2MChannelGroup_handle, 248*53ee8cc1Swenshuai.xi NDS_ULONG request_id, 249*53ee8cc1Swenshuai.xi NDS_ULONG *desc_size, 250*53ee8cc1Swenshuai.xi NDS_UBYTE *desc); 251*53ee8cc1Swenshuai.xi 252*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_Open (NSK2HDI_DEVICE_ID M2MChannelGroup_ID, 253*53ee8cc1Swenshuai.xi NSK2HDI_HANDLE *M2MChannel_handle); 254*53ee8cc1Swenshuai.xi 255*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_Close (NSK2HDI_HANDLE M2MChannel_handle); 256*53ee8cc1Swenshuai.xi 257*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_GetCookie(NSK2HDI_HANDLE M2MChannele_handle, 258*53ee8cc1Swenshuai.xi void **cookie); 259*53ee8cc1Swenshuai.xi 260*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_Configure (NSK2HDI_HANDLE M2MChannele_handle, 261*53ee8cc1Swenshuai.xi NDS_ULONG desc_size, 262*53ee8cc1Swenshuai.xi const NDS_UBYTE *desc); 263*53ee8cc1Swenshuai.xi 264*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_WriteM2MKey(NSK2HDI_HANDLE M2MChannele_handle, 265*53ee8cc1Swenshuai.xi NDS_ULONG desc_size, 266*53ee8cc1Swenshuai.xi const NDS_UBYTE *desc); 267*53ee8cc1Swenshuai.xi 268*53ee8cc1Swenshuai.xi NSK2HDI_STATUS NSKHDI_M2MChannelDevice_NSKWriteM2MKey(NSK2HDI_HANDLE M2MChannele_handle, 269*53ee8cc1Swenshuai.xi NDS_ULONG desc_size, 270*53ee8cc1Swenshuai.xi const NDS_UBYTE *desc); 271*53ee8cc1Swenshuai.xi 272*53ee8cc1Swenshuai.xi 273*53ee8cc1Swenshuai.xi MS_U32 NSKHDI_GetHandle(NSK2HDI_HANDLE Handle); 274*53ee8cc1Swenshuai.xi 275*53ee8cc1Swenshuai.xi MS_U32 NSKHDI_IVDataTrans(MS_U8 NSK2HDI_Algo, MS_U8 *pu8IV1, MS_U8 *pu8IV2, MS_U32 *pu32HWIV); 276*53ee8cc1Swenshuai.xi 277*53ee8cc1Swenshuai.xi MS_U32 NSKHDI_AddDscmbConnect(NDS_ULONG xconn, NDS_USHORT es_pid, MS_U32 u32FltID); 278*53ee8cc1Swenshuai.xi MS_U32 NSKHDI_RemoveDscmbConnect(NDS_ULONG xconn, NDS_USHORT es_pid); 279*53ee8cc1Swenshuai.xi void NSK2HDI_ParamInit(void); 280*53ee8cc1Swenshuai.xi 281*53ee8cc1Swenshuai.xi #endif /*NSK2HDI_HEADER_H_*/ 282*53ee8cc1Swenshuai.xi 283*53ee8cc1Swenshuai.xi 284