REORG: include: move vars.h to haproxy/vars{,-t}.h

A few includes (sessions.h, stream.h, api-t.h) were added for arguments
that were first declared in function prototypes.
This commit is contained in:
Willy Tarreau 2020-06-04 16:25:31 +02:00
parent b23e5958ed
commit a171892501
19 changed files with 112 additions and 70 deletions

View File

@ -28,8 +28,8 @@
#include <haproxy/buf-t.h>
#include <haproxy/list-t.h>
#include <haproxy/protobuf-t.h>
#include <haproxy/vars-t.h>
#include <types/vars.h>
#include <types/stick_table.h>
/* encoding of each arg type : up to 31 types are supported */

57
include/haproxy/vars-t.h Normal file
View File

@ -0,0 +1,57 @@
/*
* include/haproxy/vars-t.h
* Macros and structures definitions for variables.
*
* Copyright (C) 2015 Thierry FOURNIER <tfournier@arpalert.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, version 2.1
* exclusively.
*
* 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 _HAPROXY_VARS_T_H
#define _HAPROXY_VARS_T_H
#include <haproxy/list-t.h>
#include <haproxy/sample-t.h>
#include <haproxy/thread-t.h>
enum vars_scope {
SCOPE_SESS = 0,
SCOPE_TXN,
SCOPE_REQ,
SCOPE_RES,
SCOPE_PROC,
SCOPE_CHECK,
};
struct vars {
struct list head;
enum vars_scope scope;
unsigned int size;
__decl_thread(HA_RWLOCK_T rwlock);
};
/* This struct describes a variable. */
struct var_desc {
const char *name; /* Contains the normalized variable name. */
enum vars_scope scope;
};
struct var {
struct list l; /* Used for chaining vars. */
const char *name; /* Contains the variable name. */
struct sample_data data; /* data storage. */
};
#endif

40
include/haproxy/vars.h Normal file
View File

@ -0,0 +1,40 @@
/*
* include/haproxy/vars.h
* Prototypes for variables.
*
* Copyright (C) 2015 Thierry FOURNIER <tfournier@arpalert.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, version 2.1
* exclusively.
*
* 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 _HAPROXY_VARS_H
#define _HAPROXY_VARS_H
#include <types/session.h>
#include <types/stream.h>
#include <haproxy/api-t.h>
#include <haproxy/vars-t.h>
void vars_init(struct vars *vars, enum vars_scope scope);
void vars_prune(struct vars *vars, struct session *sess, struct stream *strm);
void vars_prune_per_sess(struct vars *vars);
int vars_get_by_name(const char *name, size_t len, struct sample *smp);
int vars_set_by_name_ifexist(const char *name, size_t len, struct sample *smp);
int vars_set_by_name(const char *name, size_t len, struct sample *smp);
int vars_unset_by_name_ifexist(const char *name, size_t len, struct sample *smp);
int vars_get_by_desc(const struct var_desc *var_desc, struct sample *smp);
int vars_check_arg(struct arg *arg, char **err);
#endif

View File

@ -1,16 +0,0 @@
#ifndef _PROTO_VARS_H
#define _PROTO_VARS_H
#include <types/vars.h>
void vars_init(struct vars *vars, enum vars_scope scope);
void vars_prune(struct vars *vars, struct session *sess, struct stream *strm);
void vars_prune_per_sess(struct vars *vars);
int vars_get_by_name(const char *name, size_t len, struct sample *smp);
int vars_set_by_name_ifexist(const char *name, size_t len, struct sample *smp);
int vars_set_by_name(const char *name, size_t len, struct sample *smp);
int vars_unset_by_name_ifexist(const char *name, size_t len, struct sample *smp);
int vars_get_by_desc(const struct var_desc *var_desc, struct sample *smp);
int vars_check_arg(struct arg *arg, char **err);
#endif

View File

@ -26,11 +26,11 @@
#include <haproxy/api-t.h>
#include <haproxy/thread.h>
#include <haproxy/vars-t.h>
#include <haproxy/freq_ctr-t.h>
#include <types/proxy.h>
#include <types/task.h>
#include <types/vars.h>
#ifndef UNIX_MAX_PATH
#define UNIX_MAX_PATH 108

View File

@ -31,11 +31,11 @@
#include <haproxy/api-t.h>
#include <haproxy/list-t.h>
#include <haproxy/obj_type-t.h>
#include <haproxy/vars-t.h>
#include <types/proxy.h>
#include <types/stick_table.h>
#include <types/task.h>
#include <types/vars.h>
struct sess_srv_list {
void *target;

View File

@ -33,6 +33,7 @@
#include <haproxy/hlua-t.h>
#include <haproxy/list-t.h>
#include <haproxy/obj_type-t.h>
#include <haproxy/vars-t.h>
#include <types/channel.h>
#include <types/filters.h>
@ -44,7 +45,6 @@
#include <types/stream_interface.h>
#include <types/task.h>
#include <types/stick_table.h>
#include <types/vars.h>
/* Various Stream Flags, bits values 0x01 to 0x100 (shift 0) */
#define SF_DIRECT 0x00000001 /* connection made on the server matching the client cookie */

View File

