Mixes for Privacy and Anonymity in the Internet
Macros | Typedefs
StdAfx.h File Reference

Macros

#define MIX_VERSION   "00.12.06"
 
#define MIX_VERSION_TESTING   true
 
#define MIX_VERSION_TESTING_TEXT   "This is a testing/development version. Please do not expect it to work in a productive environment, and don't be surprised if you get unpredictive results or segmentation faults. If you don't like experiments, go and get the stable code.\n"
 
#define STR_HELPER(x)   #x
 
#define STR(x)   STR_HELPER(x)
 
#define NO_INFOSERVICE_TRHEADS
 
#define NEW_FLOW_CONTROL
 
#define NEW_CHANNEL_ENCRYPTION
 
#define LOG_COUNTRIES_INTERVALL   6
 
#define DELAY_USERS_TRAFFIC   0
 
#define DELAY_USERS_BUCKET_GROW_INTERVALL   100
 
#define DELAY_USERS_BUCKET_GROW   10
 
#define DELAY_CHANNEL_LATENCY   0
 
#define REPLAY_TIMESTAMP_PROPAGATION_INTERVALL   1
 
#define KEEP_ALIVE_TRAFFIC_RECV_WAIT_TIME   75000
 
#define KEEP_ALIVE_TRAFFIC_SEND_WAIT_TIME   65000
 
#define SSL_HACK
 
#define MAX_POLLFD   8192
 
#define CLIENTS_PER_IP   100
 
#define CHANNELS_PER_CLIENT   500
 
#define FIRST_MIX_RECEIVE_SYM_KEY_FROM_JAP_TIME_OUT   40000
 
#define LAST_MIX_TO_PROXY_CONNECT_TIMEOUT   2000
 
#define AI_LOGIN_SO_TIMEOUT   (UINT32) 10000
 
#define LAST_MIX_TO_PROXY_SEND_TIMEOUT   (UINT32)5000
 
#define MIX_TO_INFOSERVICE_TIMEOUT   30000
 
#define NUM_LOGIN_WORKER_TRHEADS   10
 
#define MAX_LOGIN_QUEUE   500
 
#define MAX_USER_SEND_QUEUE   100000
 
#define MAX_DATA_PER_CHANNEL   100000
 
#define USER_SEND_BUFFER_RESUME   10000
 
#define PAYMENT_ACCOUNT_CERT_TIMEOUT   180
 
#define CLEANUP_THREAD_SLEEP_INTERVAL   60
 
#define BALANCE_REQUEST_TIMEOUT   60
 
#define MAX_SIGNATURE_ELEMENTS   10
 
#define FLOW_CONTROL_SENDME_HARD_LIMIT   16000
 
#define FLOW_CONTROL_SENDME_SOFT_LIMIT   8000
 
#define MAX_READ_FROM_PREV_MIX_QUEUE_SIZE   10000000
 
#define MAX_READ_FROM_NEXT_MIX_QUEUE_SIZE   10000000
 
#define MAX_MIXIN_SEND_QUEUE_SIZE   10000000
 
#define MAX_NEXT_MIX_QUEUE_SIZE   10000000
 
#define DEFAULT_INFOSERVICE   "141.76.45.37"
 
#define MIX_POOL_SIZE   10
 
#define MIX_POOL_TIMEOUT   200
 
#define DUMMY_CHANNEL   0
 
#define FM_PACKET_STATS_LOG_INTERVALL   1
 
#define LM_PACKET_STATS_LOG_INTERVALL   1
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_1_2   12
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_1_1   11
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_1_0   10
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_8   8
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_7   7
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_5   5
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_4   4
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_3   3
 
#define MIX_CASCADE_PROTOCOL_VERSION_0_2   2
 
#define MIX_CASCADE_PROTOCOL_VERSION   "0.81"
 
#define PAYMENT_VERSION   "2.0"
 
#define HAVE_UNIX_DOMAIN_PROTOCOL
 
#define HAVE_VSNPRINTF
 
#define HAVE_SNPRINTF
 
#define HAVE_POLL
 
#define HAVE_O_SYNC
 
#define HAVE_PTHREAD_MUTEX_INIT
 
#define HAVE_PTHREAD_COND_INIT
 
#define HAVE_SEM_INIT
 
#define HAVE_TCP_KEEPALIVE
 
#define O_BINARY   0
 
#define MAX_PATH   4096
 
#define MSG_NOSIGNAL   0
 
#define EPOLL_HANDLE   SINT32
 
#define epoll_close   close
 
#define SOCKET   int
 
#define ioctlsocket(a, b, c)   ioctl(a,b,c)
 
