Mixes for Privacy and Anonymity in the Internet
Classes | Macros | Typedefs | Functions | Variables
typedefsb.hpp File Reference

Classes

struct  t_first_upstream_chain_cell
 
struct  t_sequel_upstream_chain_cell
 
struct  t_upstream_chain_cell
 
struct  t_first_downstream_chain_cell
 
struct  t_sequel_downstream_chain_cell
 
struct  t_downstream_chain_cell
 

Macros

#define CHANNEL_DOWNSTREAM_PACKETS   10
 
#define CHANNEL_TIMEOUT   15
 
#define CHAIN_TIMEOUT   30
 
#define DEADLINE_TIMEOUT   5
 
#define CHAIN_ID_LENGTH   8
 
#define CHAINFLAG_STREAM_CLOSED   0x4000
 
#define CHAINFLAG_NEW_CHAIN   0x2000
 
#define CHAINFLAG_FAST_RESPONSE   0x8000
 
#define CHAINFLAG_CONNECTION_ERROR   0x8000
 
#define CHAINFLAG_UNKNOWN_CHAIN   0x2000
 
#define CHAINFLAG_LENGTH_MASK   0x03FF
 
#define MAX_FIRST_UPSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - 1
 
#define MAX_SEQUEL_UPSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - CHAIN_ID_LENGTH
 
#define MAX_FIRST_DOWNSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - CHAIN_ID_LENGTH
 
#define MAX_SEQUEL_DOWNSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2
 

Typedefs

typedef t_upstream_chain_cell t_upstreamChainCell
 
typedef t_downstream_chain_cell t_downstreamChainCell
 

Functions

struct t_first_upstream_chain_cell __attribute__ ((__packed__))
 

Variables

UINT8 type
 
UINT8 data [MAX_FIRST_UPSTREAM_CHAINCELL_PAYLOAD]
 
UINT8 chainId [CHAIN_ID_LENGTH]
 
UINT16 lengthAndFlags
 
union {
   t_first_upstream_chain_cell   firstCell
 
   t_sequel_upstream_chain_cell   sequelCell
 
}; 
 
union {
   t_first_downstream_chain_cell   firstCell
 
   t_sequel_downstream_chain_cell   sequelCell
 
}; 
 

Macro Definition Documentation

◆ CHAIN_ID_LENGTH

#define CHAIN_ID_LENGTH   8

◆ CHAIN_TIMEOUT

#define CHAIN_TIMEOUT   30

◆ CHAINFLAG_CONNECTION_ERROR

#define CHAINFLAG_CONNECTION_ERROR   0x8000

◆ CHAINFLAG_FAST_RESPONSE

#define CHAINFLAG_FAST_RESPONSE   0x8000

Referenced by CALastMixB::loop().

◆ CHAINFLAG_LENGTH_MASK

#define CHAINFLAG_LENGTH_MASK   0x03FF

Referenced by CALastMixB::loop().

◆ CHAINFLAG_NEW_CHAIN

#define CHAINFLAG_NEW_CHAIN   0x2000

Referenced by CALastMixB::loop().

◆ CHAINFLAG_STREAM_CLOSED

#define CHAINFLAG_STREAM_CLOSED   0x4000

◆ CHAINFLAG_UNKNOWN_CHAIN

#define CHAINFLAG_UNKNOWN_CHAIN   0x2000

◆ CHANNEL_DOWNSTREAM_PACKETS

#define CHANNEL_DOWNSTREAM_PACKETS   10

◆ CHANNEL_TIMEOUT

#define CHANNEL_TIMEOUT   15

◆ DEADLINE_TIMEOUT

#define DEADLINE_TIMEOUT   5

◆ MAX_FIRST_DOWNSTREAM_CHAINCELL_PAYLOAD

#define MAX_FIRST_DOWNSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - CHAIN_ID_LENGTH

◆ MAX_FIRST_UPSTREAM_CHAINCELL_PAYLOAD

#define MAX_FIRST_UPSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - 1

Referenced by CALastMixB::loop().

◆ MAX_SEQUEL_DOWNSTREAM_CHAINCELL_PAYLOAD

#define MAX_SEQUEL_DOWNSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2

◆ MAX_SEQUEL_UPSTREAM_CHAINCELL_PAYLOAD

#define MAX_SEQUEL_UPSTREAM_CHAINCELL_PAYLOAD   DATA_SIZE - 2 - CHAIN_ID_LENGTH

Referenced by CALastMixB::loop().

Typedef Documentation

◆ t_downstreamChainCell

◆ t_upstreamChainCell

Function Documentation

◆ __attribute__()

struct t_first_upstream_chain_cell __attribute__ ( (__packed__)  )

Variable Documentation

◆ @12

union { ... }

◆ @16

union { ... }

◆ chainId

UINT8 chainId

◆ data

◆ firstCell

◆ lengthAndFlags

UINT16 lengthAndFlags

Referenced by CALastMixB::loop().

◆ sequelCell

◆ type

UINT8 type