source: svn/trunk/newcon3bcm2_21bu/BSEAV/lib/si/a56/vcm/si_vcm.h

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

first commit

  • Property svn:executable set to *
File size: 2.0 KB
Line 
1/***************************************************************
2**
3** Broadcom Corp. Confidential
4** Copyright 2003-2012 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_vcm.h
12** Description: defines and headers for function that parses the
13**                              VCM table sections.
14**
15** Created: 03/08/2001
16**                      02/01/2012 modified for A56 support
17**
18** REVISION:
19**
20** $Log: $
21**
22**
23****************************************************************/
24
25#ifndef SI_VCM_H
26#define SI_VCM_H
27
28#include "si_vcm_vct.h"
29
30typedef enum 
31{
32        VCT,    /* virtual channel table */
33        DCM,    /* defined channels map */
34        ICT,    /* inverse channel table */
35} VCM_TABLE_SUBTYPE;
36
37/* For the following, refer to table 5.15 of A56 1996 */
38#define VCM_TABLE_ID_BYTE_INDX                  0
39#define VCM_TABLE_ID_BYTE_NUM                   1
40#define VCM_TABLE_ID_SHIFT                              0
41#define VCM_TABLE_ID_MASK                               0xff
42
43#define VCM_SECTION_LENGTH_BYTE_INDX    1
44#define VCM_SECTION_LENGTH_BYTE_NUM             2
45#define VCM_SECTION_LENGTH_SHIFT        0
46#define VCM_SECTION_LENGTH_MASK                 0x0fff
47
48#define VCM_PROTOCOL_VERSION_BYTE_INDX  3
49#define VCM_PROTOCOL_VERSION_BYTE_NUM   1
50#define VCM_PROTOCOL_VERSION_SHIFT              0
51#define VCM_PROTOCOL_VERSION_MASK               0x1f
52
53#define VCM_TRANS_MEDIUM_BYTE_INDX              4
54#define VCM_TRANS_MEDIUM_BYTE_NUM               1
55#define VCM_TRANS_MEDIUM_SHIFT                  4
56#define VCM_TRANS_MEDIUM_MASK                   0xf
57
58#define VCM_TABLE_SUBTYPE_BYTE_INDX             4
59#define VCM_TABLE_SUBTYPE_BYTE_NUM              1
60#define VCM_TABLE_SUBTYPE_SHIFT                 0
61#define VCM_TABLE_SUBTYPE_MASK                  0xf
62
63#define VCM_VCT_ID_BYTE_INDX                    5
64#define VCM_VCT_ID_BYTE_NUM                             2
65#define VCM_VCT_ID_SHIFT                                0
66#define VCM_VCT_ID_MASK                                 0xffff
67
68#ifdef __cplusplus
69extern "C" {
70#endif
71
72void SI_VCM_Init(SI_VCM_VCT_Callback_t *cb,unsigned char VCM_VCT_version_number);
73SI_RET_CODE SI_VCM_parse (unsigned char * table);
74bool SI_VCM_Complete(void);
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif
Note: See TracBrowser for help on using the repository browser.