Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2021-09-13 15:03:52 +0300
committerVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2021-09-13 15:09:25 +0300
commit84efddb04ec9ceb7743d30c711c0afac12bbf777 (patch)
tree97c4021608670763f0f9f662ef8bbe26dfff6c57 /include
parent5e91100067cd5eb57f4f1edde434bb89d55e7e97 (diff)
...G...PS. [ZBXNEXT-6840] cherry picked from 5.0 and fixed conflict in trapper.c
Diffstat (limited to 'include')
-rw-r--r--include/common.h3
-rw-r--r--include/comms.h21
2 files changed, 14 insertions, 10 deletions
diff --git a/include/common.h b/include/common.h
index c7d03735469..10cf601bc0c 100644
--- a/include/common.h
+++ b/include/common.h
@@ -1140,7 +1140,8 @@ void zbx_setproctitle(const char *fmt, ...) __zbx_attr_format_printf(1, 2);
#define ZBX_JAN_2038 2145916800
#define ZBX_JAN_1970_IN_SEC 2208988800.0 /* 1970 - 1900 in seconds */
-#define ZBX_MAX_RECV_DATA_SIZE (1 * ZBX_GIBIBYTE)
+#define ZBX_MAX_RECV_DATA_SIZE (1 * ZBX_GIBIBYTE)
+#define ZBX_MAX_RECV_LARGE_DATA_SIZE (__UINT64_C(16) * ZBX_GIBIBYTE)
/* max length of base64 data */
#define ZBX_MAX_B64_LEN (16 * ZBX_KIBIBYTE)
diff --git a/include/comms.h b/include/comms.h
index f1e5f8c5a70..824b6196e7b 100644
--- a/include/comms.h
+++ b/include/comms.h
@@ -113,6 +113,7 @@ int zbx_tcp_connect(zbx_socket_t *s, const char *source_ip, const char *ip, unsi
#define ZBX_TCP_PROTOCOL 0x01
#define ZBX_TCP_COMPRESS 0x02
+#define ZBX_TCP_LARGE 0x04
#define ZBX_TCP_SEC_UNENCRYPTED 1 /* do not use encryption with this socket */
#define ZBX_TCP_SEC_TLS_PSK 2 /* use TLS with pre-shared key (PSK) with this socket */
@@ -123,12 +124,13 @@ int zbx_tcp_connect(zbx_socket_t *s, const char *source_ip, const char *ip, unsi
const char *zbx_tcp_connection_type_name(unsigned int type);
-#define zbx_tcp_send(s, d) zbx_tcp_send_ext((s), (d), strlen(d), ZBX_TCP_PROTOCOL, 0)
-#define zbx_tcp_send_to(s, d, timeout) zbx_tcp_send_ext((s), (d), strlen(d), ZBX_TCP_PROTOCOL, timeout)
-#define zbx_tcp_send_bytes_to(s, d, len, timeout) zbx_tcp_send_ext((s), (d), len, ZBX_TCP_PROTOCOL, timeout)
-#define zbx_tcp_send_raw(s, d) zbx_tcp_send_ext((s), (d), strlen(d), 0, 0)
+#define zbx_tcp_send(s, d) zbx_tcp_send_ext((s), (d), strlen(d), 0, ZBX_TCP_PROTOCOL, 0)
+#define zbx_tcp_send_to(s, d, timeout) zbx_tcp_send_ext((s), (d), strlen(d), 0, ZBX_TCP_PROTOCOL, timeout)
+#define zbx_tcp_send_bytes_to(s, d, len, timeout) zbx_tcp_send_ext((s), (d), len, 0, ZBX_TCP_PROTOCOL, timeout)
+#define zbx_tcp_send_raw(s, d) zbx_tcp_send_ext((s), (d), strlen(d), 0, 0, 0)
-int zbx_tcp_send_ext(zbx_socket_t *s, const char *data, size_t len, unsigned char flags, int timeout);
+int zbx_tcp_send_ext(zbx_socket_t *s, const char *data, size_t len, size_t reserved, unsigned char flags,
+ int timeout);
void zbx_tcp_close(zbx_socket_t *s);
@@ -143,11 +145,12 @@ void zbx_tcp_unaccept(zbx_socket_t *s);
#define ZBX_TCP_READ_UNTIL_CLOSE 0x01
-#define zbx_tcp_recv(s) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, 0))
-#define zbx_tcp_recv_to(s, timeout) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, timeout))
-#define zbx_tcp_recv_raw(s) SUCCEED_OR_FAIL(zbx_tcp_recv_raw_ext(s, 0))
+#define zbx_tcp_recv(s) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, 0, 0))
+#define zbx_tcp_recv_large(s) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, 0, ZBX_TCP_LARGE))
+#define zbx_tcp_recv_to(s, timeout) SUCCEED_OR_FAIL(zbx_tcp_recv_ext(s, timeout, 0))
+#define zbx_tcp_recv_raw(s) SUCCEED_OR_FAIL(zbx_tcp_recv_raw_ext(s, 0))
-ssize_t zbx_tcp_recv_ext(zbx_socket_t *s, int timeout);
+ssize_t zbx_tcp_recv_ext(zbx_socket_t *s, int timeout, unsigned char flags);
ssize_t zbx_tcp_recv_raw_ext(zbx_socket_t *s, int timeout);
const char *zbx_tcp_recv_line(zbx_socket_t *s);