xref: /utopia/UTPA2-700.0.x/modules/dscmb/api/nsk2hdi/nsk2hdi_utility.c (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi 
2*53ee8cc1Swenshuai.xi 
3*53ee8cc1Swenshuai.xi #include <stdlib.h>
4*53ee8cc1Swenshuai.xi #include <string.h>
5*53ee8cc1Swenshuai.xi #include "MsCommon.h"
6*53ee8cc1Swenshuai.xi 
7*53ee8cc1Swenshuai.xi #include "nsk_dbg.h"
8*53ee8cc1Swenshuai.xi #include "nsk2hdi_header.h"
9*53ee8cc1Swenshuai.xi #include "apiDMX.h"
10*53ee8cc1Swenshuai.xi 
11*53ee8cc1Swenshuai.xi /*****************************************************************************\
12*53ee8cc1Swenshuai.xi   \Definitions
13*53ee8cc1Swenshuai.xi \*****************************************************************************/
14*53ee8cc1Swenshuai.xi 
15*53ee8cc1Swenshuai.xi 
16*53ee8cc1Swenshuai.xi /*****************************************************************************\
17*53ee8cc1Swenshuai.xi   \ global variables
18*53ee8cc1Swenshuai.xi \*****************************************************************************/
19*53ee8cc1Swenshuai.xi static P_NSK2_CbAllocateMemory _AllocateMemory = NULL;
20*53ee8cc1Swenshuai.xi static P_NSK2_CbFreeMemory	   _FreeMemory	= NULL;
21*53ee8cc1Swenshuai.xi static P_NSK2_CbEcmGetType	   _EcmGetType = NULL;
22*53ee8cc1Swenshuai.xi static MS_BOOL				   _bRunHarmonizer = FALSE;
23*53ee8cc1Swenshuai.xi 
24*53ee8cc1Swenshuai.xi /*****************************************************************************\
25*53ee8cc1Swenshuai.xi   \ NSK2HDI general functions
26*53ee8cc1Swenshuai.xi \*****************************************************************************/
27*53ee8cc1Swenshuai.xi 
MApi_NSK2HDI_Initial(HDIPara_Init_t * pInit)28*53ee8cc1Swenshuai.xi MS_U32 MApi_NSK2HDI_Initial(HDIPara_Init_t *pInit)
29*53ee8cc1Swenshuai.xi {
30*53ee8cc1Swenshuai.xi     _bRunHarmonizer = pInit->bHarmonizer;
31*53ee8cc1Swenshuai.xi     _AllocateMemory = pInit->cbAllocMemory;
32*53ee8cc1Swenshuai.xi     _EcmGetType     = pInit->cbEcmGetType;
33*53ee8cc1Swenshuai.xi     _FreeMemory     = pInit->cbFreeMemory;
34*53ee8cc1Swenshuai.xi     return TRUE;
35*53ee8cc1Swenshuai.xi }
36*53ee8cc1Swenshuai.xi 
37*53ee8cc1Swenshuai.xi 
MApi_NSK2_IsHarmonizer(void)38*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_IsHarmonizer(void)
39*53ee8cc1Swenshuai.xi {
40*53ee8cc1Swenshuai.xi     return _bRunHarmonizer;
41*53ee8cc1Swenshuai.xi }
42*53ee8cc1Swenshuai.xi 
MApi_NSK2_AllocateMemory(MS_U32 u32Size,MS_BOOL bCached)43*53ee8cc1Swenshuai.xi void *MApi_NSK2_AllocateMemory(MS_U32 u32Size, MS_BOOL bCached)
44*53ee8cc1Swenshuai.xi {
45*53ee8cc1Swenshuai.xi     if( _AllocateMemory != NULL)
46*53ee8cc1Swenshuai.xi     {
47*53ee8cc1Swenshuai.xi         void *pBuf = NULL;
48*53ee8cc1Swenshuai.xi         pBuf = _AllocateMemory( u32Size, bCached);
49*53ee8cc1Swenshuai.xi 
50*53ee8cc1Swenshuai.xi         if(pBuf == NULL)
51*53ee8cc1Swenshuai.xi         {
52*53ee8cc1Swenshuai.xi             printf("memory allocate fail\n");
53*53ee8cc1Swenshuai.xi         }
54*53ee8cc1Swenshuai.xi         return pBuf;
55*53ee8cc1Swenshuai.xi     }
56*53ee8cc1Swenshuai.xi     else
57*53ee8cc1Swenshuai.xi     {
58*53ee8cc1Swenshuai.xi         return NULL;
59*53ee8cc1Swenshuai.xi     }
60*53ee8cc1Swenshuai.xi 
61*53ee8cc1Swenshuai.xi }
62*53ee8cc1Swenshuai.xi 
MApi_NSK2_FreeMemory(void * pAddress,MS_BOOL bCached)63*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_FreeMemory(void *pAddress, MS_BOOL bCached)
64*53ee8cc1Swenshuai.xi {
65*53ee8cc1Swenshuai.xi     if( _FreeMemory != NULL)
66*53ee8cc1Swenshuai.xi     {
67*53ee8cc1Swenshuai.xi         return _FreeMemory(pAddress,bCached);
68*53ee8cc1Swenshuai.xi     }
69*53ee8cc1Swenshuai.xi     else
70*53ee8cc1Swenshuai.xi     {
71*53ee8cc1Swenshuai.xi         return FALSE;
72*53ee8cc1Swenshuai.xi     }
73*53ee8cc1Swenshuai.xi }
74*53ee8cc1Swenshuai.xi 
MApi_NSK2_EcmGetFilterType(MS_U32 x_conn)75*53ee8cc1Swenshuai.xi MS_U32 MApi_NSK2_EcmGetFilterType(MS_U32 x_conn)
76*53ee8cc1Swenshuai.xi {
77*53ee8cc1Swenshuai.xi     return _EcmGetType(x_conn);
78*53ee8cc1Swenshuai.xi }
79*53ee8cc1Swenshuai.xi 
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi 
MApi_NSK2_DTV_ClosePidNo(MS_U8 PidNo)82*53ee8cc1Swenshuai.xi MS_BOOL MApi_NSK2_DTV_ClosePidNo(MS_U8 PidNo)
83*53ee8cc1Swenshuai.xi {
84*53ee8cc1Swenshuai.xi     if( MApi_DMX_Stop(PidNo) != DMX_FILTER_STATUS_OK)
85*53ee8cc1Swenshuai.xi     {
86*53ee8cc1Swenshuai.xi         NSK_ERROR(("DMX Stop error\n"));
87*53ee8cc1Swenshuai.xi     }
88*53ee8cc1Swenshuai.xi 
89*53ee8cc1Swenshuai.xi     if( MApi_DMX_Close(PidNo) != DMX_FILTER_STATUS_OK)
90*53ee8cc1Swenshuai.xi     {
91*53ee8cc1Swenshuai.xi         NSK_ERROR(("DMX Close error\n"));
92*53ee8cc1Swenshuai.xi     }
93*53ee8cc1Swenshuai.xi     return TRUE;
94*53ee8cc1Swenshuai.xi }
95*53ee8cc1Swenshuai.xi 
96