DSMCC  15.3.1
include/dsm_types.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
00003  * Copyright © 2014 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 _DSM_TYPES_H
00026 #define _DSM_TYPES_H
00027 
00028 #include "dvblocator.h"
00029 
00030 #define INVALID_CAROUSEL_ID      0xFFFFFFFF
00031 #define UNKNOWN_CAROUSEL_ID      0xFFFFFFFE
00032 
00033 /* Enum used to specify type of behaviour in unload type operation.
00034  * The unload operation (normally on carousel) can cause any pending
00035  * object load requests to either:
00036  *   1. forced to abort, or
00037  *   2. kept pending until a new carousel is loaded.
00038  *  This enum is used in relevant API functions.
00039  */
00040 typedef enum
00041 {
00042    RST_MODE_FORCE,
00043    RST_MODE_PENDING,
00044 } E_DsmRstMode;
00045 
00046 /* Enum used to report Object Carousel load status */
00047 typedef enum {
00048     /*0*/ OC_LOAD_UNINITIATED = 0,
00049     /*1*/ OC_LOAD_IN_PROGRESS,
00050     /*2*/ OC_LOAD_BOOTED,
00051     /*3*/ OC_LOAD_COMPLETED,
00052     /*4*/ OC_LOAD_ABORTED_TIMEOUT,
00053     /*5*/ OC_LOAD_ABORTED_PATH_ERROR,
00054     /*6*/ OC_LOAD_ABORTED_ERROR,
00055     /*7*/ OC_LOAD_ABORTED_UNLOAD,
00056     /*8*/ OC_LOAD_FILE_GROUP_CHANGE
00057 } E_OCLoadStatus;
00058 
00059 /* Carousel SRG User Info for File Groups - available once carousel is loaded
00060  * - used by Australia/South Africa MHEG profile */
00061 typedef struct {
00062     U16BIT     owner_id;
00063     U16BIT     group_id;
00064     U8BIT      group_priority;
00065     U8BIT      use_flags;
00066     U8BIT      receiver_profile;
00067     U8BIT      group_version;
00068     U8BIT*     location;
00069 } S_CarouselInfoFileGroup;
00070 
00071 typedef U32BIT H_DsmEvent;
00072 
00073 typedef struct s_ObjCarousel *H_ObjCarousel;
00074 
00075 typedef struct s_DsmControl *H_DsmControl;
00076 
00077 
00078 #endif /*_DSM_TYPES_H*/
 All Data Structures Files Functions Typedefs