#define closesocket(s)   close(s)
 
#define SOCKET_ERROR   -1
 
#define INVALID_SOCKET   -1
 
#define SD_RECEIVE   0
 
#define SD_SEND   1
 
#define SD_BOTH   2
 
#define GET_NET_ERROR   (errno)
 
#define SET_NET_ERROR(x)   (errno = x)
 
#define GET_NET_ERROR_STR(x)   (errno == E_TIMEDOUT ? "Connection timed out." : (errno == E_SOCKETCLOSED ? "Socket is closed." : strerror(x)))
 
#define RESETERROR   errno=0;
 
#define GETERROR   (errno)
 
#define ERR_INTERN_TIMEDOUT   ETIMEDOUT
 
#define ERR_INTERN_CONNREFUSED   ECONNREFUSED
 
#define ERR_INTERN_WOULDBLOCK   EAGAIN
 
#define ERR_INTERN_SOCKET_CLOSED   EBADF
 
#define INADDR_NONE   -1
 
#define AF_LOCAL   AF_UNIX
 
#define MSG_DONTWAIT   0
 
#define S_IREAD   S_IRUSR
 
#define S_IWRITE   S_IWUSR
 
#define myfilewrite   write
 
#define HAVE_PTHREAD_CV
 
#define HAVE_PTHREAD_MUTEXES
 
#define HAVE_PTHREAD_SEMAPHORE
 
#define THREAD_RETURN   void*
 
#define THREAD_RETURN_ERROR   return(NULL)
 
#define THREAD_RETURN_SUCCESS   return (NULL)
 
#define ASSERT(cond, msg)
 
#define WITHOUT_TRIO
 
#define O_LARGEFILE   0
 
#define min(a, b)   (( (a) < (b) ) ? (a):(b) )
 
#define max(a, b)   (((a) > (b) ) ? (a):(b))
 
#define MY_XERCES_VERSION   "unknown"
 
#define PAYMENT_VERSION_INFO   " (payment)"
 
#define PAYMENT_COMPATIBILITY   "Payment"
 
#define DATA_RETENTION_LOG_INFO
 
#define NEW_FLOW_CONTROL_INFO   " (with new flow control)"
 
#define NEW_FLOW_CONTROL_COMPATIBILITY   "NewFlowControl"
 
#define NEW_CHANNEL_ENCRYPTION_INFO   " (with enhanced channel encryption)"
 
#define NEW_CHANNEL_ENCRYPTION_COMPATIBILITY   "NewChannelEncryption"
 
#define WITH_INTEGRITY_CHECK_INFO
 
#define WITH_INTEGRITY_CHECK_COMPATIBILITY
 
#define WITH_DELAY_CHANNELS_INFO
 
#define WITH_DELAY_USERS_INFO   " (with delay users)"
 
#define XML_LIB_VERSION   "\nUsing Xerces-C: " MY_XERCES_VERSION
 
#define MIX_VERSION_INFO   "Mix-Version: " MIX_VERSION PAYMENT_VERSION_INFO DATA_RETENTION_LOG_INFO NEW_FLOW_CONTROL_INFO NEW_CHANNEL_ENCRYPTION_INFO WITH_INTEGRITY_CHECK_INFO WITH_DELAY_CHANNELS_INFO WITH_DELAY_USERS_INFO "\nUsing: " OPENSSL_VERSION_TEXT XML_LIB_VERSION "\n"
 
#define MIX_VERSION_COMPATIBILITY   PAYMENT_COMPATIBILITY " " NEW_FLOW_CONTROL_COMPATIBILITY " " NEW_CHANNEL_ENCRYPTION_COMPATIBILITY " " WITH_INTEGRITY_CHECK_COMPATIBILITY
 
#define MAX_ACCOUNTNUMBER   999999999999ULL
 
#define MIN_ACCOUNTNUMBER   100000000000ULL
 
#define ACCOUNT_NUMBER_SIZE   12
 

Typedefs

typedef int socklen_t
 
typedef struct sockaddr SOCKADDR
 
typedef SOCKADDRLPSOCKADDR
 
typedef struct hostent HOSTENT
 

Macro Definition Documentation

◆ ACCOUNT_NUMBER_SIZE

#define ACCOUNT_NUMBER_SIZE   12

◆ AF_LOCAL

#define AF_LOCAL   AF_UNIX

◆ AI_LOGIN_SO_TIMEOUT

#define AI_LOGIN_SO_TIMEOUT   (UINT32) 10000

◆ ASSERT

#define ASSERT (   cond,
  msg 
)

◆ BALANCE_REQUEST_TIMEOUT

