Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

GlobalConstants.h

Go to the documentation of this file.
00001 #ifndef __GLOBALCONSTANTS_H
00002 #define __GLOBALCONSTANTS_H
00003 
00004 #include <math.h>
00005  
00006 #define PEEK_A_BOOTY_VERSION "0.7.5.3"
00007 
00008 //
00009 // return/error values
00010 //
00011 #define PB_OK (0)
00012 #define PB_ERROR (-1)
00013 #define PB_BAD_SERVICE (-2)
00014 #define PB_BAD_ADDRESS (-3)
00015 #define PB_UNREACHABLE (-4)
00016 #define PB_NOT_CONNECTED (-5)
00017 #define PB_UNIMPLEMENTED (-6)
00018 
00019 //
00020 // Link Layer Values
00021 //
00022 
00024 #define DEFAULT_CONNECTION_TYPE ConnectionInterface::TCP_CONNECTION
00025 
00027 const int DEFAULT_PORT = 443;
00028 
00030 const int MAX_CONNECTIONS = 16;
00031 
00033 const int MIN_CONNECTIONS = 10;
00034 
00036 const int MAX_HOST_LIST_SIZE = 128;
00037 
00039 #define REQUESTED_SOCKET_VERSION 2,2
00040 
00041 
00042 //
00043 // SSL Values
00044 //
00045 
00047 #define DEFAULT_SERVER_CERTIFICATE_FILE "server_certificate.pem"
00048 
00050 #define DEFAULT_SERVER_PRIVATE_KEY_FILE "server_private_key.pem"
00051 
00053 #define DEFAULT_SERVER_PRIVATE_KEY_PASSWORD "peekabooty-server"
00054 
00056 #define DEFAULT_CLIENT_CERTIFICATE_FILE "client_certificate.pem"
00057 
00059 #define DEFAULT_CLIENT_PRIVATE_KEY_FILE "client_private_key.pem"
00060 
00062 #define DEFAULT_CLIENT_PRIVATE_KEY_PASSWORD "peekabooty-client"
00063 
00065 #define DEFAULT_OPENSSL_CONFIGURATION_FILE "openssl.cnf"
00066 
00068 #define DEFAULT_OPENSSL_PATH "."
00069 
00070 
00071 //
00072 // Network Layer Values
00073 //
00074 
00076 const int VERSION_NUMBER = 0x01;
00077 
00079 const int MAX_HEADER_LENGTH = 30;
00080 
00082 const int MIN_HEADER_LENGTH = 7;   
00083 
00085 const int MINI_HEADER_LENGTH = 3;  
00086 
00088 const int MAX_DATASIZE = (int)pow(2, 16) - MAX_HEADER_LENGTH;
00089 
00091 const int MAX_PACKET_LENGTH = MAX_HEADER_LENGTH + MAX_DATASIZE ;
00092 
00096 const int BROADCAST_LIFE = 30000;
00097 
00099 const int LIVE_BROADCAST_TABLE_SIZE = 10;
00100 
00103 const int MAX_DISCOVERY_REQUESTS = 2;
00104 
00107 const int NP_HEADER_LENGTH = 7;  
00108 
00110 const int CP_HEADER_LENGTH = NP_HEADER_LENGTH + 19; 
00111 
00113 const int IH_HEADER_LENGTH = NP_HEADER_LENGTH + 23;
00114 
00116 const int DP_HEADER_LENGTH = NP_HEADER_LENGTH + 4; 
00117 
00119 const int FP_HEADER_LENGTH = NP_HEADER_LENGTH + 1; 
00120 
00123 const double DEFAULT_DISCOVERY_RESPONSE_PROBABILITY = 0.266;
00124 
00127 const double DEFAULT_DISCOVERY_PROPAGATION_PROBABILITY = 0.75;
00128 
00130 const double DEFAULT_CONNECTION_PROPAGATION_PROBABILITY = 0.50;
00131 
00132 
00133 //
00134 // Transport layer values
00135 //
00136 
00138 const int CONNECTION_TIMEOUT = 5000;
00139 
00141 const int CONNECTION_MAX_TRIES = 1; //15;
00142 
00144 const int REPAIR_CONNECTION_TIMEOUT = 30000;
00145 
00147 const int REPAIR_CONNECTION_MAX_RETRY = 0; //15;
00148 
00150 const int BROKEN_CONNECTION_TIMEOUT = 10000;
00151 
00153 //const int DISCONNECT_TIMEOUT = 500;
00154 
00156 const int TP_HEADER_LENGTH = 3;  
00157 
00160 const int SEGMENT_SIZE = 32768 - TP_HEADER_LENGTH - NP_HEADER_LENGTH; //1024;
00161 
00163 const int WINDOW_SIZE = 16; 
00164 
00167 const int SEND_PACKET_MAX_RETRY = 1;
00168 
00170 const int MAX_SEND_WINDOW_TIMEOUTS = 3;
00171 
00173 const int DEFAULT_RTT = 2000;
00174 
00176 const int SEND_WINDOW_TIMEOUT = DEFAULT_RTT + 2000;
00177 
00179 const double RETRANSMISSION_FACTOR = 1.5; 
00180 
00182 const double RTT_FACTOR = .9; 
00183 
00185 const int SEQ_NUM_SPACE = ((int)pow(2, 8));
00186 
00187 
00188 //
00189 // App Layer values
00190 //
00191 
00193 const int PROXY_PORT = 26689;
00194 
00196 const int HTTP_TEST_PROCESSOR_PORT = 8000;
00197 
00198 
00199 //
00200 // Configuration file stuff
00201 //
00202 
00204 #define DEFAULT_CONFIG_FILE "pb.cfg"
00205 
00207 #define DEFAULT_HOST_FILE "host.lst"
00208 
00211 #define DELIM "=" 
00212 
00214 const int MAX_PATH_LENGTH = 256;
00215 
00217 const int MAX_HOSTNAME_LENGTH = 256;
00218 
00220 const int MAX_LINE_LENGTH  = 1024;
00221 
00222 
00223 //
00224 // Command line/testing interface stuff
00225 //
00226 
00228 const int MAX_COMMAND_ARGS = 15;
00229 
00231 #define PROMPT  ("PaB " PEEK_A_BOOTY_VERSION ">")
00232 
00233 
00234 //
00235 // String length convenience definitions
00236 //
00237 
00239 const int MAX_IP_ADDR_STR = 16;
00240 
00242 const int MAX_INT_LENGTH = 11;
00243 
00245 const int MAX_BOOL_LENGTH = 6;
00246 
00248 const int MAX_PORT_STR_LENGTH = 6;
00249 
00251 const int IP_PORT_FIELD_LENGTH = MAX_IP_ADDR_STR + MAX_PORT_STR_LENGTH + 2;
00252 
00254 const int VCN_FIELD_LENGTH = MAX_INT_LENGTH + 2;
00255 
00256 
00257 //
00258 // Convenience macros/constants
00259 //
00260 
00261 #ifndef MAXINT
00262 
00263 #define MAXINT 2147483647
00264 #endif
00265 
00267 #define S_UCHAR         1
00268 
00270 #define S_USHORT        2
00271 
00273 #define S_UINT          4
00274 
00275 #ifndef WIN32
00276 #define min(a,b) (a>b?b:a)
00277 #endif
00278 
00279 #endif

Generated at Thu Jul 11 13:31:50 2002 for Peekabooty by doxygen1.2.9 written by Dimitri van Heesch, © 1997-2001