Import additional CMS headers and update docs
[firmware_extractor.git] / cms_params.h
1 /***********************************************************************
2  *
3  *  Copyright (c) 2006-2007  Broadcom Corporation
4  *  All Rights Reserved
5  *
6  * <:label-BRCM:2011:DUAL/GPL:standard
7  * 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License, version 2, as published by
10  * the Free Software Foundation (the "GPL").
11  * 
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  * 
17  * 
18  * A copy of the GPL is available at http://www.broadcom.com/licenses/GPLv2.php, or by
19  * writing to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  * 
22 :>
23  *
24  ************************************************************************/
25
26 #ifndef __CMS_PARAMS_H__
27 #define __CMS_PARAMS_H__
28
29 /*!\file cms_params.h
30  * \brief Header file containing customizable or board/hardware dependent
31  *        parameters for the the CPE Management System (CMS).  Note that
32  *        other customizable parameters are modified via make menuconfig.
33  */
34
35
36 /** Config file version.
37  *
38  */
39 #define CMS_CONFIG_FILE_VERSION "3.0"
40
41
42 /** Number of spaces to indent each line in the config file.
43  *
44  */
45 #define CMS_CONFIG_FILE_INDENT 2
46
47
48 /** Address where the shared memory region is attached.
49  *
50  * Every process must attach to the shared memory at the same address
51  * because the data structures inside the shared memory region contain
52  * pointers to other areas in the shared memory.
53  */
54 #define MDM_SHM_ATTACH_ADDR  0x58800000
55
56
57 /** Base amount of shared memory to allocate.
58  *
59  */
60 #define MDM_SHM_BASE_SIZE         (160 * 1024)
61
62
63 /** Amount of shared memory to allocate if WLAN feature is enabled.
64  *
65  */
66 #define MDM_SHM_WLAN_EXTRA        (128 * 1024)
67
68
69 /** Amount of shared memory to allocate if VOIP feature is enabled.
70  *
71  */
72 #define MDM_SHM_VOIP_EXTRA        (128 * 1024)
73
74
75 /** Amount of shared memory to allocate if GPON feature is enabled.
76  *
77  */
78 #define MDM_SHM_GPON_EXTRA        (128 * 1024)
79
80 /** Amount of shared memory to allocate if extra large DSL data is enabled.
81  *
82  */
83 #define MDM_SHM_DSL_BIG_DATA_EXTRA  (256 * 1024)
84
85 /** The "key" to use when requesting a semaphore from the Linux OS.
86  *
87  * This is used to implement low level MDM transation locks.
88  * The only time this will need to be modified is when other code
89  * is using the same key.
90  */
91 #define MDM_LOCK_SEMAPHORE_KEY 0x5ed7
92
93
94 /** This is the Unix Domain Socket address for communications with smd used
95  *  by the messaging library.
96  *
97  * Note two different addresses are defined, one for modem and one for DESKTOP_LINUX testing.
98  *  It is highly unlikely that this needs to be changed.
99  */
100 #ifdef DESKTOP_LINUX
101 #define SMD_MESSAGE_ADDR  "/var/tmp/smd_messaging_server_addr"
102 #else
103 #define SMD_MESSAGE_ADDR  "/var/smd_messaging_server_addr"
104 #endif
105
106
107 /** This is the number of fully connected connections that can be queued
108  *  up at the SMD message server socket.
109  *
110  *  It is highly unlikely that this needs to be changed.
111  */
112 #define SMD_MESSAGE_BACKLOG  3
113
114
115 /** Special hack for the smd dynamic launch service, when it launches a server app, the
116  *  server app will find its server fd at this number.
117  *
118  * It is highly unlikely that this needs to be changed.
119  */
120 #define CMS_DYNAMIC_LAUNCH_SERVER_FD  3
121
122
123
124 /** This is the port ftpd listens on.
125  * 
126  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
127  * It is highly unlikely that this needs to be changed.
128  */
129 #ifdef DESKTOP_LINUX
130 #define FTPD_PORT       44421
131 #else
132 #define FTPD_PORT       21
133 #endif
134
135
136 /** This is the port tftpd listens on.
137  * 
138  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
139  * It is highly unlikely that this needs to be changed.
140  */
141 #ifdef DESKTOP_LINUX
142 #define TFTPD_PORT      44469
143 #else
144 #define TFTPD_PORT      69
145 #endif
146
147
148 /** This is the port sshd listens on.
149  * 
150  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
151  * It is highly unlikely that this needs to be changed.
152  */
153 #ifdef DESKTOP_LINUX
154 #define SSHD_PORT       44422
155 #else
156 #define SSHD_PORT       22
157 #endif
158
159
160 /** The amount of idle time, in seconds, before sshd exits.
161  *
162  * Make this relatively long because the user might be configuring something,
163  * then gets confused and have to look up some manual.
164  * If 0, then no timeout.
165  */
166 #define SSHD_EXIT_ON_IDLE_TIMEOUT  600
167
168
169 /** This is the port telnetd listens on.
170  * 
171  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
172  * It is highly unlikely that this needs to be changed.
173  */
174 #ifdef DESKTOP_LINUX
175 #define TELNETD_PORT    44423
176 #else
177 #define TELNETD_PORT    23
178 #endif
179
180
181 /** The amount of idle time, in seconds, before telnetd exits.
182  *
183  * Make this relatively long because the user might be configuring something,
184  * then gets confused and have to look up some manual.
185  * If 0, then no timeout.
186  */
187 #define TELNETD_EXIT_ON_IDLE_TIMEOUT  600
188
189
190 /** This is the port httpd listens on.
191  * 
192  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
193  * It is highly unlikely that this needs to be changed.
194  */
195 #ifdef DESKTOP_LINUX // __\14MTS__, Richard Huang
196 #define HTTPD_PORT      44480
197 #else
198 #ifdef SUPPORT_HTTPD_SSL
199 #define HTTPD_PORT_SSL      443
200 #endif
201 #define HTTPD_PORT      80
202 #endif
203
204
205 /** The amount of idle time, in seconds, before httpd exits.
206  *
207  * Make this relatively long because the user might be configuring something,
208  * then gets confused and have to look up some manual.
209  */
210 #define HTTPD_EXIT_ON_IDLE_TIMEOUT  600
211
212
213 /** The amount of idle time, in seconds, before consoled exits.
214  *
215  * Make this relatively long because the user might be configuring something,
216  * then gets confused and have to look up some manual.
217  * If 0, then no timeout.
218  */
219 #define CONSOLED_EXIT_ON_IDLE_TIMEOUT  600
220
221
222 /** This is the port snmpd listens on.
223  * 
224  * Note two different ports are defined, one for modem and one for DESKTOP_LINUX testing.
225  * It is highly unlikely that this needs to be changed.
226  */
227 #ifdef DESKTOP_LINUX
228 #define SNMPD_PORT      44161
229 #else
230 #define SNMPD_PORT      161
231 #endif
232
233 /** This is the port tr64c listens on.
234 * LGD_TODO: Due to the time limit, it still have one DESKTOP_LINUX version TR64C, 
235 * in the future will add it.
236 */
237 #define TR64C_HTTP_CONN_PORT     49431
238
239
240 /** This is the port tr69c listens on for connection requests from the ACS.
241  * 
242  */
243 #define TR69C_CONN_REQ_PORT      30005
244
245
246 /** This is the path part of the URL for tr69c connection requests from the ACS.
247  * 
248  */
249 #ifdef BUILD_EIRCOM_CUSTOMIZATION
250 #define TR69C_CONN_REQ_PATH      "/tr069"
251 #else
252 #define TR69C_CONN_REQ_PATH      "/"
253 #endif
254
255 /** The amount of idle time, in seconds, before tr69c exits.
256  *
257  * This value does not need to be very large because the ACS is usually running
258  * a script so it will do all the actions it needs back-to-back and then be
259  * completely done.  So if we see no more requests from the ACS for 30 seconds,
260  * that probably means the ACS is completely done.  However, if response time
261  * is very important, and you do not want the tr69c client to exit, then you
262  * can set this to a very large value (e.g. 2160356, which is one year).
263  */
264 #define TR69C_EXIT_ON_IDLE_TIMEOUT       30 
265
266
267 /** Maximum number of Layer 2 bridges supported.
268  * 
269  * If this value is changed, be sure to also modify the default value in
270  * the data model.
271  */
272 #define MAX_LAYER2_BRIDGES                16
273
274
275 /** Maximum depth of objects in the Data Model that we can support.
276  *  If the data model has a greater actual depth than what is defined here,
277  *  cmsMdm_init() will fail.
278  */
279 #define MAX_MDM_INSTANCE_DEPTH    6
280
281
282 /** Maximum length of a parameter name in the Data Model that we can support.
283  *  If the data model has a greater actual param name length than what is defined here,
284  *  cmsMdm_init() will fail.
285  */
286 #define MAX_MDM_PARAM_NAME_LENGTH   55
287
288 /** DNS Probing parameters for both dnsprobe and dproxy. They probe every
289  * 30 seconds. Timeout is 3 seconds and only retry 2 more times. */
290 #if 1//__MSTC__,kenny, Reduce waiting time for switch DNS Server
291 #define DNS_PROBE_INTERVAL 10
292 #else
293 #define DNS_PROBE_INTERVAL 30
294 #endif
295 #define DNS_PROBE_TIMEOUT 3 
296 #define DNS_PROBE_MAX_TRY 3
297
298 #endif  /* __CMS_PARAMS_H__ */