summaryrefslogtreecommitdiff
path: root/include/ouroboros/config.h.in
blob: 0957ee4d8c0ee2a1ccd059edc87cf98988067fc3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
 * Ouroboros - Copyright (C) 2016 - 2017
 *
 * Configuration information
 *
 *    Dimitri Staessens <dimitri.staessens@ugent.be>
 *    Sander Vrijders   <sander.vrijders@ugent.be>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * version 2.1 as published by the Free Software Foundation.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA
 */

#ifndef OUROBOROS_CONFIG
#define OUROBOROS_CONFIG

#define PROJECT_NAME           "@CMAKE_PROJECT_NAME@"
#define PROJECT_VERSION        "@PACKAGE_VERSION@"
#define INSTALL_PREFIX         "@CMAKE_INSTALL_PREFIX@"
#define _POSIX_C_SOURCE        200809L
#define __XSI_VISIBLE          500
#ifdef __FreeBSD__
#define __BSD_VISIBLE          1
#endif
#define IPCP_SHIM_UDP_EXEC     "@IPCP_SHIM_UDP_TARGET@"
#define IPCP_SHIM_ETH_LLC_EXEC "@IPCP_SHIM_ETH_LLC_TARGET@"
#define IPCP_NORMAL_EXEC       "@IPCP_NORMAL_TARGET@"
#define IPCP_LOCAL_EXEC        "@IPCP_LOCAL_TARGET@"
#cmakedefine HAVE_ROBUST_MUTEX
#define AP_MAX_FLOWS           2048
#define AP_RES_FDS             64
#define AP_MAX_FQUEUES         64
#define SHM_RDRB_BLOCK_SIZE    sysconf(_SC_PAGESIZE)
#define SHM_RDRB_MULTI_BLOCK
#define SHM_RDRB_PREFIX        "/ouroboros.rdrb."
#define LOCKFILE_NAME          "/ouroboros.lockfile"
#define SHM_BUFFER_SIZE        1 << 14
#define DU_BUFF_HEADSPACE      128
#define DU_BUFF_TAILSPACE      0
#define SHM_RBUFF_LOCKLESS     0
#define SHM_RBUFF_PREFIX       "/ouroboros.rbuff."
#define SHM_FLOW_SET_PREFIX    "/ouroboros.sets."
#define IRMD_MAX_FLOWS         4096
/* IRMD dynamic threadpooling */
#define IRMD_MIN_THREADS       16
#define IRMD_ADD_THREADS       32
/* IPCP dynamic threadpooling */
#define IPCP_MIN_THREADS       4
#define IPCP_ADD_THREADS       16
#define IPCP_SCHED_THREADS     8
#define IPCPD_MAX_CONNS        IRMD_MAX_FLOWS
#define PTHREAD_COND_CLOCK     CLOCK_MONOTONIC
#define PFT_SIZE               1 << 12
/* Timeout values */
#define IRMD_ACCEPT_TIMEOUT    100
#define IRMD_REQ_ARR_TIMEOUT   500
#define IRMD_FLOW_TIMEOUT      5000
#define IPCP_ACCEPT_TIMEOUT    100
#define SOCKET_TIMEOUT         1000
#define BOOTSTRAP_TIMEOUT      5000
#define ENROLL_TIMEOUT         60000
#define REG_TIMEOUT            10000
#define QUERY_TIMEOUT          3000
#define CDAP_REPLY_TIMEOUT     1000

#endif /* OUROBOROS_CONFIG */