DSMCC  15.3.1
include/siqfuncs.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
00003  * Copyright © 2013 Ocean Blue Software Ltd
00004  *
00005  * This file is part of a DTVKit Software Component
00006  * You are permitted to copy, modify or distribute this file subject to the terms
00007  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
00008  * 
00009  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
00010  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
00011  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
00012  * 
00013  * If you or your organisation is not a member of DTVKit then you have access
00014  * to this source code outside of the terms of the licence agreement
00015  * and you are expected to delete this and any associated files immediately.
00016  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
00017  *******************************************************************************/
00025 #ifndef _SIQFUNCS_H
00026 #define _SIQFUNCS_H
00027 
00028 typedef void*  H_PmtRef;
00029 
00030 /*!****************************************************************************
00031  * @brief   Inform the DSM-CC client that parsing of PMT data is about to start
00032  *          The return value is passed to subsequent PMT parsing call back
00033  *          functions: i.e. F_ParseDataBcastId and F_PmtParseDone
00034  * @param   U16BIT     serviceId    Service id of the PMT
00035  * @return  H_PmtRef  - handle or user data of client
00036  ******************************************************************************/
00037 typedef H_PmtRef (*F_PmtParseInit)( U16BIT serviceId );
00038 
00039 /*!****************************************************************************
00040  * @brief   Parse data broadcast id descriptor for recognised application(s)
00041  *          SIQ wants to know whether this PMT stream can be used to launch
00042  *          a DSM-CC boot carousel. When there is more than one choice, SIQ
00043  *          chooses the PMT stream that had the highest preference value
00044  *          returned by this function.
00045  *          Note that this may be called multiple times for a PMT stream,
00046  *          and always called from within SIQ_ProcessPmt().
00047  *          Service ID and carousel ID are provided for convenience and are
00048  *          not required for a basic implementation of this function.
00049  * @param   H_PmtRef   pmtref       reference supplied by F_PmtParseInit
00050  * @param   U32BIT     carouselId   Carousel associated with this descriptor
00051  * @param   U8BIT*     dbcPtr       Pointer to data broadcast id descriptor
00052  * @param   U8BIT      dbcLen       Length of data broadcast id descriptor
00053  * @return  U32BIT - Preference value for this data broadcast id and
00054  *          associated application type. Zero means that data broadcast id or
00055  *          application type is not recognised, and SIQ will ignore it.
00056  ******************************************************************************/
00057 typedef U32BIT (*F_ParseDataBcastId)( H_PmtRef pmtref, U32BIT carouselId,
00058                                       U8BIT* dbcPtr, U8BIT dbcLen );
00059 
00060 /*!****************************************************************************
00061  * @brief   Inform the DSM-CC client that parsing of PMT data has completed
00062  * @param   H_PmtRef pmtref reference supplied by F_PmtParseInit
00063  * @return  void
00064  ******************************************************************************/
00065 typedef void (*F_PmtParseDone)( H_PmtRef pmtref );
00066 
00067 /*!****************************************************************************
00068  * @brief   Callback to inform of first or changed AIT info in PMT
00069  * @param   U16BIT     serviceId    Service id.
00070  * @param   U16BIT     type         Type of AIT application
00071  * @param   U16BIT     pid          PID containing AIT
00072  * @param   U8BIT      version      Current AIT version
00073  * @return  void
00074  ******************************************************************************/
00075 typedef void (*F_NotifyAitInfo)( U16BIT serviceId, U16BIT appType,
00076                                  U16BIT pid, U8BIT version );
00077 
00078 #endif //_SIQFUNCS_H
 All Data Structures Files Functions Typedefs