DSMCC  17.9.0
 All Data Structures Files Functions Typedefs
dataCarousel.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2001 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
26 #ifndef _DATACAROUSEL_H_
27 #define _DATACAROUSEL_H_
28 
29 
30 /*-------------------------------- Includes --------------------------------*/
31 
32 #include "clDsmSystem.h"
33 
34 #include "linkList.h"
35 #include "module.h"
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
41 
42 /*----------------------------- Exported Macros ----------------------------*/
43 
44 #define INVALID_TRANSIDVER 0xFFFF
45 #define DC_IN_OC(pDC) \
46  (DSC_RootCrslMagic(LLParent(pDC, OC_DATA_CAROUSEL_LIST)) == OC_MAGIC) ? TRUE : FALSE
47 #define MAKE_MODULE_REF(dlid,mid) (((U32BIT)dlid) << 16 | mid)
48 
49 /*------------------------------ Exported Types ----------------------------*/
50 
51 typedef struct
52 {
53  U16BIT blockSize;
54  U16BIT numberOfModules; /* -- NB. Value stored here not currently used */
56 
57 
58 typedef struct s_DataCarousel
59 {
60  S_LLObject llData[NUM_LISTS_DATA_CAROUSEL];
61  U16BIT dataCarouselId;
62  U16BIT transIdver;
63  U32BIT diiCrc;
64 
65  /* -- DII filter info */
67  P_SecFilterInfo pDiiSf;
68 
69  U16BIT diiRequestCount;
70  U16BIT diiMonitorCount;
71 
72  DiiInfo_t diiInfo;
73  U16BIT diiMsgDataLen;
74  MemPtr hDiiMsgData;
75 
76  P_LLControl llcDcModules;
77  P_LLControl llcModuleAcquires;
78  P_LLControl llcLoadRequests;
80 
81 
82 /*------------------------------ Exported Data -----------------------------*/
83 
84 
85 /*--------------------------- Exported Prototypes --------------------------*/
86 
87 E_DscError DSC_DataCrslCreate( P_DsmCoreInst idp, P_RootCarousel pRC,
88  P_DeliveryParaTap pTap, P_DataCarousel *ppDataCarousel );
89 
90 void DSC_DataCrslDestroy( P_DsmCoreInst idp, P_DataCarousel pDC );
91 
92 void DSC_DataCrslDelete( P_DsmCoreInst idp, P_DataCarousel pDC );
93 
94 P_DataCarousel DSC_DataCrslListFindById( P_LLControl pDcList, U32BIT transactionId );
95 
96 E_DscError DSC_DataCrslAcquireStart( P_DsmCoreInst idp, P_DataCarousel pDC, E_SFPriority sfPriority );
97 E_DscError DSC_DataCrslAcquireRestart( P_DsmCoreInst idp, P_DataCarousel pDC );
98 void DSC_DataCrslAcquireStop( P_DsmCoreInst idp, P_DataCarousel pDC, E_SFPriority sfPriority );
99 
100 U16BIT DSC_DataCrslGetServiceId( P_DataCarousel pDC );
101 U16BIT DSC_DataCrslGetPid( P_DataCarousel pDC );
102 
103 P_Module DSC_DataCrslFirstModule( P_DataCarousel pDC );
104 
105 BOOLEAN DSC_DataCrslSsuModuleUpdate( P_DsmCoreInst idp, P_Module pModule );
106 
107 void DSC_DataCrslUnloadModule( P_DsmCoreInst idp, P_DataCarousel pDC,
108  U16BIT moduleId );
109 
110 E_DscError DSC_DataCrslNewModuleLoad( P_DsmCoreInst idp, P_DataCarousel pDC, P_Module pModule );
111 
112 E_DscError DSC_DataCrslUpdate( P_DsmCoreInst idp, P_DataCarousel pDC, U32BIT transactionId,
113  U8BIT *pDiiMsg, U16BIT diiMsgDataLen );
114 
115 void DSC_DataCrslCheckSsuStatus( P_DsmCoreInst idp, P_DataCarousel pDC );
116 
117 /*----------------------------------------------------------------------------*/
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 #endif /* _DATACAROUSEL_H_ */
General include file for clDsm library internal definitions.
Header to the 'module' module - Functions/methods for creating/destroying and managing attributes of ...