|
|
diff -urN tiers1.1/src/Makefile tiers1.1.new/src/Makefile
|
|
|
--- tiers1.1/src/Makefile 1997-07-12 23:22:30.000000000 -0700
|
|
|
+++ tiers1.1.new/src/Makefile 2004-01-11 04:56:33.000000000 -0800
|
|
|
@@ -31,7 +31,9 @@
|
|
|
# flags
|
|
|
#
|
|
|
#FLAGS= -fconserve-space -fno-inline -Wall -Winline -Wpointer-arith -g -DDEBUG
|
|
|
-FLAGS= -g -fconserve-space
|
|
|
+FLAGS = $(CFLAGS) -fPIC #-g -fconserve-space
|
|
|
+CONFIGFILE = ./tiers_config
|
|
|
+FLAGS += -DCONFIGFILE="\"$(CONFIGFILE)\""
|
|
|
|
|
|
#
|
|
|
# tools
|
|
|
diff -urN tiers1.1/src/tiers.cc tiers1.1.new/src/tiers.cc
|
|
|
--- tiers1.1/src/tiers.cc 1997-03-04 13:54:18.000000000 -0800
|
|
|
+++ tiers1.1.new/src/tiers.cc 2004-01-11 04:56:33.000000000 -0800
|
|
|
@@ -24,6 +24,7 @@
|
|
|
#include "tiers.hh"
|
|
|
#endif
|
|
|
|
|
|
+#include "tiers_vars.hh"
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
@@ -506,4 +507,3 @@
|
|
|
}
|
|
|
|
|
|
// end of file
|
|
|
-
|
|
|
diff -urN tiers1.1/src/tiers.hh tiers1.1.new/src/tiers.hh
|
|
|
--- tiers1.1/src/tiers.hh 1998-01-12 02:10:46.000000000 -0800
|
|
|
+++ tiers1.1.new/src/tiers.hh 2004-01-11 04:56:33.000000000 -0800
|
|
|
@@ -20,6 +20,8 @@
|
|
|
#ifndef _TIERS_HH
|
|
|
#define _TIERS_HH
|
|
|
|
|
|
+using namespace std;
|
|
|
+
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
// Model
|
|
|
@@ -264,46 +266,46 @@
|
|
|
// Defined in tiers_config.cc
|
|
|
|
|
|
// Type of output produced by the model, e.g. Model::GENERIC, Model::GNUPLOT
|
|
|
-Model::OpType OP_TYPE;
|
|
|
+extern Model::OpType OP_TYPE;
|
|
|
|
|
|
// If set, TIERS_VERBOSE causes the output to contain the
|
|
|
// parameters used to generate the model and helpful headings
|
|
|
// If undefined, the output is a simple list of nodes and edges
|
|
|
-bool TIERS_VERBOSE;
|
|
|
+extern bool TIERS_VERBOSE;
|
|
|
|
|
|
// If set, TIERS_LABEL_XXX causes the output to contain a label for
|
|
|
// each of the nodes of type XXX
|
|
|
-bool TIERS_LABEL_WAN;
|
|
|
-bool TIERS_LABEL_MAN;
|
|
|
-bool TIERS_LABEL_LAN;
|
|
|
+extern bool TIERS_LABEL_WAN;
|
|
|
+extern bool TIERS_LABEL_MAN;
|
|
|
+extern bool TIERS_LABEL_LAN;
|
|
|
|
|
|
|
|
|
// If defined as true, the operation of the model is more verbose
|
|
|
// If undefined, the model should run with no debugging output
|
|
|
-bool TIERS_DEBUG;
|
|
|
+extern bool TIERS_DEBUG;
|
|
|
|
|
|
// If defined as true, then an undirected list of edges is produced in the
|
|
|
// output, i.e. the edges (i,j) and (j,i) only appear once in the output
|
|
|
// Note that all LAN edges are assumed bidirectional
|
|
|
-bool REMOVE_DUP_EDGES;
|
|
|
+extern bool REMOVE_DUP_EDGES;
|
|
|
|
|
|
// Set these true to apply proxmity tests to nodes in each network type
|
|
|
-bool PROXIMITY_TEST_WAN;
|
|
|
-bool PROXIMITY_TEST_MAN;
|
|
|
-bool PROXIMITY_TEST_LAN;
|
|
|
+extern bool PROXIMITY_TEST_WAN;
|
|
|
+extern bool PROXIMITY_TEST_MAN;
|
|
|
+extern bool PROXIMITY_TEST_LAN;
|
|
|
|
|
|
// The size of a unit in WAN, MAN and LAN grids
|
|
|
// e.g. 1000km, 1km, 1m would be best, but the current values fit with
|
|
|
// typical int sizes
|
|
|
-unsigned long int WAN_SCALE;
|
|
|
-unsigned long int MAN_SCALE;
|
|
|
-unsigned long int LAN_SCALE;
|
|
|
+extern unsigned long int WAN_SCALE;
|
|
|
+extern unsigned long int MAN_SCALE;
|
|
|
+extern unsigned long int LAN_SCALE;
|
|
|
|
|
|
// GRID is the size of the square grid on which points are placed
|
|
|
-unsigned long int GRID;
|
|
|
+extern unsigned long int GRID;
|
|
|
|
|
|
// The comment character for output
|
|
|
-char COM;
|
|
|
+extern char COM;
|
|
|
|
|
|
|
|
|
//
|
|
|
@@ -311,13 +313,13 @@
|
|
|
//
|
|
|
|
|
|
// The output directory for results from gnuplot
|
|
|
-char *title;
|
|
|
+extern char *title;
|
|
|
|
|
|
// The title for results from gnuplot
|
|
|
-char *outputdir;
|
|
|
+extern char *outputdir;
|
|
|
|
|
|
// Create a unique identifier for each model
|
|
|
-long int ModelId;
|
|
|
+extern long int ModelId;
|
|
|
|
|
|
// Forward declaration
|
|
|
unsigned long int max(unsigned long int A, unsigned long int B);
|
|
|
diff -urN tiers1.1/src/tiers_config.cc tiers1.1.new/src/tiers_config.cc
|
|
|
--- tiers1.1/src/tiers_config.cc 1997-07-13 02:55:53.000000000 -0700
|
|
|
+++ tiers1.1.new/src/tiers_config.cc 2004-01-11 04:58:36.000000000 -0800
|
|
|
@@ -17,7 +17,8 @@
|
|
|
|
|
|
// tiers_config.cc
|
|
|
|
|
|
-#include <fstream.h> // for ifstream
|
|
|
+#include <fstream> // for ifstream
|
|
|
+#include <iostream> // for ifstream
|
|
|
#include <string.h> // for strcpy
|
|
|
#include <stdlib.h> // for strtoul
|
|
|
|
|
|
@@ -36,10 +37,13 @@
|
|
|
{
|
|
|
bool ret = true;
|
|
|
|
|
|
- ifstream config_file("./tiers_config");
|
|
|
+#ifndef CONFIGFILE
|
|
|
+#error You need to define CONFIGFILE on the commandline
|
|
|
+#endif
|
|
|
+ ifstream config_file(CONFIGFILE);
|
|
|
if (!config_file)
|
|
|
{
|
|
|
- cerr << "Tiers:: cannot open file './tiers_config'" << endl;
|
|
|
+ cerr << "Tiers:: cannot open file '" << CONFIGFILE << "'" << endl;
|
|
|
}
|
|
|
|
|
|
// Read the contents of the file in, skipping blank lines or lines which
|
|
|
diff -urN tiers1.1/src/tiers_main.cc tiers1.1.new/src/tiers_main.cc
|
|
|
--- tiers1.1/src/tiers_main.cc 1997-07-06 00:58:31.000000000 -0700
|
|
|
+++ tiers1.1.new/src/tiers_main.cc 2004-01-11 04:56:33.000000000 -0800
|
|
|
@@ -25,11 +25,11 @@
|
|
|
#include "tiers.hh"
|
|
|
#endif
|
|
|
|
|
|
-extern "C"
|
|
|
-{
|
|
|
- long int time(int dummy);
|
|
|
- char * initstate(unsigned seed, char *state, int n);
|
|
|
-}
|
|
|
+//extern "C"
|
|
|
+//{
|
|
|
+// long int time(int dummy);
|
|
|
+// char * initstate(unsigned seed, char *state, int n);
|
|
|
+//}
|
|
|
|
|
|
unsigned long int NW; // maximum number of WANs, currently 1
|
|
|
unsigned long int NM; // maximum number of MANs per WAN
|
|
|
@@ -63,7 +63,7 @@
|
|
|
cout.setf( ios::unitbuf );
|
|
|
|
|
|
// TIERS_VERBOSE
|
|
|
-#ifdef 0
|
|
|
+#ifdef FALSE
|
|
|
cout << "Main:: Processing arguments. Arguments are:"
|
|
|
<< endl;
|
|
|
for (int i = 0; i < argc; i++)
|
|
|
diff -urN tiers1.1/src/tiers_vars.hh tiers1.1.new/src/tiers_vars.hh
|
|
|
--- tiers1.1/src/tiers_vars.hh 1969-12-31 16:00:00.000000000 -0800
|
|
|
+++ tiers1.1.new/src/tiers_vars.hh 2004-01-11 04:56:33.000000000 -0800
|
|
|
@@ -0,0 +1,18 @@
|
|
|
+Model::OpType OP_TYPE;
|
|
|
+bool TIERS_VERBOSE;
|
|
|
+bool TIERS_LABEL_WAN;
|
|
|
+bool TIERS_LABEL_MAN;
|
|
|
+bool TIERS_LABEL_LAN;
|
|
|
+bool TIERS_DEBUG;
|
|
|
+bool REMOVE_DUP_EDGES;
|
|
|
+bool PROXIMITY_TEST_WAN;
|
|
|
+bool PROXIMITY_TEST_MAN;
|
|
|
+bool PROXIMITY_TEST_LAN;
|
|
|
+unsigned long int WAN_SCALE;
|
|
|
+unsigned long int MAN_SCALE;
|
|
|
+unsigned long int LAN_SCALE;
|
|
|
+unsigned long int GRID;
|
|
|
+char COM;
|
|
|
+char *title;
|
|
|
+char *outputdir;
|
|
|
+long int ModelId;
|