source: svn/trunk/newcon3bcm2_21bu/nexus/modules/rfm/7552/include/nexus_rfm.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: 5.1 KB
Line 
1/***************************************************************************
2 *     (c)2007-2010 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_rfm.h $
39 * $brcm_Revision: 3 $
40 * $brcm_Date: 12/14/10 3:25p $
41 *
42 * Module Description:
43 *
44 * Revision History:
45 *
46 * $brcm_Log: /nexus/modules/rfm/7400/include/nexus_rfm.h $
47 *
48 * 3   12/14/10 3:25p erickson
49 * SW7420-1285: add null_allowed attribute
50 *
51 * 2   10/30/09 2:31p jgarrett
52 * SW7325-646: Adding volume setting
53 *
54 * 1   2/20/08 1:41p erickson
55 * PR39405: added RFM
56 *
57 **************************************************************************/
58#ifndef NEXUS_RFM_H__
59#define NEXUS_RFM_H__
60
61#include "nexus_types.h"
62
63#ifdef __cplusplus
64extern "C" {
65#endif
66
67/*=**********************
68RFM is an RF modulated audio and video output.
69************************/
70
71/**
72Summary:
73Handle for the Rfm interface.
74**/
75typedef struct NEXUS_Rfm *NEXUS_RfmHandle;
76
77/**
78Summary:
79Settings for Rfm interface
80
81Description:
82Audio volume is controlled via the NEXUS_AudioDac output which is connected to this Rfm.
83**/
84typedef struct NEXUS_RfmSettings
85{
86    unsigned channel; /* TV channel number. Typical channels are 3 or 4. */
87    int volume;       /* Specified in 1/100 dB.  0 = normal, positive numbers indicate gain, negative indicates attenuation. */
88    bool muted;       /* Audio muted */
89} NEXUS_RfmSettings;
90
91/*
92Summary:
93Get default settings for the structure.
94
95Description:
96This is required in order to make application code resilient to the addition of new strucutre members in the future.
97*/
98void NEXUS_Rfm_GetDefaultSettings(
99    NEXUS_RfmSettings *pSettings    /* [out] Settings */
100    );
101
102/**
103Summary:
104Open a new Rfm interface
105**/
106NEXUS_RfmHandle NEXUS_Rfm_Open( /* attr{destructor=NEXUS_Rfm_Close}  */
107    unsigned index,
108    const NEXUS_RfmSettings *pSettings /* attr{null_allowed=y} */
109    );
110
111/**
112Summary:
113Close the Rfm interface
114**/
115void NEXUS_Rfm_Close(
116    NEXUS_RfmHandle output
117    );
118
119
120/**
121Summary:
122Get current settings
123**/
124void NEXUS_Rfm_GetSettings(
125    NEXUS_RfmHandle output, 
126    NEXUS_RfmSettings *pSettings    /* [out] Settings */
127    );
128
129/**
130Summary:
131Apply new settings
132**/
133NEXUS_Error NEXUS_Rfm_SetSettings(
134    NEXUS_RfmHandle output, 
135    const NEXUS_RfmSettings *pSettings   
136    );
137
138/**
139Summary:
140Returns the abstract NEXUS_VideoOutput connector for this Interface.
141The NEXUS_VideoOutput connector is added to a Display in order to route that Display's video to the output.
142
143Description:
144Used in NEXUS_Display_AddOutput
145**/
146NEXUS_VideoOutput NEXUS_Rfm_GetVideoConnector(
147    NEXUS_RfmHandle output
148    );
149
150/**
151Summary:
152Returns the abstract NEXUS_AudioOutput connector for this Interface.
153**/
154NEXUS_AudioOutput NEXUS_Rfm_GetAudioConnector(
155    NEXUS_RfmHandle output
156    );
157
158#ifdef __cplusplus
159}
160#endif
161
162#endif /* NEXUS_RFM_H__ */
Note: See TracBrowser for help on using the repository browser.