Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
BaSocketConfig.h
1/* Copyright (C) Real Time Logic LLC, 2026.
2 * Network defaults and validation after the selected HttpCfg.h.
3 * Port capability definitions take precedence; applications use BaConfigOpts.h. */
4#ifndef BA_SOCKET_CONFIG_H
5#define BA_SOCKET_CONFIG_H
6
7#ifndef BA_USE_GETADDRINFO
8#define BA_USE_GETADDRINFO 0
9#endif
10#if (BA_USE_GETADDRINFO != 0) && (BA_USE_GETADDRINFO != 1)
11#error BA_USE_GETADDRINFO must be 0 or 1
12#endif
13
14#ifndef BA_LWIP_USE_NETCONN_CALLBACK_DATA
15#define BA_LWIP_USE_NETCONN_CALLBACK_DATA 0
16#endif
17#if (BA_LWIP_USE_NETCONN_CALLBACK_DATA != 0) && (BA_LWIP_USE_NETCONN_CALLBACK_DATA != 1)
18#error BA_LWIP_USE_NETCONN_CALLBACK_DATA must be 0 or 1
19#endif
20
21#ifndef BA_HAVE_SODISPCON_RECVFROM
22#define BA_HAVE_SODISPCON_RECVFROM 0
23#endif
24#if (BA_HAVE_SODISPCON_RECVFROM != 0) && (BA_HAVE_SODISPCON_RECVFROM != 1)
25#error BA_HAVE_SODISPCON_RECVFROM must be 0 or 1
26#endif
27
28#ifndef BA_ENABLE_UDP
29#define BA_ENABLE_UDP 0
30#endif
31#if (BA_ENABLE_UDP != 0) && (BA_ENABLE_UDP != 1)
32#error BA_ENABLE_UDP must be 0 or 1
33#endif
34
35#ifndef BA_ENABLE_IPV6
36#define BA_ENABLE_IPV6 0
37#endif
38#if (BA_ENABLE_IPV6 != 0) && (BA_ENABLE_IPV6 != 1)
39#error BA_ENABLE_IPV6 must be 0 or 1
40#endif
41
42#ifndef BA_HAVE_SOCKET_WRITE_EVENTS
43#define BA_HAVE_SOCKET_WRITE_EVENTS 1
44#endif
45#if (BA_HAVE_SOCKET_WRITE_EVENTS != 0) && (BA_HAVE_SOCKET_WRITE_EVENTS != 1)
46#error BA_HAVE_SOCKET_WRITE_EVENTS must be 0 or 1
47#endif
48
49#ifndef BA_HAVE_IPV6_MULTICAST_MEMBERSHIP
50#define BA_HAVE_IPV6_MULTICAST_MEMBERSHIP 1
51#endif
52#if (BA_HAVE_IPV6_MULTICAST_MEMBERSHIP != 0) && (BA_HAVE_IPV6_MULTICAST_MEMBERSHIP != 1)
53#error BA_HAVE_IPV6_MULTICAST_MEMBERSHIP must be 0 or 1
54#endif
55
56#ifndef BA_HAVE_TCP_KEEPALIVE_TUNING
57#define BA_HAVE_TCP_KEEPALIVE_TUNING 1
58#endif
59#if (BA_HAVE_TCP_KEEPALIVE_TUNING != 0) && (BA_HAVE_TCP_KEEPALIVE_TUNING != 1)
60#error BA_HAVE_TCP_KEEPALIVE_TUNING must be 0 or 1
61#endif
62
63#endif