summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/librdkafka-2.1.0/src/rd.h
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/lib/librdkafka-2.1.0/src/rd.h')
-rw-r--r--fluent-bit/lib/librdkafka-2.1.0/src/rd.h436
1 files changed, 0 insertions, 436 deletions
diff --git a/fluent-bit/lib/librdkafka-2.1.0/src/rd.h b/fluent-bit/lib/librdkafka-2.1.0/src/rd.h
deleted file mode 100644
index 670605de..00000000
--- a/fluent-bit/lib/librdkafka-2.1.0/src/rd.h
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * librd - Rapid Development C library
- *
- * Copyright (c) 2012, Magnus Edenhill
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-#ifndef _RD_H_
-#define _RD_H_
-
-#ifndef _WIN32
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE /* for strndup() */
-#endif
-
-#if defined(__APPLE__) && !defined(_DARWIN_C_SOURCE)
-#define _DARWIN_C_SOURCE /* for strlcpy, pthread_setname_np, etc */
-#endif
-
-#define __need_IOV_MAX
-#ifndef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 200809L /* for timespec on solaris */
-#endif
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <time.h>
-#include <assert.h>
-#include <limits.h>
-
-#include "tinycthread.h"
-#include "rdsysqueue.h"
-
-#ifdef _WIN32
-/* Visual Studio */
-#include "win32_config.h"
-#else
-/* POSIX / UNIX based systems */
-#include "../config.h" /* mklove output */
-#endif
-
-#ifdef _WIN32
-/* Win32/Visual Studio */
-#include "rdwin32.h"
-
-#else
-/* POSIX / UNIX based systems */
-#include "rdposix.h"
-#endif
-
-#include "rdtypes.h"
-
-#if WITH_SYSLOG
-#include <syslog.h>
-#else
-#define LOG_EMERG 0
-#define LOG_ALERT 1
-#define LOG_CRIT 2
-#define LOG_ERR 3
-#define LOG_WARNING 4
-#define LOG_NOTICE 5
-#define LOG_INFO 6
-#define LOG_DEBUG 7
-#endif
-
-
-/* Debug assert, only enabled with --enable-devel */
-#if ENABLE_DEVEL == 1
-#define rd_dassert(cond) rd_assert(cond)
-#else
-#define rd_dassert(cond) \
- do { \
- } while (0)
-#endif
-
-#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
-/** Function attribute to indicate that a sentinel NULL is required at the
- * end of the va-arg input list. */
-#define RD_SENTINEL __attribute__((__sentinel__))
-#else
-#define RD_SENTINEL
-#endif
-
-
-/** Assert if reached */
-#define RD_NOTREACHED() rd_assert(!*"/* NOTREACHED */ violated")
-
-/** Assert if reached */
-#define RD_BUG(...) \
- do { \
- fprintf(stderr, \
- "INTERNAL ERROR: librdkafka %s:%d: ", __FUNCTION__, \
- __LINE__); \
- fprintf(stderr, __VA_ARGS__); \
- fprintf(stderr, "\n"); \
- rd_assert(!*"INTERNAL ERROR IN LIBRDKAFKA"); \
- } while (0)
-
-
-
-/**
- * Allocator wrappers.
- * We serve under the premise that if a (small) memory
- * allocation fails all hope is lost and the application
- * will fail anyway, so no need to handle it handsomely.
- */
-static RD_INLINE RD_UNUSED void *rd_calloc(size_t num, size_t sz) {
- void *p = calloc(num, sz);
- rd_assert(p);
- return p;
-}
-
-static RD_INLINE RD_UNUSED void *rd_malloc(size_t sz) {
- void *p = malloc(sz);
- rd_assert(p);
- return p;
-}
-
-static RD_INLINE RD_UNUSED void *rd_realloc(void *ptr, size_t sz) {
- void *p = realloc(ptr, sz);
- rd_assert(p);
- return p;
-}
-
-static RD_INLINE RD_UNUSED void rd_free(void *ptr) {
- free(ptr);
-}
-
-static RD_INLINE RD_UNUSED char *rd_strdup(const char *s) {
-#ifndef _WIN32
- char *n = strdup(s);
-#else
- char *n = _strdup(s);
-#endif
- rd_assert(n);
- return n;
-}
-
-static RD_INLINE RD_UNUSED char *rd_strndup(const char *s, size_t len) {
-#if HAVE_STRNDUP
- char *n = strndup(s, len);
- rd_assert(n);
-#else
- char *n = (char *)rd_malloc(len + 1);
- rd_assert(n);
- memcpy(n, s, len);
- n[len] = '\0';
-#endif
- return n;
-}
-
-
-
-/*
- * Portability
- */
-
-#ifdef strndupa
-#define rd_strndupa(DESTPTR, PTR, LEN) (*(DESTPTR) = strndupa(PTR, LEN))
-#else
-#define rd_strndupa(DESTPTR, PTR, LEN) \
- do { \
- const char *_src = (PTR); \
- size_t _srclen = (LEN); \
- char *_dst = rd_alloca(_srclen + 1); \
- memcpy(_dst, _src, _srclen); \
- _dst[_srclen] = '\0'; \
- *(DESTPTR) = _dst; \
- } while (0)
-#endif
-
-#ifdef strdupa
-#define rd_strdupa(DESTPTR, PTR) (*(DESTPTR) = strdupa(PTR))
-#else
-#define rd_strdupa(DESTPTR, PTR) \
- do { \
- const char *_src1 = (PTR); \
- size_t _srclen1 = strlen(_src1); \
- rd_strndupa(DESTPTR, _src1, _srclen1); \
- } while (0)
-#endif
-
-#ifndef IOV_MAX
-#ifdef __APPLE__
-/* Some versions of MacOSX dont have IOV_MAX */
-#define IOV_MAX 1024
-#elif defined(_WIN32) || defined(__GNU__)
-/* There is no IOV_MAX on MSVC or GNU but it is used internally in librdkafka */
-#define IOV_MAX 1024
-#else
-#error "IOV_MAX not defined"
-#endif
-#endif
-
-
-/* Round/align X upwards to STRIDE, which must be power of 2. */
-#define RD_ROUNDUP(X, STRIDE) (((X) + ((STRIDE)-1)) & ~(STRIDE - 1))
-
-#define RD_ARRAY_SIZE(A) (sizeof((A)) / sizeof(*(A)))
-#define RD_ARRAYSIZE(A) RD_ARRAY_SIZE(A)
-#define RD_SIZEOF(TYPE, MEMBER) sizeof(((TYPE *)NULL)->MEMBER)
-#define RD_OFFSETOF(TYPE, MEMBER) ((size_t) & (((TYPE *)NULL)->MEMBER))
-
-/**
- * Returns the 'I'th array element from static sized array 'A'
- * or NULL if 'I' is out of range.
- * var-args is an optional prefix to provide the correct return type.
- */
-#define RD_ARRAY_ELEM(A, I, ...) \
- ((unsigned int)(I) < RD_ARRAY_SIZE(A) ? __VA_ARGS__(A)[(I)] : NULL)
-
-
-#define RD_STRINGIFY(X) #X
-
-
-
-#define RD_MIN(a, b) ((a) < (b) ? (a) : (b))
-#define RD_MAX(a, b) ((a) > (b) ? (a) : (b))
-
-
-/**
- * Cap an integer (of any type) to reside within the defined limit.
- */
-#define RD_INT_CAP(val, low, hi) \
- ((val) < (low) ? low : ((val) > (hi) ? (hi) : (val)))
-
-
-
-/**
- * Allocate 'size' bytes, copy 'src', return pointer to new memory.
- *
- * Use rd_free() to free the returned pointer.
- */
-static RD_INLINE RD_UNUSED void *rd_memdup(const void *src, size_t size) {
- void *dst = rd_malloc(size);
- memcpy(dst, src, size);
- return dst;
-}
-
-/**
- * @brief Memset &OBJ to 0, does automatic sizeof(OBJ).
- */
-#define RD_MEMZERO(OBJ) memset(&(OBJ), 0, sizeof(OBJ))
-
-
-/**
- * Generic refcnt interface
- */
-
-#if !HAVE_ATOMICS_32
-#define RD_REFCNT_USE_LOCKS 1
-#endif
-
-#ifdef RD_REFCNT_USE_LOCKS
-typedef struct rd_refcnt_t {
- mtx_t lock;
- int v;
-} rd_refcnt_t;
-#else
-typedef rd_atomic32_t rd_refcnt_t;
-#endif
-
-#ifdef RD_REFCNT_USE_LOCKS
-static RD_INLINE RD_UNUSED int rd_refcnt_init(rd_refcnt_t *R, int v) {
- int r;
- mtx_init(&R->lock, mtx_plain);
- mtx_lock(&R->lock);
- r = R->v = v;
- mtx_unlock(&R->lock);
- return r;
-}
-#else
-#define rd_refcnt_init(R, v) rd_atomic32_init(R, v)
-#endif
-
-#ifdef RD_REFCNT_USE_LOCKS
-static RD_INLINE RD_UNUSED void rd_refcnt_destroy(rd_refcnt_t *R) {
- mtx_lock(&R->lock);
- rd_assert(R->v == 0);
- mtx_unlock(&R->lock);
-
- mtx_destroy(&R->lock);
-}
-#else
-#define rd_refcnt_destroy(R) \
- do { \
- } while (0)
-#endif
-
-
-#ifdef RD_REFCNT_USE_LOCKS
-static RD_INLINE RD_UNUSED int rd_refcnt_set(rd_refcnt_t *R, int v) {
- int r;
- mtx_lock(&R->lock);
- r = R->v = v;
- mtx_unlock(&R->lock);
- return r;
-}
-#else
-#define rd_refcnt_set(R, v) rd_atomic32_set(R, v)
-#endif
-
-
-#ifdef RD_REFCNT_USE_LOCKS
-static RD_INLINE RD_UNUSED int rd_refcnt_add0(rd_refcnt_t *R) {
- int r;
- mtx_lock(&R->lock);
- r = ++(R->v);
- mtx_unlock(&R->lock);
- return r;
-}
-#else
-#define rd_refcnt_add0(R) rd_atomic32_add(R, 1)
-#endif
-
-static RD_INLINE RD_UNUSED int rd_refcnt_sub0(rd_refcnt_t *R) {
- int r;
-#ifdef RD_REFCNT_USE_LOCKS
- mtx_lock(&R->lock);
- r = --(R->v);
- mtx_unlock(&R->lock);
-#else
- r = rd_atomic32_sub(R, 1);
-#endif
- if (r < 0)
- rd_assert(!*"refcnt sub-zero");
- return r;
-}
-
-#ifdef RD_REFCNT_USE_LOCKS
-static RD_INLINE RD_UNUSED int rd_refcnt_get(rd_refcnt_t *R) {
- int r;
- mtx_lock(&R->lock);
- r = R->v;
- mtx_unlock(&R->lock);
- return r;
-}
-#else
-#define rd_refcnt_get(R) rd_atomic32_get(R)
-#endif
-
-/**
- * A wrapper for decreasing refcount and calling a destroy function
- * when refcnt reaches 0.
- */
-#define rd_refcnt_destroywrapper(REFCNT, DESTROY_CALL) \
- do { \
- if (rd_refcnt_sub(REFCNT) > 0) \
- break; \
- DESTROY_CALL; \
- } while (0)
-
-
-#define rd_refcnt_destroywrapper2(REFCNT, WHAT, DESTROY_CALL) \
- do { \
- if (rd_refcnt_sub2(REFCNT, WHAT) > 0) \
- break; \
- DESTROY_CALL; \
- } while (0)
-
-#if ENABLE_REFCNT_DEBUG
-#define rd_refcnt_add_fl(FUNC, LINE, R) \
- (fprintf(stderr, "REFCNT DEBUG: %-35s %d +1: %16p: %s:%d\n", #R, \
- rd_refcnt_get(R), (R), (FUNC), (LINE)), \
- rd_refcnt_add0(R))
-
-#define rd_refcnt_add(R) rd_refcnt_add_fl(__FUNCTION__, __LINE__, (R))
-
-#define rd_refcnt_add2(R, WHAT) \
- do { \
- fprintf(stderr, \
- "REFCNT DEBUG: %-35s %d +1: %16p: %16s: %s:%d\n", #R, \
- rd_refcnt_get(R), (R), WHAT, __FUNCTION__, __LINE__), \
- rd_refcnt_add0(R); \
- } while (0)
-
-#define rd_refcnt_sub2(R, WHAT) \
- (fprintf(stderr, "REFCNT DEBUG: %-35s %d -1: %16p: %16s: %s:%d\n", #R, \
- rd_refcnt_get(R), (R), WHAT, __FUNCTION__, __LINE__), \
- rd_refcnt_sub0(R))
-
-#define rd_refcnt_sub(R) \
- (fprintf(stderr, "REFCNT DEBUG: %-35s %d -1: %16p: %s:%d\n", #R, \
- rd_refcnt_get(R), (R), __FUNCTION__, __LINE__), \
- rd_refcnt_sub0(R))
-
-#else
-#define rd_refcnt_add_fl(FUNC, LINE, R) rd_refcnt_add0(R)
-#define rd_refcnt_add(R) rd_refcnt_add0(R)
-#define rd_refcnt_sub(R) rd_refcnt_sub0(R)
-#endif
-
-
-
-#define RD_IF_FREE(PTR, FUNC) \
- do { \
- if ((PTR)) \
- FUNC(PTR); \
- } while (0)
-
-
-/**
- * @brief Utility types to hold memory,size tuple.
- */
-
-typedef struct rd_chariov_s {
- char *ptr;
- size_t size;
-} rd_chariov_t;
-
-#endif /* _RD_H_ */