#ifndef __DEFENDER_H__
#define __DEFENDER_H__
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
struct defender_request {
struct sample clientip;
#include <haproxy/compression.h>
#include <haproxy/pipe.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/server.h>
#include <proto/ssl_sock.h>
#include <proto/stats.h>
#include <haproxy/auth-t.h>
#include <haproxy/api.h>
#include <haproxy/pattern-t.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
extern struct userlist *userlist;
#define _HAPROXY_MAP_T_H
#include <haproxy/pattern-t.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
struct map_descriptor {
struct sample_conv *conv; /* original converter descriptor */
#define _HAPROXY_MAP_H
#include <haproxy/map-t.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
/* maps output sample parser */
int map_parse_ip(const char *text, struct sample_data *data);
#include <haproxy/thread-t.h>
#include <haproxy/api-t.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
/* Pattern matching function result.
#define _HAPROXY_PAYLOAD_H
#include <haproxy/api.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
#include <types/stream.h>
int fetch_rdp_cookie_name(struct stream *s, struct sample *smp, const char *cname, int clen);
/*
- * include/types/sample.h
+ * include/haproxy/sample-t.h
* Macros, variables and structures for sample management.
*
* Copyright (C) 2009-2010 EXCELIANCE, Emeric Brun <ebrun@exceliance.fr>
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef _TYPES_SAMPLE_H
-#define _TYPES_SAMPLE_H
+#ifndef _HAPROXY_SAMPLE_T_H
+#define _HAPROXY_SAMPLE_T_H
#include <sys/socket.h>
#include <netinet/in.h>
+#include <haproxy/api-t.h>
#include <haproxy/buf-t.h>
#include <haproxy/http-t.h>
#include <haproxy/list-t.h>
-struct arg;
-
/* input and output sample types */
enum {
SMP_T_ANY = 0, /* any type */
SMP_VAL_BE_CHK_RUL,
};
-extern const unsigned int fetch_cap[SMP_SRC_ENTRIES];
-
/* Sample fetch options are passed to sample fetch functions to add precision
* about what is desired :
* - fetch direction (req/resp)
/* needed below */
struct session;
struct stream;
+struct arg;
/* a sample context might be used by any sample fetch function in order to
* store information needed across multiple calls (eg: restart point for a
};
typedef int (*sample_cast_fct)(struct sample *smp);
-extern sample_cast_fct sample_casts[SMP_TYPES][SMP_TYPES];
-#endif /* _TYPES_SAMPLE_H */
+#endif /* _HAPROXY_SAMPLE_T_H */
/*
- * include/proto/sample.h
+ * include/haproxy/sample.h
* Functions for samples management.
*
* Copyright (C) 2009-2010 EXCELIANCE, Emeric Brun <ebrun@exceliance.fr>
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef _PROTO_SAMPLE_H
-#define _PROTO_SAMPLE_H
+#ifndef _HAPROXY_SAMPLE_H
+#define _HAPROXY_SAMPLE_H
-#include <types/sample.h>
+#include <haproxy/arg-t.h>
+#include <haproxy/api.h>
+#include <haproxy/sample-t.h>
#include <types/stick_table.h>
+extern sample_cast_fct sample_casts[SMP_TYPES][SMP_TYPES];
+extern const unsigned int fetch_cap[SMP_SRC_ENTRIES];
extern const char *smp_to_type[SMP_TYPES];
struct sample_expr *sample_parse_expr(char **str, int *idx, const char *file, int line, char **err, struct arg_list *al, char **endptr);
return smp && (smp_is_rw(smp) || smp_dup(smp));
}
-#endif /* _PROTO_SAMPLE_H */
+#endif /* _HAPROXY_SAMPLE_H */
#include <haproxy/api.h>
#include <types/acl.h>
-#include <proto/sample.h>
/*
* FIXME: we need destructor functions too !
#include <haproxy/arg-t.h>
#include <types/channel.h>
#include <types/checks.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
struct htx *smp_prefetch_htx(struct sample *smp, struct channel *chn, struct check *check, int vol);
int val_hdr(struct arg *arg, char **err_msg);
#include <inttypes.h>
#include <haproxy/arg-t.h>
+#include <haproxy/sample-t.h>
#include <types/protocol_buffers.h>
-#include <proto/sample.h>
#define PBUF_VARINT_DONT_STOP_BIT 7
#define PBUF_VARINT_DONT_STOP_BITMASK (1 << PBUF_VARINT_DONT_STOP_BIT)
#define _PROTO_SPOE_H
#include <haproxy/intops.h>
+#include <haproxy/sample-t.h>
#include <types/spoe.h>
-#include <proto/sample.h>
-
/* Encode a buffer. Its length <len> is encoded as a varint, followed by a copy
* of <str>. It must have enough space in <*buf> to encode the buffer, else an
#include <types/connection.h>
#include <types/proxy.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
#include <types/server.h>
#include <types/session.h>
#include <types/task.h>
size_t sz;
};
+struct sample;
struct protobuf_parser_def {
int (*skip)(unsigned char **pos, size_t *left, size_t vlen);
int (*smp_store)(struct sample *, int type,
#include <types/filters.h>
#include <haproxy/freq_ctr-t.h>
#include <types/log.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
#include <types/server.h>
#include <types/stick_table.h>
#include <haproxy/freq_ctr-t.h>
#include <types/log.h>
#include <types/proxy.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
#include <types/stream.h>
#include <types/task.h>
#include <haproxy/pool-t.h>
#include <haproxy/freq_ctr-t.h>
#include <types/peers.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
/* The types of extra data we can store in a stick table */
enum {
#include <haproxy/list-t.h>
#include <haproxy/thread.h>
-#include <types/sample.h>
+#include <haproxy/sample-t.h>
enum vars_scope {
SCOPE_SESS = 0,
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <import/xxhash.h>
#include <import/lru.h>
#include <51Degrees.h>
#include <proto/channel.h>
#include <proto/log.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/stick_table.h>
#include <import/ebsttree.h>
#include <proto/proto_tcp.h>
#include <proto/proxy.h>
#include <proto/queue.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/server.h>
#include <proto/session.h>
#include <proto/stream.h>
#include <haproxy/http_htx.h>
#include <haproxy/http_rules.h>
#include <haproxy/listener.h>
+#include <haproxy/sample.h>
#include <types/stats.h>
#include <proto/acl.h>
#include <proto/http_ana.h>
#include <proto/proxy.h>
#include <proto/peers.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/session.h>
#include <proto/server.h>
#include <proto/stream.h>
#include <proto/log.h>
#include <haproxy/proto_udp.h>
#include <proto/ssl_sock.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
static int tcpcheck_get_step_id(struct check *, struct tcpcheck_rule *);
#include <haproxy/listener.h>
#include <haproxy/mworker-t.h>
#include <haproxy/pattern-t.h>
+#include <haproxy/sample-t.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <haproxy/pipe.h>
#include <haproxy/protocol.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/session.h>
#include <proto/stream.h>
#include <proto/server.h>
#include <haproxy/fd.h>
#include <proto/proto_tcp.h>
#include <proto/stream_interface.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/ssl_sock.h>
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <dac.h>
static struct {
#include <haproxy/dns.h>
#include <haproxy/errors.h>
#include <haproxy/http_rules.h>
+#include <haproxy/sample.h>
#include <haproxy/time.h>
#include <haproxy/ticks.h>
#include <haproxy/net_helper.h>
#include <haproxy/fd.h>
#include <proto/http_ana.h>
#include <proto/log.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/task.h>
#include <haproxy/proto_udp.h>
#include <haproxy/errors.h>
#include <haproxy/http_htx.h>
#include <haproxy/regex.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <types/global.h>
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/session.h>
#include <common/cfgparse.h>
#include <haproxy/htx.h>
#include <haproxy/list.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <types/filters.h>
#include <types/proxy.h>
-#include <types/sample.h>
#include <proto/filters.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
#include <proto/stream.h>
const char *http_comp_flt_id = "compression filter";
#include <common/cfgparse.h>
#include <haproxy/frontend.h>
#include <haproxy/http_rules.h>
+#include <haproxy/sample.h>
#include <haproxy/thread.h>
#include <haproxy/pool.h>
#include <haproxy/time.h>
#include <proto/log.h>
#include <proto/http_ana.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/session.h>
#include <proto/signal.h>
#include <proto/spoe.h>
#include <haproxy/api.h>
#include <haproxy/chunk.h>
#include <haproxy/frontend.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <proto/proto_tcp.h>
#include <proto/http_ana.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <haproxy/net_helper.h>
#include <haproxy/openssl-compat.h>
#include <haproxy/pattern.h>
+#include <haproxy/sample.h>
#include <haproxy/regex.h>
#include <haproxy/tools.h>
#include <haproxy/time.h>
#include <haproxy/obj_type.h>
#include <haproxy/pattern.h>
#include <haproxy/payload.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <types/cli.h>
#include <proto/http_fetch.h>
#include <proto/queue.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/session.h>
#include <proto/stream.h>
#include <haproxy/pattern.h>
#include <haproxy/pool.h>
#include <haproxy/regex.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <common/uri_auth.h>
#include <haproxy/version.h>
#include <haproxy/chunk.h>
#include <haproxy/http.h>
#include <haproxy/pool.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/version.h>
#include <types/global.h>
#include <haproxy/arg.h>
-#include <proto/sample.h>
#include <proto/stream.h>
static int smp_check_http_date_unit(struct arg *args, struct sample_conv *conv,
#include <haproxy/htx.h>
#include <haproxy/obj_type.h>
#include <haproxy/pool.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/version.h>
#include <proto/http_fetch.h>
#include <proto/log.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
#include <proto/stream.h>
#include <haproxy/api.h>
#include <haproxy/regex.h>
+#include <haproxy/sample.h>
#include <types/global.h>
#include <common/cfgparse.h>
#include <haproxy/arg.h>
#include <proto/http_fetch.h>
-#include <proto/sample.h>
struct buffer http_err_chunks[HTTP_ERR_SIZE];
struct http_reply http_err_replies[HTTP_ERR_SIZE];
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
/* List head of all known action keywords for "http-request" */
#include <proto/log.h>
#include <haproxy/protocol.h>
#include <haproxy/proto_sockpair.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/stream.h>
#include <proto/task.h>
#include <haproxy/fd.h>
#include <proto/log.h>
#include <haproxy/ring.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <haproxy/sink.h>
#include <proto/ssl_sock.h>
#include <proto/stream.h>
#include <proto/cli.h>
#include <proto/log.h>
#include <proto/stream_interface.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
/* Parse an IPv4 or IPv6 address and store it into the sample.
* The output type is IPv4 or IPv6.
#include <types/global.h>
#include <proto/log.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <import/ebsttree.h>
#include <import/lru.h>
#include <haproxy/arg.h>
#include <proto/channel.h>
#include <proto/connection.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/http_ana.h>
#include <haproxy/http_rules.h>
#include <haproxy/list.h>
#include <haproxy/listener.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/namespace.h>
#include <proto/http_ana.h>
#include <proto/proto_tcp.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/task.h>
#include <proto/tcp_rules.h>
#include <haproxy/api.h>
#include <haproxy/http_rules.h>
#include <haproxy/pool.h>
+#include <haproxy/sample.h>
#include <haproxy/time.h>
#include <haproxy/thread.h>
#include <import/eb32tree.h>
#include <proto/http_ana.h>
#include <proto/queue.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/http.h>
#include <haproxy/net_helper.h>
#include <haproxy/regex.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <common/uri_auth.h>
#include <haproxy/base64.h>
#include <proto/log.h>
#include <proto/proxy.h>
#include <proto/protocol_buffers.h>
-#include <proto/sample.h>
#include <haproxy/sink.h>
#include <proto/stick_table.h>
#include <proto/vars.h>
#include <haproxy/dns.h>
#include <haproxy/errors.h>
#include <haproxy/namespace.h>
+#include <haproxy/sample.h>
#include <haproxy/time.h>
#include <types/applet.h>
#include <haproxy/port_range.h>
#include <haproxy/protocol.h>
#include <proto/queue.h>
-#include <proto/sample.h>
#include <proto/server.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/buf-t.h>
#include <haproxy/obj_type.h>
#include <haproxy/openssl-compat.h>
+#include <haproxy/sample.h>
#include <haproxy/ssl_utils.h>
#include <haproxy/tools.h>
-#include <types/sample.h>
#include <types/ssl_sock.h>
#include <proto/acl.h>
#include <haproxy/arg.h>
#include <proto/ssl_sock.h>
-#include <proto/sample.h>
/***** Below are some sample fetching functions for ACL/patterns *****/
#include <proto/log.h>
#include <haproxy/pipe.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/session.h>
#include <proto/ssl_sock.h>
#include <proto/stream.h>
#include <proto/http_ana.h>
#include <proto/proto_tcp.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <proto/stick_table.h>
#include <proto/proxy.h>
#include <proto/queue.h>
#include <proto/server.h>
-#include <proto/sample.h>
#include <proto/stick_table.h>
#include <proto/stream_interface.h>
#include <proto/task.h>
#include <haproxy/capture-t.h>
#include <common/cfgparse.h>
#include <haproxy/list.h>
+#include <haproxy/sample.h>
#include <haproxy/tools.h>
#include <haproxy/ticks.h>
#include <haproxy/time.h>
#include <proto/connection.h>
#include <proto/log.h>
#include <proto/proxy.h>
-#include <proto/sample.h>
#include <proto/stick_table.h>
#include <proto/stream.h>
#include <proto/stream_interface.h>
#include <haproxy/http.h>
#include <haproxy/http_rules.h>
#include <haproxy/list.h>
+#include <haproxy/sample.h>
#include <types/vars.h>
#include <haproxy/arg.h>
#include <proto/http_ana.h>
-#include <proto/sample.h>
#include <proto/stream.h>
#include <proto/tcp_rules.h>
#include <proto/vars.h>
#include <proto/log.h>
#include <proto/http_ana.h>
#include <proto/http_fetch.h>
-#include <proto/sample.h>
+#include <haproxy/sample.h>
#include <import/ebsttree.h>
#include <import/ebmbtree.h>