@ -1,37 +0,0 @@
#ifndef _TYPES_VARS_H
#define _TYPES_VARS_H
#include <haproxy/list-t.h>
#include <haproxy/thread.h>
#include <haproxy/sample-t.h>
enum vars_scope {
SCOPE_SESS = 0,
SCOPE_TXN,
SCOPE_REQ,
SCOPE_RES,
SCOPE_PROC,
SCOPE_CHECK,
};
struct vars {
struct list head;
enum vars_scope scope;
unsigned int size;
__decl_thread(HA_RWLOCK_T rwlock);
};
/* This struct describes a variable. */
struct var_desc {
const char *name; /* Contains the normalized variable name. */
enum vars_scope scope;
};
struct var {
struct list l; /* Used for chaining vars. */
const char *name; /* Contains the variable name. */
struct sample_data data; /* data storage. */
};
#endif

View File

@ -45,6 +45,7 @@
#include <haproxy/http_htx.h>
#include <haproxy/h1.h>
#include <haproxy/htx.h>
#include <haproxy/vars.h>
#include <types/global.h>
#include <types/stats.h>
@ -64,7 +65,6 @@
#include <proto/signal.h>
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <proto/vars.h>
#include <proto/log.h>
#include <haproxy/proto_udp.h>
#include <proto/ssl_sock.h>

View File

@ -29,6 +29,7 @@
#include <haproxy/time.h>
#include <haproxy/ticks.h>
#include <haproxy/net_helper.h>
#include <haproxy/vars.h>
#include <types/applet.h>
#include <types/cli.h>
@ -47,7 +48,6 @@
#include <proto/proxy.h>
#include <proto/stream_interface.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
struct list dns_resolvers = LIST_HEAD_INIT(dns_resolvers);
struct list dns_srvrq_list = LIST_HEAD_INIT(dns_srvrq_list);

View File

@ -21,6 +21,7 @@
#include <haproxy/thread.h>
#include <haproxy/pool.h>
#include <haproxy/time.h>
#include <haproxy/vars.h>
#include <haproxy/arg-t.h>
#include <types/global.h>
@ -41,7 +42,6 @@
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
#if defined(DEBUG_SPOE) || defined(DEBUG_FULL)
#define SPOE_PRINTF(x...) fprintf(x)

View File

@ -105,6 +105,7 @@
#include <common/uri_auth.h>
#include <haproxy/version.h>
#include <haproxy/thread.h>
#include <haproxy/vars.h>
#include <haproxy/capture-t.h>
#include <types/cli.h>
@ -132,7 +133,6 @@
#include <proto/stream.h>
#include <proto/signal.h>
#include <proto/task.h>
#include <proto/vars.h>
#include <proto/ssl_sock.h>
/* array of init calls for older platforms */

View File

@ -39,6 +39,7 @@
#include <haproxy/payload.h>
#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/vars.h>
#include <types/cli.h>
#include <types/proxy.h>
@ -59,7 +60,6 @@
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
/* Lua uses longjmp to perform yield or throwing errors. This
* macro is used only for identifying the function that can

View File

@ -18,6 +18,7 @@
#include <haproxy/htx.h>
#include <haproxy/net_helper.h>
#include <haproxy/regex.h>
#include <haproxy/vars.h>
#include <common/uri_auth.h>
#include <haproxy/capture-t.h>
@ -34,7 +35,6 @@
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <proto/stats.h>
#include <proto/vars.h>
#define TRACE_SOURCE &trace_strm

View File

@ -29,6 +29,7 @@
#include <haproxy/regex.h>
#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/vars.h>
#include <common/uri_auth.h>
#include <haproxy/base64.h>
@ -37,7 +38,6 @@
#include <proto/proxy.h>
#include <haproxy/sink.h>
#include <proto/stick_table.h>
#include <proto/vars.h>
#include <import/sha1.h>
#include <import/xxhash.h>

View File

@ -14,6 +14,7 @@
#include <haproxy/http.h>
#include <haproxy/listener.h>
#include <haproxy/pool.h>
#include <haproxy/vars.h>
#include <types/global.h>
#include <types/session.h>
@ -24,7 +25,6 @@
#include <proto/session.h>
#include <proto/stream.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
DECLARE_POOL(pool_head_session, "session", sizeof(struct session));
DECLARE_POOL(pool_head_sess_srv_list, "session server list",

View File

@ -59,6 +59,7 @@
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <haproxy/base64.h>
#include <haproxy/vars.h>
#include <import/ebpttree.h>
#include <import/ebsttree.h>
@ -85,7 +86,6 @@
#include <proto/ssl_sock.h>
#include <proto/stream.h>
#include <proto/task.h>
#include <proto/vars.h>
/* ***** READ THIS before adding code here! *****
*

View File

@ -28,6 +28,7 @@
#include <haproxy/thread.h>
#include <haproxy/htx.h>
#include <haproxy/pool.h>
#include <haproxy/vars.h>
#include <types/applet.h>
#include <types/cli.h>
@ -59,7 +60,6 @@
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
DECLARE_POOL(pool_head_stream, "stream", sizeof(struct stream));
DECLARE_POOL(pool_head_uniqueid, "uniqueid", UNIQUEID_LEN);

View File

@ -6,14 +6,12 @@
#include <haproxy/http_rules.h>
#include <haproxy/list.h>
#include <haproxy/sample.h>
#include <types/vars.h>
#include <haproxy/vars.h>
#include <haproxy/arg.h>
#include <proto/http_ana.h>
#include <proto/stream.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
#include <proto/checks.h>
/* This contains a pool of struct vars */