RDMnet
0.3.0
Implementation of ANSI E1.33 (RDMnet)
View other versions:
opts.h
Go to the documentation of this file.
1
/******************************************************************************
2
* Copyright 2020 ETC Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
******************************************************************************
16
* This file is a part of RDMnet. For more information, go to:
17
* https://github.com/ETCLabs/RDMnet
18
*****************************************************************************/
19
27
#ifndef RDMNET_CORE_OPTS_H_
28
#define RDMNET_CORE_OPTS_H_
29
39
#if RDMNET_HAVE_CONFIG_H
40
#include "rdmnet_config.h"
41
#endif
42
43
#include "etcpal/thread.h"
44
45
/* Some option hints based on well-known compile definitions */
46
49
/* Are we being compiled for a full-featured OS? */
50
#if defined(_WIN32) || defined(__APPLE__) || defined(__linux__) || defined(__unix__) || defined(_POSIX_VERSION)
51
#define RDMNET_FULL_OS_AVAILABLE_HINT 1
52
#else
53
#define RDMNET_FULL_OS_AVAILABLE_HINT 0
54
#endif
55
56
/* Are we being compiled in/for a Microsoft Windows environment? */
57
#ifdef _WIN32
58
#define RDMNET_WINDOWS_HINT 1
59
#else
60
#define RDMNET_WINDOWS_HINT 0
61
#endif
62
65
/********************************* Global ************************************/
66
90
#ifndef RDMNET_DYNAMIC_MEM
91
#define RDMNET_DYNAMIC_MEM RDMNET_FULL_OS_AVAILABLE_HINT
92
#endif
93
97
#ifndef RDMNET_LOG_MSG_PREFIX
98
#define RDMNET_LOG_MSG_PREFIX "RDMnet: "
99
#endif
100
107
#ifndef RDMNET_ASSERT
108
#include <assert.h>
109
#define RDMNET_ASSERT(expr) assert(expr)
110
#endif
111
133
#ifndef RDMNET_MAX_CONTROLLERS
134
#define RDMNET_MAX_CONTROLLERS 0
135
#endif
136
143
#ifndef RDMNET_MAX_DEVICES
144
#define RDMNET_MAX_DEVICES 1
145
#endif
146
152
#ifndef RDMNET_MAX_EPT_CLIENTS
153
#define RDMNET_MAX_EPT_CLIENTS 0
154
#endif
155
161
#ifndef RDMNET_MAX_SCOPES_PER_CONTROLLER
162
#define RDMNET_MAX_SCOPES_PER_CONTROLLER 1
163
#endif
164
170
#ifndef RDMNET_MAX_ENDPOINTS_PER_DEVICE
171
#define RDMNET_MAX_ENDPOINTS_PER_DEVICE 1
172
#endif
173
179
#ifndef RDMNET_MAX_RESPONDERS_PER_DEVICE_ENDPOINT
180
#define RDMNET_MAX_RESPONDERS_PER_DEVICE_ENDPOINT 1
181
#endif
182
188
#ifndef RDMNET_MAX_PROTOCOLS_PER_EPT_CLIENT
189
#define RDMNET_MAX_PROTOCOLS_PER_EPT_CLIENT 5
190
#endif
191
203
#ifndef RDMNET_MAX_SENT_ACK_OVERFLOW_RESPONSES
204
#define RDMNET_MAX_SENT_ACK_OVERFLOW_RESPONSES 2
205
#endif
206
213
#ifdef RDMNET_MAX_RPT_CLIENTS
214
#undef RDMNET_MAX_RPT_CLIENTS
215
#endif
216
#define RDMNET_MAX_RPT_CLIENTS (RDMNET_MAX_CONTROLLERS + RDMNET_MAX_DEVICES)
217
218
#ifdef RDMNET_MAX_CLIENTS
219
#undef RDMNET_MAX_CLIENTS
220
#endif
221
#define RDMNET_MAX_CLIENTS (RDMNET_MAX_RPT_CLIENTS + RDMNET_MAX_EPT_CLIENTS)
222
223
#if !RDMNET_MAX_CLIENTS
224
#undef RDMNET_MAX_CLIENTS
225
#define RDMNET_MAX_CLIENTS 1
226
#endif
227
228
#if RDMNET_MAX_SENT_ACK_OVERFLOW_RESPONSES < 1
229
#undef RDMNET_MAX_SENT_ACK_OVERFLOW_RESPONSES
230
#define RDMNET_MAX_SENT_ACK_OVERFLOW_RESPONSES 1
231
#endif
232
233
#ifndef RDMNET_MAX_CONNECTIONS
234
#define RDMNET_MAX_CONNECTIONS RDMNET_MAX_CLIENTS
235
#endif
236
237
#if RDMNET_MAX_CONNECTIONS < 1
238
#undef RDMNET_MAX_CONNECTIONS
239
#define RDMNET_MAX_CONNECTIONS 1
240
#endif
241
261
#ifndef RDMNET_PARSER_MAX_CLIENT_ENTRIES
262
#define RDMNET_PARSER_MAX_CLIENT_ENTRIES 5
263
#endif
264
265
#if RDMNET_PARSER_MAX_CLIENT_ENTRIES < 1
266
#undef RDMNET_PARSER_MAX_CLIENT_ENTRIES
267
#define RDMNET_PARSER_MAX_CLIENT_ENTRIES 1
268
#endif
269
276
#ifndef RDMNET_PARSER_MAX_EPT_SUBPROTS
277
#define RDMNET_PARSER_MAX_EPT_SUBPROTS 5
278
#endif
279
280
#if RDMNET_PARSER_MAX_EPT_SUBPROTS < 1
281
#undef RDMNET_PARSER_MAX_EPT_SUBPROTS
282
#define RDMNET_PARSER_MAX_EPT_SUBPROTS 1
283
#endif
284
292
#ifndef RDMNET_PARSER_MAX_DYNAMIC_UID_ENTRIES
293
#define RDMNET_PARSER_MAX_DYNAMIC_UID_ENTRIES 5
294
#endif
295
296
#if RDMNET_PARSER_MAX_DYNAMIC_UID_ENTRIES < 1
297
#undef RDMNET_PARSER_MAX_DYNAMIC_UID_ENTRIES
298
#define RDMNET_PARSER_MAX_DYNAMIC_UID_ENTRIES 1
299
#endif
300
309
#ifndef RDMNET_PARSER_MAX_ACK_OVERFLOW_RESPONSES
310
#define RDMNET_PARSER_MAX_ACK_OVERFLOW_RESPONSES 5
311
#endif
312
313
#if RDMNET_PARSER_MAX_ACK_OVERFLOW_RESPONSES < 1
314
#undef RDMNET_PARSER_MAX_ACK_OVERFLOW_RESPONSES
315
#define RDMNET_PARSER_MAX_ACK_OVERFLOW_RESPONSES 1
316
#endif
317
326
#ifndef RDMNET_MAX_MCAST_NETINTS
327
#define RDMNET_MAX_MCAST_NETINTS 3
328
#endif
329
330
#if RDMNET_MAX_MCAST_NETINTS < 1
331
#undef RDMNET_MAX_MCAST_NETINTS
332
#define RDMNET_MAX_MCAST_NETINTS 1
333
#endif
334
343
#ifndef RDMNET_BIND_MCAST_SOCKETS_TO_MCAST_ADDRESS
344
#define RDMNET_BIND_MCAST_SOCKETS_TO_MCAST_ADDRESS !RDMNET_WINDOWS_HINT
345
#endif
346
352
#ifndef RDMNET_TICK_THREAD_PRIORITY
353
#define RDMNET_TICK_THREAD_PRIORITY ETCPAL_THREAD_DEFAULT_PRIORITY
354
#endif
355
361
#ifndef RDMNET_TICK_THREAD_STACK
362
#define RDMNET_TICK_THREAD_STACK (ETCPAL_THREAD_DEFAULT_STACK * 2)
363
#endif
364
382
#ifndef RDMNET_MAX_MONITORED_SCOPES
383
#define RDMNET_MAX_MONITORED_SCOPES ((RDMNET_MAX_SCOPES_PER_CONTROLLER * RDMNET_MAX_CONTROLLERS) + RDMNET_MAX_DEVICES)
384
#endif
385
391
#ifndef RDMNET_MAX_DISCOVERED_BROKERS_PER_SCOPE
392
#define RDMNET_MAX_DISCOVERED_BROKERS_PER_SCOPE 1
393
#endif
394
402
#ifndef RDMNET_MAX_ADDRS_PER_DISCOVERED_BROKER
403
#define RDMNET_MAX_ADDRS_PER_DISCOVERED_BROKER 2
404
#endif
405
406
#if !RDMNET_MAX_ADDRS_PER_DISCOVERED_BROKER
407
#error "RDMNET_MAX_ADDRS_PER_DISCOVERED_BROKER must be at least 1"
408
#endif
409
416
#ifndef RDMNET_MAX_ADDITIONAL_TXT_ITEMS_PER_DISCOVERED_BROKER
417
#define RDMNET_MAX_ADDITIONAL_TXT_ITEMS_PER_DISCOVERED_BROKER 5
418
#endif
419
420
#if RDMNET_MAX_ADDITIONAL_TXT_ITEMS_PER_DISCOVERED_BROKER < 1
421
#undef RDMNET_MAX_ADDITIONAL_TXT_ITEMS_PER_DISCOVERED_BROKER
422
#define RDMNET_MAX_ADDITIONAL_TXT_ITEMS_PER_DISCOVERED_BROKER 1
423
#endif
424
442
#ifndef RDMNET_MAX_LLRP_TARGETS
443
#define RDMNET_MAX_LLRP_TARGETS RDMNET_MAX_CLIENTS
444
#endif
445
448
#if RDMNET_MAX_LLRP_TARGETS
449
#define RC_MAX_LLRP_TARGETS RDMNET_MAX_LLRP_TARGETS
450
#else
451
#define RC_MAX_LLRP_TARGETS 1
452
#endif
453
460
#endif
/* RDMNET_CORE_OPTS_H_ */
src
rdmnet
core
opts.h
Generated by
1.9.1