source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/vbi/7552/bvbi_mcc.c

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.0 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2008, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: bvbi_mcc.c $
11 * $brcm_Revision: Hydra_Software_Devel/3 $
12 * $brcm_Date: 12/4/08 6:12p $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/portinginterface/vbi/7400/bvbi_mcc.c $
19 *
20 * Hydra_Software_Devel/3   12/4/08 6:12p darnstein
21 * PR45819: remove some obsolete "alias central" logic.
22 *
23 * Hydra_Software_Devel/2   12/3/08 7:57p darnstein
24 * PR45819: New, more modular form of most BVBI source files.
25 *
26 * Hydra_Software_Devel/3   11/7/07 8:22p darnstein
27 * PR35983: Fix a Coverity error with some #ifdefs.
28 *
29 * Hydra_Software_Devel/1   6/5/07 11:25p pntruong
30 * PR30411: Add support for multiple CC lines.
31 *
32 ***************************************************************************/
33
34#include "bstd.h"           /* standard types */
35#include "bdbg.h"           /* Dbglib */
36#include "bkni.h"                       /* For critical sections */
37#include "bvbi.h"           /* VBI processing, this module. */
38#include "bvbi_priv.h"      /* VBI internal data structures */
39
40BDBG_MODULE(BVBI);
41
42/***************************************************************************
43* Forward declarations of static (private) functions
44***************************************************************************/
45
46
47/***************************************************************************
48* Implementation of "BVBI_" API functions
49***************************************************************************/
50
51/***************************************************************************
52 *
53 */
54BERR_Code BVBI_Field_GetMCCData_isr (
55        BVBI_Field_Handle fieldHandle, 
56        BVBI_MCCData* pMCCData
57)
58{
59        BVBI_P_Field_Handle* pVbi_Fld;
60        BERR_Code eErr = BERR_SUCCESS;
61
62        BDBG_ENTER(BVBI_Field_GetMCCData_isr);
63
64        /* check parameters */
65        BVBI_P_GET_FIELD_CONTEXT(fieldHandle, pVbi_Fld);
66        if((!pVbi_Fld) || (!pMCCData))
67        {
68                return BERR_TRACE(BERR_INVALID_PARAMETER);
69        }
70
71        /* Verify that data is present on this field handle */
72        if (!(pVbi_Fld->ulWhichPresent & BVBI_P_SELECT_MCC))
73                return (BVBI_ERR_FIELD_NODATA);
74        else if (pVbi_Fld->ulErrInfo & BVBI_LINE_ERROR_MCC_NOENCODE)
75                eErr = (BVBI_ERR_FIELD_BADDATA);
76
77        /* Check that field handle was properly sized */
78        if (!(pVbi_Fld->pMCCData))
79        {
80                return BERR_TRACE (BVBI_ERR_FLDH_CONFLICT);
81        }
82
83        /* Return data as requested */
84        *pMCCData = *(pVbi_Fld->pMCCData);
85
86        BDBG_LEAVE(BVBI_Field_GetMCCData_isr);
87        return eErr;
88}
89
90/***************************************************************************
91 *
92 */
93BERR_Code BVBI_Field_SetMCCData_isr( 
94        BVBI_Field_Handle fieldHandle, 
95        BVBI_MCCData*     pMCCData
96)
97{
98        BVBI_P_Field_Handle* pVbi_Fld;
99
100        BDBG_ENTER(BVBI_SetMCCData_isr);
101
102        /* check parameters */
103        BVBI_P_GET_FIELD_CONTEXT(fieldHandle, pVbi_Fld);
104        if((!pVbi_Fld) || (!pMCCData))
105        {
106                BDBG_ERR(("Invalid parameter\n"));
107                return BERR_TRACE(BERR_INVALID_PARAMETER);
108        }
109
110        /* Check that field handle was properly sized */
111        if (!(pVbi_Fld->pMCCData))
112        {
113                return BERR_TRACE (BVBI_ERR_FLDH_CONFLICT);
114        }
115
116        /* Store data as requested */
117    *(pVbi_Fld->pMCCData) = *pMCCData;
118
119        /* Indicate valid data is present */
120        pVbi_Fld->ulWhichPresent |= BVBI_P_SELECT_MCC;
121
122        BDBG_LEAVE(BVBI_SetMCCData_isr);
123        return BERR_SUCCESS;
124}
125
126
127/***************************************************************************
128* Implementation supporting closed caption functions that are not in API
129***************************************************************************/
130
131
132/***************************************************************************
133* Static (private) functions
134***************************************************************************/
135
136/* End of file */
Note: See TracBrowser for help on using the repository browser.