#define BALANCE_REQUEST_TIMEOUT   60

◆ CHANNELS_PER_CLIENT

#define CHANNELS_PER_CLIENT   500

◆ CLEANUP_THREAD_SLEEP_INTERVAL

#define CLEANUP_THREAD_SLEEP_INTERVAL   60

◆ CLIENTS_PER_IP

#define CLIENTS_PER_IP   100

◆ closesocket

#define closesocket (   s)    close(s)

◆ DATA_RETENTION_LOG_INFO

#define DATA_RETENTION_LOG_INFO

◆ DEFAULT_INFOSERVICE

#define DEFAULT_INFOSERVICE   "141.76.45.37"

◆ DELAY_CHANNEL_LATENCY

#define DELAY_CHANNEL_LATENCY   0

◆ DELAY_USERS_BUCKET_GROW

#define DELAY_USERS_BUCKET_GROW   10

◆ DELAY_USERS_BUCKET_GROW_INTERVALL

#define DELAY_USERS_BUCKET_GROW_INTERVALL   100

◆ DELAY_USERS_TRAFFIC

#define DELAY_USERS_TRAFFIC   0

◆ DUMMY_CHANNEL

#define DUMMY_CHANNEL   0

◆ epoll_close

#define epoll_close   close

◆ EPOLL_HANDLE

#define EPOLL_HANDLE   SINT32

◆ ERR_INTERN_CONNREFUSED

#define ERR_INTERN_CONNREFUSED   ECONNREFUSED

◆ ERR_INTERN_SOCKET_CLOSED

#define ERR_INTERN_SOCKET_CLOSED   EBADF

◆ ERR_INTERN_TIMEDOUT

#define ERR_INTERN_TIMEDOUT   ETIMEDOUT

◆ ERR_INTERN_WOULDBLOCK

#define ERR_INTERN_WOULDBLOCK   EAGAIN

◆ FIRST_MIX_RECEIVE_SYM_KEY_FROM_JAP_TIME_OUT

#define FIRST_MIX_RECEIVE_SYM_KEY_FROM_JAP_TIME_OUT   40000

◆ FLOW_CONTROL_SENDME_HARD_LIMIT

#define FLOW_CONTROL_SENDME_HARD_LIMIT   16000

Referenced by CALastMixA::loop().

◆ FLOW_CONTROL_SENDME_SOFT_LIMIT

#define FLOW_CONTROL_SENDME_SOFT_LIMIT   8000

◆ FM_PACKET_STATS_LOG_INTERVALL

#define FM_PACKET_STATS_LOG_INTERVALL   1

Referenced by CAFirstMix::init().

◆ GET_NET_ERROR

#define GET_NET_ERROR   (errno)

◆ GET_NET_ERROR_STR

#define GET_NET_ERROR_STR (   x)    (errno == E_TIMEDOUT ? "Connection timed out." : (errno == E_SOCKETCLOSED ? "Socket is closed." : strerror(x)))

◆ GETERROR

#define GETERROR   (errno)

◆ HAVE_O_SYNC

#define HAVE_O_SYNC

◆ HAVE_POLL

#define HAVE_POLL

◆ HAVE_PTHREAD_COND_INIT

#define HAVE_PTHREAD_COND_INIT

◆ HAVE_PTHREAD_CV

#define HAVE_PTHREAD_CV

◆ HAVE_PTHREAD_MUTEX_INIT

#define HAVE_PTHREAD_MUTEX_INIT

◆ HAVE_PTHREAD_MUTEXES

#define HAVE_PTHREAD_MUTEXES

◆ HAVE_PTHREAD_SEMAPHORE

#define HAVE_PTHREAD_SEMAPHORE

◆ HAVE_SEM_INIT

#define HAVE_SEM_INIT

◆ HAVE_SNPRINTF

#define HAVE_SNPRINTF

◆ HAVE_TCP_KEEPALIVE

#define HAVE_TCP_KEEPALIVE

◆ HAVE_UNIX_DOMAIN_PROTOCOL

#define HAVE_UNIX_DOMAIN_PROTOCOL

◆ HAVE_VSNPRINTF

#define HAVE_VSNPRINTF

◆ INADDR_NONE

#define INADDR_NONE   -1

◆ INVALID_SOCKET

#define INVALID_SOCKET   -1

◆ ioctlsocket

#define ioctlsocket (   a,
  b,
 
)    ioctl(a,b,c)

◆ KEEP_ALIVE_TRAFFIC_RECV_WAIT_TIME

#define KEEP_ALIVE_TRAFFIC_RECV_WAIT_TIME   75000

