diff --git a/misc.h b/misc.h index d5999cbe..ce927ec5 100644 --- a/misc.h +++ b/misc.h @@ -59,10 +59,14 @@ void base64_encode_atom(const unsigned char *data, int n, char *out); int base64_decode_atom(const char *atom, unsigned char *out); struct bufchain_granule; -typedef struct bufchain_tag { +struct bufchain_tag { struct bufchain_granule *head, *tail; int buffersize; /* current amount of buffered data */ -} bufchain; +}; +#ifndef BUFCHAIN_TYPEDEF +typedef struct bufchain_tag bufchain; /* rest of declaration in misc.c */ +#define BUFCHAIN_TYPEDEF +#endif void bufchain_init(bufchain *ch); void bufchain_clear(bufchain *ch); diff --git a/network.h b/network.h index 10be046f..d58635b6 100644 --- a/network.h +++ b/network.h @@ -229,7 +229,10 @@ Socket new_error_socket(const char *errmsg, Plug plug); void backend_socket_log(void *frontend, int type, SockAddr addr, int port, const char *error_msg, int error_code, Conf *conf, int session_started); +#ifndef BUFCHAIN_TYPEDEF typedef struct bufchain_tag bufchain; /* rest of declaration in misc.c */ +#define BUFCHAIN_TYPEDEF +#endif void log_proxy_stderr(Plug plug, bufchain *buf, const void *vdata, int len); #endif