source: svn/newcon3bcm2_21bu/nexus/modules/cec/7552/src/nexus_cec_module.h

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 4.2 KB
Line 
1/***************************************************************************
2*          (c)2007-2011 Broadcom Corporation
3*
4* This program is the proprietary software of Broadcom Corporation and/or its licensors,
5* and may only be used, duplicated, modified or distributed pursuant to the terms and
6* conditions of a separate, written license agreement executed between you and Broadcom
7* (an "Authorized License").    Except as set forth in an Authorized License, Broadcom grants
8* no license (express or implied), right to use, or waiver of any kind with respect to the
9* Software, and Broadcom expressly reserves all rights in and to the Software and all
10* intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11* HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12* NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13*
14* Except as expressly set forth in the Authorized License,
15*
16* 1.       This program, including its structure, sequence and organization, constitutes the valuable trade
17* secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18* and to use this information only in connection with your use of Broadcom integrated circuit products.
19*
20*       2.         TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21* AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22* WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23* THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24* OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25* LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26* OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27* USE OR PERFORMANCE OF THE SOFTWARE.
28*
29* 3.       TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30* LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31* EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32* USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33* THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34* ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35* LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36* ANY LIMITED REMEDY.
37*
38* $brcm_Workfile: nexus_cec_module.h $
39* $brcm_Revision: 1 $
40* $brcm_Date: 12/15/11 4:28p $
41*
42* Module Description:
43*
44* Revision History:
45*
46* $brcm_Log: /nexus/modules/cec/7425/src/nexus_cec_module.h $
47*
48* 1   12/15/11 4:28p vsilyaev
49* SW7425-1140: Merge NEXUS_Cec module support into main-line
50*
51* SW7425-1140/1   12/9/11 4:41p vle
52* SW7425-1140: Add NEXUS_Cec module support
53*
54***************************************************************************/
55
56#include "nexus_base.h"
57#include "nexus_cec_thunks.h"
58#include "nexus_cec.h"
59#include "nexus_cec_init.h"
60#include "bcec.h"
61#include "nexus_platform_features.h"
62
63
64#ifndef NEXUS_CEC_MODULE_H__
65#define NEXUS_CEC_MODULE_H__
66
67#ifdef NEXUS_MODULE_SELF
68#error Cant be in two modules at the same time
69#endif
70
71#define NEXUS_MODULE_NAME cec
72#define NEXUS_MODULE_SELF g_NEXUS_cecModule
73
74/* Global Types */
75typedef enum NEXUS_CecLogicalAddrSearch
76{
77        NEXUS_CecLogicalAddrSearch_eInit,
78        NEXUS_CecLogicalAddrSearch_eNext,
79        NEXUS_CecLogicalAddrSearch_eReady
80} NEXUS_CecLogicalAddrSearch;
81
82BDBG_OBJECT_ID_DECLARE(NEXUS_Cec);
83
84typedef struct NEXUS_Cec
85{
86        BDBG_OBJECT(NEXUS_Cec)
87        bool opened;
88        BCEC_Handle cecHandle;
89        NEXUS_CecSettings cecSettings;
90        NEXUS_CecStatus status;
91        NEXUS_EventCallbackHandle cecEventCallback;
92
93        NEXUS_CecLogicalAddrSearch searchState;
94        unsigned logAddrSearchIndex;
95
96        NEXUS_TaskCallbackHandle messageTransmittedCallback;
97        NEXUS_TaskCallbackHandle messageReceivedCallback;
98        NEXUS_TaskCallbackHandle logicalAddressAcquiredCallback;
99} NEXUS_Cec;
100
101/* Global module handle & data */
102extern NEXUS_ModuleHandle g_NEXUS_cecModule;
103extern NEXUS_CecModuleSettings g_NEXUS_cecModuleSettings;
104
105
106/* Internal Private Routines */
107NEXUS_Error NEXUS_Cec_P_Shutdown(void);
108
109NEXUS_Error NEXUS_Cec_P_Init( NEXUS_CecHandle handle);
110void NEXUS_Cec_P_Callback(void *pContext);
111
112void NEXUS_CecModule_Print(void);
113
114
115#endif /* #ifndef NEXUS_CEC_MODULE_H__ */
116
117
118
119
120
Note: See TracBrowser for help on using the repository browser.