1/** @file
2
3  Some small general interest definitions. The general standard is to
4  prefix these defines with TS_.
5
6  @section license License
7
8  Licensed to the Apache Software Foundation (ASF) under one
9  or more contributor license agreements.  See the NOTICE file
10  distributed with this work for additional information
11  regarding copyright ownership.  The ASF licenses this file
12  to you under the Apache License, Version 2.0 (the
13  "License"); you may not use this file except in compliance
14  with the License.  You may obtain a copy of the License at
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
18  Unless required by applicable law or agreed to in writing, software
19  distributed under the License is distributed on an "AS IS" BASIS,
20  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  See the License for the specific language governing permissions and
22  limitations under the License.
23 */
24
25#pragma once
26
27// Note: All "defines" should be prefixed with TS_ when appropriate, please
28// don't use ATS_ any more.
29
30// Note 2: If you make changes here, please update the traffic_layout.cc file as well.
31
32/* GENERATED FILE WARNING!  DO NOT EDIT ink_config.h
33 *
34 * You must modify ink_config.h.in instead.
35 *
36 */
37
38/* Include automake generated defines
39 */
40#include "ink_autoconf.h"
41
42// Helper macro to convert integer defines into string literals
43#define _TS_STR(x) #x
44#define TS_STR(x) _TS_STR(x)
45
46/* clang-format off */
47#define BUILD_MACHINE "@build_machine@"
48#define BUILD_PERSON "@build_person@"
49#define BUILD_GROUP "@build_group@"
50#define BUILD_NUMBER "@build_number@"
51
52/* Libraries */
53#define TS_HAS_JEMALLOC @jemalloch@
54#define TS_HAS_TCMALLOC @has_tcmalloc@
55
56/* Features */
57#define TS_HAS_IN6_IS_ADDR_UNSPECIFIED @has_in6_is_addr_unspecified@
58#define TS_HAS_BACKTRACE @has_backtrace@
59#define TS_HAS_PROFILER @has_profiler@
60#define TS_USE_FAST_SDK @use_fast_sdk@
61#define TS_ENABLE_FIPS @enable_fips@
62#define TS_USE_DIAGS @use_diags@
63#define TS_USE_EPOLL @use_epoll@
64#define TS_USE_KQUEUE @use_kqueue@
65#define TS_USE_PORT @use_port@
66#define TS_USE_POSIX_CAP @use_posix_cap@
67#define TS_USE_TPROXY @use_tproxy@
68#define TS_HAS_SO_MARK @has_so_mark@
69#define TS_HAS_IP_TOS @has_ip_tos@
70#define TS_USE_HWLOC @use_hwloc@
71#define TS_USE_TLS_ASYNC @use_tls_async@
72#define TS_USE_HELLO_CB @use_hello_cb@
73#define TS_USE_SET_RBIO @use_set_rbio@
74#define TS_USE_GET_DH_2048_256 @use_dh_get_2048_256@
75#define TS_USE_TLS13 @use_tls13@
76#define TS_USE_QUIC @use_quic@
77#define TS_USE_TLS_SET_CIPHERSUITES @use_tls_set_ciphersuites@
78#define TS_USE_LINUX_NATIVE_AIO @use_linux_native_aio@
79#define TS_USE_REMOTE_UNWINDING @use_remote_unwinding@
80#define TS_USE_TLS_OCSP @use_tls_ocsp@
81#define TS_HAS_TLS_EARLY_DATA @has_tls_early_data@
82#define TS_HAS_TLS_SESSION_TICKET @has_tls_session_ticket@
83
84#define TS_USE_HRW_GEOIP @use_hrw_geoip@
85#define TS_USE_HRW_MAXMINDDB @use_hrw_maxminddb@
86
87#define TS_HAS_BORINGOCSP @has_boringocsp@
88
89#define TS_HAS_SO_PEERCRED @has_so_peercred@
90
91/* OS API definitions */
92#define TS_IP_TRANSPARENT @ip_transparent@
93#define TS_HAS_128BIT_CAS @has_128bit_cas@
94
95/* API */
96#define TS_HAS_TESTS @has_tests@
97#define TS_HAS_WCCP @has_wccp@
98
99#define TS_MAX_THREADS_IN_EACH_THREAD_TYPE @max_threads_per_type@
100#define TS_MAX_NUMBER_EVENT_THREADS @max_event_threads@
101
102#define TS_MAX_HOST_NAME_LEN @max_host_name_len@
103
104/* Defaults for user / group */
105#define TS_PKGSYSUSER "@pkgsysuser@"
106#define TS_PKGSYSGROUP "@pkgsysgroup@"
107
108/* Various "build" defines */
109#define TS_BUILD_PREFIX "@prefix@"
110#define TS_BUILD_EXEC_PREFIX "@rel_exec_prefix@"
111#define TS_BUILD_BINDIR "@rel_bindir@"
112#define TS_BUILD_SBINDIR "@rel_sbindir@"
113#define TS_BUILD_SYSCONFDIR "@rel_sysconfdir@"
114#define TS_BUILD_DATADIR "@rel_datadir@"
115#define TS_BUILD_INCLUDEDIR "@rel_includedir@"
116#define TS_BUILD_LIBDIR "@rel_libdir@"
117#define TS_BUILD_LIBEXECDIR "@rel_libexecdir@"
118#define TS_BUILD_LOCALSTATEDIR "@rel_localstatedir@"
119#define TS_BUILD_RUNTIMEDIR "@rel_runtimedir@"
120#define TS_BUILD_LOGDIR "@rel_logdir@"
121#define TS_BUILD_MANDIR "@rel_mandir@"
122#define TS_BUILD_CACHEDIR "@rel_cachedir@"
123#define TS_BUILD_INFODIR "@rel_infodir@"
124
125#define TS_ABS_TOP_SRCDIR "@abs_top_srcdir@"
126
127#define TS_BUILD_CANONICAL_HOST "@host@"
128
129#define TS_BUILD_DEFAULT_LOOPBACK_IFACE "@default_loopback_iface@"
130
131static const int DEFAULT_STACKSIZE = @default_stack_size@;
132/* clang-format on */
133