source: svn/branches/kctv/newcon3bcm2_21bu/BSEAV/lib/scte65/rrt/si_rrt.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 4.6 KB
Line 
1/***************************************************************
2**
3** Broadcom Corp. Confidential
4** Copyright 2003-2008 Broadcom Corp. All Rights Reserved.
5**
6** THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
7** SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
8** YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
9** SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10**
11** File:                si_rrt.h
12** Description: defines for the RRT table parse function.
13**
14** Created: 03/08/2001
15**
16** REVISION:
17**
18** $Log: $
19**
20**
21****************************************************************/
22#ifndef SI_RRT_H
23#define SI_RRT_H
24
25typedef struct _SI_RRT_VALUE
26{
27        unsigned char abbrev_rating_value_length;
28        char * abbrev_rating_value_text;
29        unsigned char rating_value_length;
30        char * rating_value_text;
31} SI_RRT_VALUE;
32
33typedef struct _SI_RRT_DIMENSION
34{
35        unsigned char dimension_name_length;
36        char * dimension_name_text;
37        unsigned char graduated_scale;
38        unsigned char values_defined;
39        SI_RRT_VALUE *rrt_values;
40} SI_RRT_DIMENSION;
41
42typedef struct _SI_RRT_REGION
43{
44        unsigned char rating_region;
45        unsigned char version_number;
46        unsigned char rating_region_name_length;
47        char * rating_region_name_text;
48        unsigned char dimensions_defined;
49        SI_RRT_DIMENSION *rrt_dimensions;
50        SI_LST_D_ENTRY(_SI_RRT_REGION) rrt_link;
51} SI_RRT_REGION;
52
53SI_LST_D_HEAD(rrt_region_list, _SI_RRT_REGION);
54
55/* For the following, refer to table 5.31 of ANSI/SCTE65 2002 (DVS234) */
56#define RRT_TABLE_ID_BYTE_INDX          0
57#define RRT_TABLE_ID_BYTE_NUM                   1
58#define RRT_TABLE_ID_SHIFT                      0
59#define RRT_TABLE_ID_MASK                               0xff
60
61#define RRT_SECTION_LENGTH_BYTE_INDX    1
62#define RRT_SECTION_LENGTH_BYTE_NUM    2
63#define RRT_SECTION_LENGTH_SHIFT    0
64#define RRT_SECTION_LENGTH_MASK    0x0fff
65
66#define RRT_RATING_REGION_BYTE_INDX             4
67#define RRT_RATING_REGION_BYTE_NUM                      1
68#define RRT_RATING_REGION_SHIFT                 0
69#define RRT_RATING_REGION_MASK                          0xff
70
71#define RRT_VERSION_NUMBER_BYTE_INDX    5
72#define RRT_VERSION_NUMBER_BYTE_NUM    1
73#define RRT_VERSION_NUMBER_SHIFT    1
74#define RRT_VERSION_NUMBER_MASK    0x1f
75
76#define RRT_CURRENT_NEXT_INDICATOR_BYTE_INDX    5
77#define RRT_CURRENT_NEXT_INDICATOR_BYTE_NUM    1
78#define RRT_CURRENT_NEXT_INDICATOR_SHIFT    0
79#define RRT_CURRENT_NEXT_INDICATOR_MASK    0x01
80
81#define RRT_SECTION_NUMBER_BYTE_INDX    6
82#define RRT_SECTION_NUMBER_BYTE_NUM    1
83#define RRT_SECTION_NUMBER_SHIFT    0
84#define RRT_SECTION_NUMBER_MASK    0xff
85
86#define RRT_LAST_SECTION_NUMBER_BYTE_INDX    7
87#define RRT_LAST_SECTION_NUMBER_BYTE_NUM    1
88#define RRT_LAST_SECTION_NUMBER_SHIFT    0
89#define RRT_LAST_SECTION_NUMBER_MASK    0xff
90
91#define RRT_PROTOCOL_VERSION_BYTE_INDX    8
92#define RRT_PROTOCOL_VERSION_BYTE_NUM    1
93#define RRT_PROTOCOL_VERSION_SHIFT    0
94#define RRT_PROTOCOL_VERSION_MASK    0xff
95
96#define RRT_REGION_NAME_LENGTH_BYTE_INDX    9
97#define RRT_REGION_NAME_LENGTH_BYTE_NUM    1
98#define RRT_REGION_NAME_LENGTH_SHIFT    0
99#define RRT_REGION_NAME_LENGTH_MASK    0xff
100
101/* define for dimensions_defined after region text. relative index offset. */
102#define RRT_DIMENSIONS_DEFINED_BYTE_INDX    0
103#define RRT_DIMENSIONS_DEFINED_BYTE_NUM    1
104#define RRT_DIMENSIONS_DEFINED_SHIFT    0
105#define RRT_DIMENSIONS_DEFINED_MASK    0xff
106
107/* defines for dimension loop elements, relative offset only. */
108#define RRT_DIMENSION_NAME_LENGTH_BYTE_INDX    0
109#define RRT_DIMENSION_NAME_LENGTH_BYTE_NUM    1
110#define RRT_DIMENSION_NAME_LENGTH_SHIFT    0
111#define RRT_DIMENSION_NAME_LENGTH_MASK    0xff
112
113/* defines for dimension loop elements after the name text. relative offset only. */
114#define RRT_GRADUATED_SCALE_BYTE_INDX    0
115#define RRT_GRADUATED_SCALE_BYTE_NUM    1
116#define RRT_GRADUATED_SCALE_SHIFT    4
117#define RRT_GRADUATED_SCALE_MASK    0x01
118
119#define RRT_VALUES_DEFINED_BYTE_INDX    0
120#define RRT_VALUES_DEFINED_BYTE_NUM    1
121#define RRT_VALUES_DEFINED_SHIFT    0
122#define RRT_VALUES_DEFINED_MASK    0x0f
123
124/* defines for value loop elements, relative offset only. */
125#define RRT_ABBREV_VALUE_LENGTH_BYTE_INDX    0
126#define RRT_ABBREV_VALUE_LENGTH_BYTE_NUM    1
127#define RRT_ABBREV_VALUE_LENGTH_SHIFT    0
128#define RRT_ABBREV_VALUE_LENGTH_MASK    0xff
129
130/* defines for value loop elements after abbrev_value_text, relative offset only. */
131#define RRT_VALUE_LENGTH_BYTE_INDX    0
132#define RRT_VALUE_LENGTH_BYTE_NUM    1
133#define RRT_VALUE_LENGTH_SHIFT    0
134#define RRT_VALUE_LENGTH_MASK    0xff
135
136/* after the dimensions loop, relative offset. */
137#define RRT_DESCRIPTORS_LENGTH_BYTE_INDX    0
138#define RRT_DESCRIPTORS_LENGTH_BYTE_NUM    2
139#define RRT_DESCRIPTORS_LENGTH_SHIFT    0
140#define RRT_DESCRIPTORS_LENGTH_MASK    0x3ff
141
142
143#ifdef __cplusplus
144extern "C" {
145#endif
146
147void SI_RRT_Init(void);
148SI_RET_CODE SI_RRT_parse (unsigned char * rrt_table);
149
150#ifdef __cplusplus
151}
152#endif
153
154
155#endif
156
Note: See TracBrowser for help on using the repository browser.