50 #define TPTAG_ANY() tptag_any, ((tag_value_t)0)
54 #define TPTAG_IDENT(x) tptag_ident, tag_str_v((x))
57 #define TPTAG_IDENT_REF(x) tptag_ident_ref, tag_str_vr(&(x))
60 #define TPTAG_REUSE(x) tptag_reuse, tag_bool_v((x))
63 #define TPTAG_REUSE_REF(x) tptag_reuse_ref, tag_bool_vr(&(x))
66 #define TPTAG_FRESH(x) tptag_fresh, tag_bool_v((x))
69 #define TPTAG_FRESH_REF(x) tptag_fresh_ref, tag_bool_vr(&(x))
72 #define TPTAG_SERVER(x) tptag_server, tag_bool_v((x))
75 #define TPTAG_SERVER_REF(x) tptag_server_ref, tag_bool_vr(&(x))
83 tport_type_server = 0,
84 tport_type_client = 1,
87 tport_type_connect = 4,
92 #define TPTAG_PUBLIC(x) tptag_public, tag_int_v((x))
95 #define TPTAG_PUBLIC_REF(x) tptag_public_ref, tag_int_vr(&(x))
98 #define TPTAG_MTU(x) tptag_mtu, tag_usize_v((x))
101 #define TPTAG_MTU_REF(x) tptag_mtu_ref, tag_usize_vr(&(x))
104 #define TPTAG_CONNECT(x) tptag_connect, tag_bool_v((x))
107 #define TPTAG_CONNECT_REF(x) tptag_connect_ref, tag_bool_vr(&(x))
110 #define TPTAG_QUEUESIZE(x) tptag_queuesize, tag_uint_v((x))
113 #define TPTAG_QUEUESIZE_REF(x) tptag_queuesize_ref, tag_uint_vr(&(x))
116 #define TPTAG_SDWN_ERROR(x) tptag_sdwn_error, tag_bool_v((x))
119 #define TPTAG_SDWN_ERROR_REF(x) tptag_sdwn_error_ref, tag_bool_vr(&(x))
122 #define TPTAG_SDWN_AFTER(x) tptag_sdwn_after, tag_bool_v((x))
125 #define TPTAG_SDWN_AFTER_REF(x) tptag_sdwn_after_ref, tag_bool_vr(&(x))
128 #define TPTAG_CLOSE_AFTER(x) tptag_close_after, tag_bool_v((x))
131 #define TPTAG_CLOSE_AFTER_REF(x) tptag_close_after_ref, tag_bool_vr(&(x))
134 #define TPTAG_IDLE(x) tptag_idle, tag_uint_v((x))
137 #define TPTAG_IDLE_REF(x) tptag_idle_ref, tag_uint_vr(&(x))
140 #define TPTAG_TIMEOUT(x) tptag_timeout, tag_uint_v((x))
143 #define TPTAG_TIMEOUT_REF(x) tptag_timeout_ref, tag_uint_vr(&(x))
146 #define TPTAG_SOCKET_KEEPALIVE(x) tptag_socket_keepalive, tag_uint_v((x))
149 #define TPTAG_SOCKET_KEEPALIVE_REF(x) tptag_socket_keepalive_ref, tag_uint_vr(&(x))
152 #define TPTAG_KEEPALIVE(x) tptag_keepalive, tag_uint_v((x))
155 #define TPTAG_KEEPALIVE_REF(x) tptag_keepalive_ref, tag_uint_vr(&(x))
158 #define TPTAG_PINGPONG(x) tptag_pingpong, tag_uint_v((x))
161 #define TPTAG_PINGPONG_REF(x) tptag_pingpong_ref, tag_uint_vr(&(x))
164 #define TPTAG_PONG2PING(x) tptag_pong2ping, tag_bool_v((x))
167 #define TPTAG_PONG2PING_REF(x) tptag_pong2ping_ref, tag_bool_vr(&(x))
170 #define TPTAG_SIGCOMP_LIFETIME(x) tptag_sigcomp_lifetime, tag_uint_v((x))
173 #define TPTAG_SIGCOMP_LIFETIME_REF(x) \
174 tptag_sigcomp_lifetime_ref, tag_uint_vr(&(x))
177 #define TPTAG_COMPARTMENT(x) tptag_compartment, tag_ptr_v((x))
180 #define TPTAG_COMPARTMENT_REF(x) \
181 tptag_compartment_ref, tag_ptr_vr(&(x), x)
184 #define TPTAG_CERTIFICATE(x) tptag_certificate, tag_str_v((x))
187 #define TPTAG_CERTIFICATE_REF(x) tptag_certificate_ref, tag_str_vr(&(x))
190 #define TPTAG_TLS_CIPHERS(x) tptag_tls_ciphers, tag_str_v((x))
193 #define TPTAG_TLS_CIPHERS_REF(x) tptag_tls_ciphers_ref, tag_str_vr(&(x))
195 enum tport_tls_version {
196 TPTLS_VERSION_SSLv2 = (1 << 0),
197 TPTLS_VERSION_SSLv3 = (1 << 1),
198 TPTLS_VERSION_TLSv1 = (1 << 2),
199 TPTLS_VERSION_TLSv1_1 = (1 << 3),
200 TPTLS_VERSION_TLSv1_2 = (1 << 4),
204 #define TPTAG_TLS_VERSION(x) tptag_tls_version, tag_uint_v((x))
207 #define TPTAG_TLS_VERSION_REF(x) tptag_tls_version_ref, tag_uint_vr(&(x))
209 enum tport_tls_verify_policy {
210 TPTLS_VERIFY_NONE = 0x0,
211 TPTLS_VERIFY_INCOMING = 0x1,
212 TPTLS_VERIFY_IN = 0x1,
213 TPTLS_VERIFY_OUTGOING = 0x2,
214 TPTLS_VERIFY_OUT = 0x2,
215 TPTLS_VERIFY_ALL = 0x3,
216 TPTLS_VERIFY_SUBJECTS_IN = 0x5,
217 TPTLS_VERIFY_SUBJECTS_OUT = 0xA,
218 TPTLS_VERIFY_SUBJECTS_ALL = 0xF,
222 #define TPTAG_TLS_TIMEOUT(x) tptag_tls_timeout, tag_uint_v((x))
225 #define TPTAG_TLS_TIMEOUT_REF(x) tptag_tls_timeout_ref, tag_uint_vr(&(x))
228 #define TPTAG_TLS_PASSPHRASE(x) tptag_tls_passphrase, tag_str_v(x)
231 #define TPTAG_TLS_PASSPHRASE_REF(x) tptag_tls_passphrase_ref, tag_str_vr(&(x))
234 #define TPTAG_TLS_VERIFY_POLICY(x) tptag_tls_verify_policy, tag_uint_v((x))
237 #define TPTAG_TLS_VERIFY_POLICY_REF(x) tptag_tls_verify_policy_ref, tag_uint_vr(&(x))
240 #define TPTAG_TLS_VERIFY_DEPTH(x) tptag_tls_verify_depth, tag_uint_v((x))
243 #define TPTAG_TLS_VERIFY_DEPTH_REF(x) \
244 tptag_tls_verify_depth_ref, tag_uint_vr(&(x))
247 #define TPTAG_TLS_VERIFY_DATE(x) tptag_tls_verify_date, tag_uint_v((x))
250 #define TPTAG_TLS_VERIFY_DATE_REF(x) \
251 tptag_tls_verify_date_ref, tag_uint_vr(&(x))
254 #define TPTAG_TLS_VERIFY_SUBJECTS(x) tptag_tls_verify_subjects, tag_cptr_v((x))
256 TPORT_DLL
extern tag_typedef_t tptag_tls_verify_subjects_ref;
257 #define TPTAG_TLS_VERIFY_SUBJECTS_REF(x) \
258 tptag_tls_verify_subjects_ref, tag_cptr_vr(&(x), (x))
262 #define TPTAG_TLS_VERIFY_PEER(x) TPTAG_TLS_VERIFY_POLICY( (x) ? \
263 TPTLS_VERIFY_ALL : TPTLS_VERIFY_NONE)
266 #define TPTAG_TLS_VERIFY_PEER_REF(x) tptag_tls_verify_peer_ref, tag_uint_vr(&(x))
270 #define TPTAG_X509_SUBJECT(x) tptag_x509_subject, tag_str_v((x))
273 #define TPTAG_X509_SUBJECT_REF(x) tptag_x509_subject_ref, tag_str_vr(&(x))
277 #define TPTAG_DEBUG_DROP(x) tptag_debug_drop, tag_uint_v((x))
280 #define TPTAG_DEBUG_DROP_REF(x) tptag_debug_drop_ref, tag_uint_vr(&(x))
283 #define TPTAG_UDP_RMEM(x) tptag_udp_rmem, tag_uint_v((x))
286 #define TPTAG_UDP_RMEM_REF(x) tptag_udp_rmem_ref, tag_uint_vr(&(x))
289 #define TPTAG_UDP_WMEM(x) tptag_udp_wmem, tag_uint_v((x))
292 #define TPTAG_UDP_WMEM_REF(x) tptag_udp_wmem_ref, tag_uint_vr(&(x))
295 #define TPTAG_THRPSIZE(x) tptag_thrpsize, tag_uint_v((x))
298 #define TPTAG_THRPSIZE_REF(x) tptag_thrpsize_ref, tag_uint_vr(&(x))
301 #define TPTAG_THRPRQSIZE(x) tptag_thrprqsize, tag_uint_v((x))
304 #define TPTAG_THRPRQSIZE_REF(x) tptag_thrprqsize_ref, tag_uint_vr(&(x))
307 #define TPTAG_HTTP_CONNECT(x) tptag_http_connect, tag_str_v((x))
310 #define TPTAG_HTTP_CONNECT_REF(x) tptag_http_connect_ref, tag_str_vr(&(x))
313 #define TPTAG_STUN_SERVER(x) tptag_stun_server, tag_bool_v((x))
316 #define TPTAG_STUN_SERVER_REF(x) tptag_stun_server_ref, tag_bool_vr(&(x))
319 #define TPTAG_TOS(x) tptag_tos, tag_int_v((x))
322 #define TPTAG_TOS_REF(x) tptag_tos_ref, tag_int_vr(&(x))
325 #define TPTAG_LOG(x) tptag_log, tag_bool_v((x))
328 #define TPTAG_LOG_REF(x) tptag_log_ref, tag_bool_vr(&(x))
331 #define TPTAG_DUMP(x) tptag_dump, tag_str_v((x))
334 #define TPTAG_DUMP_REF(x) tptag_dump_ref, tag_str_vr(&(x))
337 #define TPTAG_CAPT(x) tptag_capt, tag_str_v((x))
340 #define TPTAG_CAPT_REF(x) tptag_capt_ref, tag_str_vr(&(x))
343 #define TPTAG_CAPT_SRC(x) tptag_capt_src, tag_str_v((x))
346 #define TPTAG_CAPT_SRC_REF(x) tptag_capt_src_ref, tag_str_vr(&(x))
struct tag_type_s const tag_typedef_t[1]
TPORT_DLL tagi_t tport_tag_list[]
List of all tport tags.
enum tport_via tport_pri_type_t
Define how the public transport connects to Internet.
tport_via
Define how the public transport connects to Internet.
Definition: tport_tag.h:81
TPORT_DLL tagi_t tport_tags[]
Filter list matching any tport tag.
Definition: tport_tag.c:51