◆ KEEP_ALIVE_TRAFFIC_SEND_WAIT_TIME

#define KEEP_ALIVE_TRAFFIC_SEND_WAIT_TIME   65000

◆ LAST_MIX_TO_PROXY_CONNECT_TIMEOUT

#define LAST_MIX_TO_PROXY_CONNECT_TIMEOUT   2000

◆ LAST_MIX_TO_PROXY_SEND_TIMEOUT

#define LAST_MIX_TO_PROXY_SEND_TIMEOUT   (UINT32)5000

◆ LM_PACKET_STATS_LOG_INTERVALL

#define LM_PACKET_STATS_LOG_INTERVALL   1

Referenced by CALastMix::init().

◆ LOG_COUNTRIES_INTERVALL

#define LOG_COUNTRIES_INTERVALL   6

◆ max

#define max (   a,
 
)    (((a) > (b) ) ? (a):(b))

◆ MAX_ACCOUNTNUMBER

#define MAX_ACCOUNTNUMBER   999999999999ULL

◆ MAX_DATA_PER_CHANNEL

#define MAX_DATA_PER_CHANNEL   100000

◆ MAX_LOGIN_QUEUE

#define MAX_LOGIN_QUEUE   500

◆ MAX_MIXIN_SEND_QUEUE_SIZE

#define MAX_MIXIN_SEND_QUEUE_SIZE   10000000

◆ MAX_NEXT_MIX_QUEUE_SIZE

#define MAX_NEXT_MIX_QUEUE_SIZE   10000000

◆ MAX_PATH

#define MAX_PATH   4096

◆ MAX_POLLFD

#define MAX_POLLFD   8192

◆ MAX_READ_FROM_NEXT_MIX_QUEUE_SIZE

#define MAX_READ_FROM_NEXT_MIX_QUEUE_SIZE   10000000

◆ MAX_READ_FROM_PREV_MIX_QUEUE_SIZE

#define MAX_READ_FROM_PREV_MIX_QUEUE_SIZE   10000000

◆ MAX_SIGNATURE_ELEMENTS

#define MAX_SIGNATURE_ELEMENTS   10

◆ MAX_USER_SEND_QUEUE

#define MAX_USER_SEND_QUEUE   100000

◆ min

#define min (   a,
 
)    (( (a) < (b) ) ? (a):(b) )

◆ MIN_ACCOUNTNUMBER

#define MIN_ACCOUNTNUMBER   100000000000ULL

◆ MIX_CASCADE_PROTOCOL_VERSION

#define MIX_CASCADE_PROTOCOL_VERSION   "0.81"

◆ MIX_CASCADE_PROTOCOL_VERSION_0_1_0

#define MIX_CASCADE_PROTOCOL_VERSION_0_1_0   10

◆ MIX_CASCADE_PROTOCOL_VERSION_0_1_1

#define MIX_CASCADE_PROTOCOL_VERSION_0_1_1   11

◆ MIX_CASCADE_PROTOCOL_VERSION_0_1_2

#define MIX_CASCADE_PROTOCOL_VERSION_0_1_2   12

◆ MIX_CASCADE_PROTOCOL_VERSION_0_2

#define MIX_CASCADE_PROTOCOL_VERSION_0_2   2

◆ MIX_CASCADE_PROTOCOL_VERSION_0_3

#define MIX_CASCADE_PROTOCOL_VERSION_0_3   3

◆ MIX_CASCADE_PROTOCOL_VERSION_0_4

#define MIX_CASCADE_PROTOCOL_VERSION_0_4   4

◆ MIX_CASCADE_PROTOCOL_VERSION_0_5

#define MIX_CASCADE_PROTOCOL_VERSION_0_5   5

◆ MIX_CASCADE_PROTOCOL_VERSION_0_7

#define MIX_CASCADE_PROTOCOL_VERSION_0_7   7

◆ MIX_CASCADE_PROTOCOL_VERSION_0_8

#define MIX_CASCADE_PROTOCOL_VERSION_0_8   8

◆ MIX_POOL_SIZE

#define MIX_POOL_SIZE   10

◆ MIX_POOL_TIMEOUT

#define MIX_POOL_TIMEOUT   200

◆ MIX_TO_INFOSERVICE_TIMEOUT

#define MIX_TO_INFOSERVICE_TIMEOUT   30000

◆ MIX_VERSION

#define MIX_VERSION   "00.12.06"

◆ MIX_VERSION_COMPATIBILITY

◆ MIX_VERSION_INFO

◆ MIX_VERSION_TESTING

#define MIX_VERSION_TESTING   true

◆ MIX_VERSION_TESTING_TEXT

#define MIX_VERSION_TESTING_TEXT   "This is a testing/development version. Please do not expect it to work in a productive environment, and don't be surprised if you get unpredictive results or segmentation faults. If you don't like experiments, go and get the stable code.\n"

◆ MSG_DONTWAIT

#define MSG_DONTWAIT   0

◆ MSG_NOSIGNAL

#define MSG_NOSIGNAL   0

◆ MY_XERCES_VERSION

#define MY_XERCES_VERSION   "unknown"

◆ myfilewrite

#define myfilewrite   write

◆ NEW_CHANNEL_ENCRYPTION

#define NEW_CHANNEL_ENCRYPTION

◆ NEW_CHANNEL_ENCRYPTION_COMPATIBILITY

#define NEW_CHANNEL_ENCRYPTION_COMPATIBILITY   "NewChannelEncryption"

◆ NEW_CHANNEL_ENCRYPTION_INFO

#define NEW_CHANNEL_ENCRYPTION_INFO   " (with enhanced channel encryption)"

◆ NEW_FLOW_CONTROL

#define NEW_FLOW_CONTROL

◆ NEW_FLOW_CONTROL_COMPATIBILITY

#define NEW_FLOW_CONTROL_COMPATIBILITY   "NewFlowControl"

◆ NEW_FLOW_CONTROL_INFO

#define NEW_FLOW_CONTROL_INFO   " (with new flow control)"

◆ NO_INFOSERVICE_TRHEADS

#define NO_INFOSERVICE_TRHEADS

◆ NUM_LOGIN_WORKER_TRHEADS

#define NUM_LOGIN_WORKER_TRHEADS   10

◆ O_BINARY

#define O_BINARY   0

◆ O_LARGEFILE

#define O_LARGEFILE   0

◆ PAYMENT_ACCOUNT_CERT_TIMEOUT

#define PAYMENT_ACCOUNT_CERT_TIMEOUT   180

◆ PAYMENT_COMPATIBILITY

#define PAYMENT_COMPATIBILITY   "Payment"

◆ PAYMENT_VERSION

#define PAYMENT_VERSION   "2.0"

◆ PAYMENT_VERSION_INFO

#define PAYMENT_VERSION_INFO   " (payment)"

◆ REPLAY_TIMESTAMP_PROPAGATION_INTERVALL

#define REPLAY_TIMESTAMP_PROPAGATION_INTERVALL   1

◆ RESETERROR

#define RESETERROR   errno=0;

◆ S_IREAD

#define S_IREAD   S_IRUSR

◆ S_IWRITE

#define S_IWRITE   S_IWUSR

◆ SD_BOTH

#define SD_BOTH   2

◆ SD_RECEIVE

#define SD_RECEIVE   0

◆ SD_SEND

#define SD_SEND   1

◆ SET_NET_ERROR

#define SET_NET_ERROR (   x)    (errno = x)

◆ SOCKET

#define SOCKET   int

◆ SOCKET_ERROR

#define SOCKET_ERROR   -1

◆ SSL_HACK

#define SSL_HACK

◆ STR

#define STR (   x)    STR_HELPER(x)

◆ STR_HELPER

#define STR_HELPER (   x)    #x

◆ THREAD_RETURN

#define THREAD_RETURN   void*

◆ THREAD_RETURN_ERROR

#define THREAD_RETURN_ERROR   return(NULL)

Referenced by consumer(), and producer().

◆ THREAD_RETURN_SUCCESS

#define THREAD_RETURN_SUCCESS   return (NULL)

◆ USER_SEND_BUFFER_RESUME

#define USER_SEND_BUFFER_RESUME   10000

◆ WITH_DELAY_CHANNELS_INFO

#define WITH_DELAY_CHANNELS_INFO

◆ WITH_DELAY_USERS_INFO

#define WITH_DELAY_USERS_INFO   " (with delay users)"

◆ WITH_INTEGRITY_CHECK_COMPATIBILITY

#define WITH_INTEGRITY_CHECK_COMPATIBILITY

◆ WITH_INTEGRITY_CHECK_INFO

#define WITH_INTEGRITY_CHECK_INFO

◆ WITHOUT_TRIO

#define WITHOUT_TRIO

◆ XML_LIB_VERSION

#define XML_LIB_VERSION   "\nUsing Xerces-C: " MY_XERCES_VERSION

Typedef Documentation

◆ HOSTENT

typedef struct hostent HOSTENT

◆ LPSOCKADDR

typedef SOCKADDR* LPSOCKADDR

◆ SOCKADDR

typedef struct sockaddr SOCKADDR

◆ socklen_t

typedef int socklen_t