--- /dev/null
+--- IRRToolSet-4.7.3/src/Core/sched/Dispatcher.hh.orig Tue Apr 9 13:48:45 2002
++++ IRRToolSet-4.7.3/src/Core/sched/Dispatcher.hh Tue Jul 8 16:44:03 2003
+@@ -62,7 +62,7 @@
+
+ // Time sorted list of system timers
+ class TimerList : public SortedList<Timer> {
+- friend Dispatcher;
++ friend class Dispatcher;
+
+ public:
+ // Handle all expired timers
+@@ -74,7 +74,7 @@
+
+ // FIFO queue of one-shot jobs
+ class JobList : public List<Job> {
+- friend Dispatcher;
++ friend class Dispatcher;
+
+ public:
+ // Call back the function associated with the first job
+@@ -83,7 +83,7 @@
+
+ // List of signals that we're interested in
+ class SignalList : public List<Signal> {
+- friend Dispatcher;
++ friend class Dispatcher;
+
+ public:
+ // A signal was received, mark it
+@@ -95,7 +95,7 @@
+
+ // Collection of open file descriptors in the system
+ class FileList : public FileSet {
+- friend Dispatcher;
++ friend class Dispatcher;
+
+ public:
+ // Process any file descriptors that are readable or writable
+--- IRRToolSet-4.7.3/src/Core/sys/Time.hh.orig Tue Apr 9 13:48:45 2002
++++ IRRToolSet-4.7.3/src/Core/sys/Time.hh Tue Jul 8 16:44:34 2003
+@@ -99,7 +99,7 @@
+ };
+
+ class TimeShort : public Time<U32> {
+- friend TimeLong;
++ friend class TimeLong;
+
+ public:
+ // Create empty time instance
+@@ -146,7 +146,7 @@
+ };
+
+ class TimeLong : public Time<U64> {
+- friend TimeShort;
++ friend class TimeShort;
+
+ public:
+ // Create an empty time instance
+--- IRRToolSet-4.7.3/src/Core/util/Buffer.cc.orig Tue Apr 9 13:48:45 2002
++++ IRRToolSet-4.7.3/src/Core/util/Buffer.cc Tue Jul 8 16:45:30 2003
+@@ -207,7 +207,7 @@
+ size += buf.size;
+ }
+
+-void Buffer::insert(Buffer &buf, unsigned long atOffset = 0) {
++void Buffer::insert(Buffer &buf, unsigned long atOffset /* = 0 */) {
+ if (size + buf.size > capacity)
+ extend(buf.size);
+ memmove(contents + atOffset + buf.size,
+--- IRRToolSet-4.7.3/src/Core/strstream.h.orig Tue Jul 8 16:37:14 2003
++++ IRRToolSet-4.7.3/src/Core/strstream.h Tue Jul 8 16:37:37 2003
+@@ -0,0 +1,6 @@
++#ifndef _STRSTREAM_H
++#define _STRSTREAM_H
++#include <strstream>
++
++using namespace std;
++#endif
+--- IRRToolSet-4.7.3/src/RtConfig/f_cisco.hh.orig Fri Jun 28 15:19:03 2002
++++ IRRToolSet-4.7.3/src/RtConfig/f_cisco.hh Tue Jul 8 16:55:57 2003
+@@ -59,7 +59,6 @@
+ #include "normalform/FilterOfASPath.hh"
+
+ class FilterOfCommunity;
+-class ostream;
+ class RangeList;
+ class regexp;
+ class PolicyAction;
+--- IRRToolSet-4.7.3/src/RtConfig/f_junos.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/RtConfig/f_junos.hh Tue Jul 8 16:56:26 2003
+@@ -59,7 +59,6 @@
+ #include "normalform/FilterOfASPath.hh"
+
+ class FilterOfCommunity;
+-class ostream;
+ class RangeList;
+ class regexp;
+ class PolicyAction;
+--- IRRToolSet-4.7.3/src/RtConfig/f_bcc.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/RtConfig/f_bcc.hh Tue Jul 8 16:57:56 2003
+@@ -60,7 +60,6 @@
+ #include "f_cisco.hh" // included to define ListOf2Ints (should be in util)
+
+ class FilterOfCommunity;
+-class ostream;
+ class RangeList;
+ class regexp;
+ class PolicyAction;
+--- IRRToolSet-4.7.3/src/RtConfig/command.l.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/RtConfig/command.l Tue Jul 8 16:59:08 2003
+@@ -74,8 +74,6 @@
+ int num;
+ } KeyWord;
+
+-int yylineno = 1;
+-
+ static KeyWord keywords[] = {
+ "import", KW_IMPORT,
+ "export", KW_EXPORT,
+--- IRRToolSet-4.7.3/src/RtConfig/f_junos.cc.orig Thu May 16 15:43:24 2002
++++ IRRToolSet-4.7.3/src/RtConfig/f_junos.cc Tue Jul 8 17:01:41 2003
+@@ -101,21 +101,20 @@
+ done = 1;
+
+ // print martians
+- char *martians = "
+- route-filter 127.0.0.0/8 orlonger reject;
+- route-filter 10.0.0.0/8 orlonger reject;
+- route-filter 172.16.0.0/12 orlonger reject;
+- route-filter 192.168.0.0/16 orlonger reject;
+- route-filter 192.0.2.0/24 orlonger reject;
+- route-filter 128.0.0.0/16 orlonger reject;
+- route-filter 191.255.0.0/16 orlonger reject;
+- route-filter 192.0.0.0/24 orlonger reject;
+- route-filter 223.255.255.0/24 orlonger reject;
+- route-filter 224.0.0.0/3 orlonger reject;
+- route-filter 169.254.0.0/16 orlonger reject;
+- route-filter 0.0.0.0/0 upto /31 next policy;
+- route-filter 0.0.0.0/0 upto /32 reject;
+-";
++ char *martians = " \n"
++" route-filter 127.0.0.0/8 orlonger reject;\n"
++" route-filter 10.0.0.0/8 orlonger reject;\n"
++" route-filter 172.16.0.0/12 orlonger reject;\n"
++" route-filter 192.168.0.0/16 orlonger reject;\n"
++" route-filter 192.0.2.0/24 orlonger reject;\n"
++" route-filter 128.0.0.0/16 orlonger reject;\n"
++" route-filter 191.255.0.0/16 orlonger reject;\n"
++" route-filter 192.0.0.0/24 orlonger reject;\n"
++" route-filter 223.255.255.0/24 orlonger reject;\n"
++" route-filter 224.0.0.0/3 orlonger reject;\n"
++" route-filter 169.254.0.0/16 orlonger reject;\n"
++" route-filter 0.0.0.0/0 upto /31 next policy;\n"
++" route-filter 0.0.0.0/0 upto /32 reject;\n";
+
+ cout << " policy-statement supress-martians {\n"
+ << " term martians {\n"
+--- IRRToolSet-4.7.3/src/aoe/TclApp.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclApp.cc Tue Jul 8 17:28:05 2003
+@@ -71,8 +71,8 @@
+
+ // Constructor
+ TclApplication::TclApplication(char *pzcAppName, char *pzcDisplay,
+- char *pzcDefaultResource = NULL,
+- char *pzcResourceFile = NULL)
++ char *pzcDefaultResource /* = NULL */,
++ char *pzcResourceFile /* = NULL */)
+ : ptMainWindow(NULL),
+ pzcDisplay(pzcDisplay),
+ pzcDefaultResource(pzcDefaultResource),
+@@ -176,16 +176,16 @@
+ return 1;
+ }
+
+-char *TclApplication::setVar(char *pzcName, char *pzcValue,
+- int iFlags = TCL_GLOBAL_ONLY)
++const char *TclApplication::setVar(char *pzcName, char *pzcValue,
++ int iFlags /* = TCL_GLOBAL_ONLY */)
+ {
+ SplitName cName(pzcName);
+ return Tcl_SetVar2(ptInterp, cName.name1(), cName.name2(),
+ pzcValue, iFlags);
+ }
+
+-char *TclApplication::setVar(char *pzcName, int iValue,
+- int iFlags = TCL_GLOBAL_ONLY)
++const char *TclApplication::setVar(char *pzcName, int iValue,
++ int iFlags /* = TCL_GLOBAL_ONLY */)
+ {
+ SplitName cName(pzcName);
+ char pzcBuffer[64];
+@@ -194,7 +194,7 @@
+ pzcBuffer, iFlags);
+ }
+
+-char *TclApplication::getVar(char *pzcName, int iFlags = TCL_GLOBAL_ONLY)
++const char *TclApplication::getVar(char *pzcName, int iFlags /* = TCL_GLOBAL_ONLY */)
+ {
+ SplitName cName(pzcName);
+ return Tcl_GetVar2(ptInterp, cName.name1(), cName.name2(), iFlags);
+--- IRRToolSet-4.7.3/src/aoe/TclEntry.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclEntry.hh Tue Jul 8 17:32:28 2003
+@@ -74,7 +74,7 @@
+ return setValue(pzcValue);
+ }
+ int setValue(char *pzcValue);
+- char *getValue(void);
++ const char *getValue(void);
+ };
+
+ #endif // TCLENTRY_HH
+--- IRRToolSet-4.7.3/src/aoe/TclToggleButton.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclToggleButton.cc Tue Jul 8 17:34:55 2003
+@@ -67,7 +67,7 @@
+
+ TclToggleButton::TclToggleButton(char *pzcName, char *pzcUnCheckString,
+ char *pzcCheckString,
+- tdCheckButtonOption eOption = cbUnCheck) :
++ tdCheckButtonOption eOption /* = cbUnCheck */) :
+ TclCheckButton(pzcName, eOption)
+ {
+ this->pzcUnCheckString = strdup(pzcUnCheckString);
+@@ -104,7 +104,7 @@
+
+ // Static member function
+ char *TclToggleButton::traceProc(ClientData pvData, Tcl_Interp *pcInterp,
+- char *pzcName1, char *pzcName2, int iFlags)
++ const char *pzcName1, const char *pzcName2, int iFlags)
+ {
+ TclToggleButton *pcToggleButton = (TclToggleButton *)pvData;
+ return pcToggleButton->traceProc();
+--- IRRToolSet-4.7.3/src/aoe/TclToggleButton.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclToggleButton.hh Tue Jul 8 17:34:24 2003
+@@ -67,7 +67,7 @@
+ private:
+ int label(char *pzcLabel);
+ static char *traceProc(ClientData pvData, Tcl_Interp *pcInterp,
+- char *pzcName1, char *pzcName2, int iFlags);
++ const char *pzcName1, const char *pzcName2, int iFlags);
+
+ protected:
+ char *traceProc(void);
+--- IRRToolSet-4.7.3/src/aoe/TclVar.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclVar.cc Tue Jul 8 17:35:46 2003
+@@ -129,7 +129,7 @@
+ Tcl_SetVar2(pcApp->getInterp(), pzcName1, pzcName2, pzcValue, 0);
+ }
+
+-char *TclVariable::getValue(char *pzcDummy = NULL)
++const char *TclVariable::getValue(char *pzcDummy /* = NULL */)
+ {
+ TclApplication *pcApp = (TclApplication *)getExtraArgument();
+ return Tcl_GetVar2(pcApp->getInterp(), pzcName1, pzcName2, 0);
+@@ -146,6 +146,6 @@
+
+ int TclInt::getValue(void)
+ {
+- char *pzcBuffer = TclVariable::getValue();
++ const char *pzcBuffer = TclVariable::getValue();
+ return atoi(pzcBuffer);
+ }
+--- IRRToolSet-4.7.3/src/aoe/TclApp.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclApp.hh Tue Jul 8 17:27:56 2003
+@@ -91,10 +91,10 @@
+ char *getResourceFile(void) { return pzcResourceFile; }
+ void setResult(char *pzcResult) { ptInterp->result = pzcResult; }
+ const char *getResult(void) { return ptInterp->result; }
+- char *setVar(char *pzcName, char *pzcValue,
++ const char *setVar(char *pzcName, char *pzcValue,
+ int iFlags = TCL_GLOBAL_ONLY);
+- char *setVar(char *pzcName, int iValue, int iFlags = TCL_GLOBAL_ONLY);
+- char *getVar(char *pzcName, int iFlags = TCL_GLOBAL_ONLY);
++ const char *setVar(char *pzcName, int iValue, int iFlags = TCL_GLOBAL_ONLY);
++ const char *getVar(char *pzcName, int iFlags = TCL_GLOBAL_ONLY);
+ int createCommand(TclCommand *pcCommand);
+ int insert(TclObject *pcObject);
+ };
+--- IRRToolSet-4.7.3/src/aoe/TclCmd.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclCmd.hh Tue Jul 8 17:31:47 2003
+@@ -62,11 +62,11 @@
+ {
+ private:
+ static int command(ClientData ptData, Tcl_Interp *ptInterp,
+- int argc, char *argv[]);
++ int argc, const char *argv[]);
+ static void cleanUp(ClientData ptData);
+
+ protected:
+- virtual int command(int argc, char *argv[]) = 0;
++ virtual int command(int argc, const char *argv[]) = 0;
+ virtual void cleanUp(void) { delete this; }
+
+ public:
+--- IRRToolSet-4.7.3/src/aoe/TclCheckButton.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclCheckButton.cc Tue Jul 8 17:30:14 2003
+@@ -103,7 +103,7 @@
+ {
+ TclApplication *pcApp = (TclApplication *)getExtraArgument();
+ if (!pcApp) return -1;
+- char *pzcBuffer;
++ const char *pzcBuffer;
+ if ((pzcBuffer = pcApp->getVar(pzcVariableName)) == NULL) return -1;
+ return atoi(pzcBuffer);
+ }
+--- IRRToolSet-4.7.3/src/aoe/TclCmd.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclCmd.cc Tue Jul 8 17:31:35 2003
+@@ -63,7 +63,7 @@
+
+
+ int TclCommand::command(ClientData ptData, Tcl_Interp *ptInterp,
+- int argc, char *argv[])
++ int argc, const char *argv[])
+ {
+ TclCommand *pcTclCommand = (TclCommand *)ptData;
+ return(pcTclCommand->command(argc, argv));
+--- IRRToolSet-4.7.3/src/aoe/TclEntry.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclEntry.cc Tue Jul 8 17:32:20 2003
+@@ -91,7 +91,7 @@
+ return 1;
+ }
+
+-char *TclEntry::getValue(void)
++const char *TclEntry::getValue(void)
+ {
+ TclApplication *pcApp = (TclApplication *)getExtraArgument();
+ if (!pcApp) return NULL;
+--- IRRToolSet-4.7.3/src/aoe/TclRadioButton.cc.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclRadioButton.cc Tue Jul 8 17:32:47 2003
+@@ -96,7 +96,7 @@
+ {
+ TclApplication *pcApp = (TclApplication *)getExtraArgument();
+ if (!pcApp) return -1;
+- char *pzcBuffer;
++ const char *pzcBuffer;
+ if ((pzcBuffer = pcApp->getVar(pzcVariableName)) == NULL) return -1;
+ return atoi(pzcBuffer);
+ }
+--- IRRToolSet-4.7.3/src/aoe/TclVar.hh.orig Tue Apr 9 13:48:46 2002
++++ IRRToolSet-4.7.3/src/aoe/TclVar.hh Tue Jul 8 17:35:35 2003
+@@ -84,7 +84,7 @@
+ ~TclVariable(void);
+ virtual int setExtraArgument(void *pvExtraArgument);
+ void setValue(char *pzcValue);
+- char *getValue(char *pzcDummy = NULL);
++ const char *getValue(char *pzcDummy = NULL);
+ };
+
+
+--- IRRToolSet-4.7.3/src/gnug++/BitSet.cc.orig Wed Mar 27 12:32:57 2002
++++ IRRToolSet-4.7.3/src/gnug++/BitSet.cc Tue Jul 8 16:51:06 2003
+@@ -1039,7 +1039,8 @@
+
+ ostream& operator << (ostream& s, const BitSet& x)
+ {
+- if (s.opfx())
++ //if (s.opfx())
++ s.flush();
+ x.printon(s);
+ return s;
+ }
+--- IRRToolSet-4.7.3/src/gnug++/gcd.cc.orig Wed Mar 27 12:32:57 2002
++++ IRRToolSet-4.7.3/src/gnug++/gcd.cc Tue Jul 8 16:53:01 2003
+@@ -27,8 +27,8 @@
+
+ long gcd(long x, long y) // euclid's algorithm
+ {
+- long a = abs(x);
+- long b = abs(y);
++ long a = labs(x);
++ long b = labs(y);
+
+ long tmp;
+
+--- IRRToolSet-4.7.3/src/irr/ripewhoisc.cc.orig Tue Apr 9 13:48:47 2002
++++ IRRToolSet-4.7.3/src/irr/ripewhoisc.cc Tue Jul 8 16:39:19 2003
+@@ -72,16 +72,16 @@
+
+ RipeWhoisClient::RipeWhoisClient(const char *host,
+ const int port,
+- const char *sources = dflt_sources) :
++ const char *sources /* = dflt_sources */) :
+ Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP),
+ pzcSourceOriginReply(NULL)
+ {
+ Open(host, port, sources);
+ }
+
+-void RipeWhoisClient::Open(const char *_host = dflt_host,
+- const int _port = dflt_port,
+- const char *_sources = dflt_sources)
++void RipeWhoisClient::Open(const char *_host /* = dflt_host */,
++ const int _port /* = dflt_port */,
++ const char *_sources /* = dflt_sources */)
+ {
+ Trace(TR_WHOIS_QUERY) << "Whois: Open "
+ << _host << ":" << _port
+--- IRRToolSet-4.7.3/src/irr/birdwhoisc.cc.orig Wed Jul 3 11:21:41 2002
++++ IRRToolSet-4.7.3/src/irr/birdwhoisc.cc Tue Jul 8 16:41:37 2003
+@@ -28,15 +28,15 @@
+
+ BirdWhoisClient::BirdWhoisClient(const char *host,
+ const int port,
+- const char *sources = dflt_sources) :
++ const char *sources /* = dflt_sources */) :
+ response(NULL), Socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
+ {
+ Open(host, port, sources);
+ }
+
+-void BirdWhoisClient::Open(const char *_host = dflt_host,
+- const int _port = dflt_port,
+- const char *_sources = dflt_sources)
++void BirdWhoisClient::Open(const char *_host /* = dflt_host */,
++ const int _port /* = dflt_port */,
++ const char *_sources /* = dflt_sources */)
+ {
+ //Trace(TR_WHOIS_QUERY) << getsock()
+ // << " - Whois: Open " << _host << ":" << _port
+@@ -187,8 +187,10 @@
+ return false;
+ }
+
+- Trace(TR_WHOIS_RESPONSE).form("WhoisResponse[%.*s]\n",
++ char buf[result->size + 20];
++ sprintf(buf, "WhoisResponse[%.*s]\n",
+ result->size, result->contents);
++ Trace(TR_WHOIS_RESPONSE) << buf;
+ text = result->contents;
+ len = result->size;
+ return true;
+--- IRRToolSet-4.7.3/src/re2dfa/re2dfa.c.orig Tue Apr 9 13:48:47 2002
++++ IRRToolSet-4.7.3/src/re2dfa/re2dfa.c Tue Jul 8 16:54:30 2003
+@@ -78,8 +78,8 @@
+
+ void debugging_hack() {
+ /* this function lets me put a break point here... */
+- fprintf(stderr, "InternalError: Too many states in AS path expression
+-InternalError: Increase RD_MAXASPSTATES in src/re2dfa/re2dfa.h and rebuild.\n");
++ fprintf(stderr, "InternalError: Too many states in AS path expression\n"
++"InternalError: Increase RD_MAXASPSTATES in src/re2dfa/re2dfa.h and rebuild.\n");
+ }
+
+ #define RD_ASSIGN_BIT(s) { \
+--- IRRToolSet-4.7.3/src/roe/roe_tcl.cc.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/roe_tcl.cc Tue Jul 8 17:05:13 2003
+@@ -148,7 +148,7 @@
+ extern int irr_pending_replies;
+
+ int roe_statusbar_hint(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ if (argc != 1) {
+ Tcl_SetResult(interp, "wrong # of args", TCL_STATIC);
+ return TCL_ERROR;
+@@ -165,13 +165,13 @@
+ static int roe_routes_hint_index = -1;
+
+ int roe_routes_hint_reset(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ roe_routes_hint_index = -1;
+ return TCL_OK;
+ }
+
+ int roe_routes_hint(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ if (argc != 4) {
+ Tcl_SetResult(interp, "wrong # of args", TCL_STATIC);
+ return TCL_ERROR;
+@@ -198,7 +198,7 @@
+ }
+
+ int roe_file_new_as(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ switch (argc)
+ {
+ case 1:
+@@ -221,7 +221,7 @@
+ }
+
+ int roe_show_routes(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ if (argc != 1) {
+ Tcl_SetResult(interp, "wrong # of args", TCL_STATIC);
+ return TCL_ERROR;
+@@ -233,7 +233,7 @@
+ }
+
+ int roe_select_route(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+ if (argc != 2) {
+ Tcl_SetResult(interp, "wrong # of args", TCL_STATIC);
+ return TCL_ERROR;
+@@ -245,7 +245,7 @@
+ }
+
+ int roe_show_object(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 4) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -260,7 +260,7 @@
+ }
+
+ int roe_read_bgp_dump(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -273,7 +273,7 @@
+ }
+
+ int roe_object_delete(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -286,7 +286,7 @@
+ }
+
+ int roe_object_add(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -299,7 +299,7 @@
+ }
+
+ int roe_object_update(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -312,7 +312,7 @@
+ }
+
+ int roe_object_schedule(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -325,7 +325,7 @@
+ }
+
+ int roe_select_transaction(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -338,7 +338,7 @@
+ }
+
+ int roe_cancel_transaction(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -352,7 +352,7 @@
+ }
+
+ int roe_add_selected(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -365,7 +365,7 @@
+ }
+
+ int roe_del_selected(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -378,7 +378,7 @@
+ }
+
+ int roe_del_selected_matching_source(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 3) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -391,7 +391,7 @@
+ }
+
+ int roe_config_tmpl(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -404,7 +404,7 @@
+ }
+
+ int roe_config_tmpl_apply(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -417,7 +417,7 @@
+ }
+
+ int roe_config_irr(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -430,7 +430,7 @@
+ }
+
+ int roe_config_irr_apply(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -443,7 +443,7 @@
+ }
+
+ int roe_config_revert(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -456,7 +456,7 @@
+ }
+
+ int roe_config_load(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -469,7 +469,7 @@
+ }
+
+ int roe_config_save(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -482,7 +482,7 @@
+ }
+
+ int roe_get_more_specifics(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -495,7 +495,7 @@
+ }
+
+ int roe_get_less_specifics(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 2) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+@@ -508,7 +508,7 @@
+ }
+
+ int roe_update_irr(ClientData clientData, Tcl_Interp *interp,
+- int argc, char **argv) {
++ int argc, const char **argv) {
+
+ if (argc != 1) {
+ Tcl_SetResult (interp, "wrong # of args", TCL_STATIC);
+--- IRRToolSet-4.7.3/src/roe/object.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/object.hh Tue Jul 8 17:07:33 2003
+@@ -59,7 +59,7 @@
+
+ class RoeObject {
+ public:
+- void display(char *dbase, ASt as, char *rt);
++ void display(const char *dbase, ASt as, const char *rt);
+ void del(int index);
+ void add(int index);
+ void upd(int index);
+--- IRRToolSet-4.7.3/src/roe/route-list.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/route-list.hh Tue Jul 8 17:11:06 2003
+@@ -172,9 +172,9 @@
+
+ void init(void);
+ void load(ASt _as);
+- void read_bgp_dump(char *fname);
+- void get_more_specifics(char *selection);
+- void get_less_specifics(char *selection);
++ void read_bgp_dump(const char *fname);
++ void get_more_specifics(const char *selection);
++ void get_less_specifics(const char *selection);
+
+ Route *operator() (int index) {
+ return vrdisplayed[index];
+--- IRRToolSet-4.7.3/src/roe/schedule.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/schedule.hh Tue Jul 8 17:10:33 2003
+@@ -90,9 +90,9 @@
+ void add();
+ void select(int index);
+ void cancel(int index);
+- void add_selected(char *selection);
+- void del_selected(char *selection);
+- void del_selected_matching_source(char *selection, char *dbase);
++ void add_selected(const char *selection);
++ void del_selected(const char *selection);
++ void del_selected_matching_source(const char *selection, const char *dbase);
+ void update_irr();
+ private:
+ void add_internal(char *text);
+--- IRRToolSet-4.7.3/src/roe/object.cc.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/object.cc Tue Jul 8 17:13:24 2003
+@@ -69,7 +69,7 @@
+ tcl_Eval(".object.text configure -state disabled");
+ }
+
+-void RoeObject::display(char *dbase, ASt as, char *rt) {
++void RoeObject::display(const char *dbase, ASt as, const char *rt) {
+ Route *route = NULL;
+
+ tcl_Eval(".object.text configure -state normal");
+@@ -88,7 +88,7 @@
+ whois->SetSources(dbase);
+ // Modified by wlee@isi.edu
+ // int code = whois->QueryResponse(buffer, "!mrt,%s-AS%d", rt, as);
+- whois->getRoute(route, rt, as);
++ whois->getRoute(route, (char*)rt, as);
+
+ whois->SetSources();
+
+--- IRRToolSet-4.7.3/src/roe/route-list.cc.orig Tue Jun 18 13:00:11 2002
++++ IRRToolSet-4.7.3/src/roe/route-list.cc Tue Jul 8 17:14:50 2003
+@@ -523,7 +523,7 @@
+ get_registrations_init(rlist.head());
+ }
+
+-void RouteList::read_bgp_dump(char *fname) {
++void RouteList::read_bgp_dump(const char *fname) {
+ char r[1024];
+ char *status;
+ Pix rpix;
+@@ -605,7 +605,7 @@
+ return true;
+ }
+
+-void RouteList::get_more_specifics(char *selection) {
++void RouteList::get_more_specifics(const char *selection) {
+ RouteList::Route *vr;
+ Route *tail;
+
+@@ -613,7 +613,7 @@
+
+ tail = rlist.tail();
+
+- for (char *s = strtok(selection, " \t"); s; s = strtok(NULL, " \t")) {
++ for (char *s = strtok((char*)selection, " \t"); s; s = strtok(NULL, " \t")) {
+ vr = vrdisplayed[atoi(s)];
+ RadixNode *rdnode = irr_radix->find(&vr->route);
+ if (rdnode) {
+@@ -661,7 +661,7 @@
+ get_more_specifics_add(rdnode->rght);
+ }
+
+-void RouteList::get_less_specifics(char *selection) {
++void RouteList::get_less_specifics(const char *selection) {
+ RouteList::Route *vr;
+ Route *tail;
+ RadixNode *irr_node;
+@@ -671,7 +671,7 @@
+
+ tail = rlist.tail();
+
+- for (char *s = strtok(selection, " \t"); s; s = strtok(NULL, " \t")) {
++ for (char *s = strtok((char*)selection, " \t"); s; s = strtok(NULL, " \t")) {
+ vr = vrdisplayed[atoi(s)];
+ irr_node = irr_radix->find(&vr->route);
+ node = radix.find(&vr->route);
+--- IRRToolSet-4.7.3/src/roe/schedule.cc.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/schedule.cc Tue Jul 8 17:15:43 2003
+@@ -170,11 +170,11 @@
+ tcl_Eval(".object.text configure -state disabled");
+ }
+
+-void Schedule::add_selected(char *selection) {
++void Schedule::add_selected(const char *selection) {
+ RouteList::Route *r;
+ char buffer[64];
+
+- for (char *s = strtok(selection, " \t"); s; s = strtok(NULL, " \t")) {
++ for (char *s = strtok((char*)selection, " \t"); s; s = strtok(NULL, " \t")) {
+ r = routelist(atoi(s));
+
+ tcl_Eval("set AS AS%d", routelist.as);
+@@ -186,12 +186,12 @@
+ }
+ }
+
+-void Schedule::del_selected(char *selection) {
++void Schedule::del_selected(const char *selection) {
+ RouteList::Route *r;
+ RouteList::Route::db_as *p;
+ Route *route = NULL;
+
+- for (char *s = strtok(selection, " \t"); s; s = strtok(NULL, " \t")) {
++ for (char *s = strtok((char*)selection, " \t"); s; s = strtok(NULL, " \t")) {
+ r = routelist(atoi(s));
+ for (p = r->db_as_l.head(); p; p = r->db_as_l.next(p)) {
+ // Modified by wlee@isi.edu
+@@ -227,12 +227,12 @@
+ }
+ }
+
+-void Schedule::del_selected_matching_source(char *selection, char *dbase) {
++void Schedule::del_selected_matching_source(const char *selection, const char *dbase) {
+ RouteList::Route *r;
+ RouteList::Route::db_as *p;
+ Route *route = NULL;
+
+- for (char *s = strtok(selection, " \t"); s; s = strtok(NULL, " \t")) {
++ for (char *s = strtok((char*)selection, " \t"); s; s = strtok(NULL, " \t")) {
+ r = routelist(atoi(s));
+ for (p = r->db_as_l.head(); p; p = r->db_as_l.next(p)) {
+ if (!strcmp(dbase, p->db)) {
+--- IRRToolSet-4.7.3/src/roe/roe_config.cc.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/roe/roe_config.cc Tue Jul 8 17:17:16 2003
+@@ -182,12 +182,11 @@
+ }
+
+ void Configure::config_tmpl() {
+- tcl_Eval("
+-if {[winfo exists .config_tmpl]} {
+- wm deiconify .config_tmpl
+- set a 1
+-} else {set a 0}
+-");
++ tcl_Eval("\n"
++"if {[winfo exists .config_tmpl]} {\n"
++" wm deiconify .config_tmpl\n"
++" set a 1\n"
++"} else {set a 0} \n");
+
+ if (*(interp->result) != '0') // already displaying a config window
+ return;
+@@ -218,12 +217,11 @@
+ }
+
+ void Configure::config_irr() {
+- tcl_Eval("
+-if {[winfo exists .config_irr]} {
+- wm deiconify .config_irr
+- set a 1
+-} else {set a 0}
+-");
++ tcl_Eval("\n"
++"if {[winfo exists .config_irr]} {\n"
++" wm deiconify .config_irr\n"
++" set a 1\n"
++"} else {set a 0} \n");
+
+ if (*(interp->result) != '0') // already displaying a config window
+ return;
+@@ -236,11 +234,11 @@
+ #endif // LOAD_FILE
+
+ for (int i = 0; *dbupdate[i].source; ++i)
+- tcl_Eval("label .config_irr.source.label.x%s -text %s:
+-entry .config_irr.source.entry.x%s -relief sunken -bd 2 -width 30
+-pack .config_irr.source.label.x%s -side top -anchor e -ipady 3 -expand true
+-pack .config_irr.source.entry.x%s -side top -fill both -expand 1 -pady 1 -padx 1
+-.config_irr.source.entry.x%s insert 0 {%s}",
++ tcl_Eval("label .config_irr.source.label.x%s -text %s:\n"
++"entry .config_irr.source.entry.x%s -relief sunken -bd 2 -width 30\n"
++"pack .config_irr.source.label.x%s -side top -anchor e -ipady 3 -expand true\n"
++"pack .config_irr.source.entry.x%s -side top -fill both -expand 1 -pady 1 -padx 1\n"
++".config_irr.source.entry.x%s insert 0 {%s}",
+ dbupdate[i].source, dbupdate[i].source, dbupdate[i].source,
+ dbupdate[i].source, dbupdate[i].source, dbupdate[i].source,
+ dbupdate[i].update);
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/prefix.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/prefix.hh Tue Jul 8 15:48:47 2003
+@@ -56,7 +56,7 @@
+
+ #include "config.h"
+
+-class ostream;
++#include <ostream.h>
+
+ char* int2quad(char *buffer, unsigned int i);
+ unsigned int quad2int(char *quad);
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_item.hh.orig Tue Apr 9 13:48:49 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_item.hh Tue Jul 8 15:50:31 2003
+@@ -66,6 +66,7 @@
+ #include <cassert>
+ #include <time.h>
+ #include <iomanip.h>
++#include <ostream.h>
+ extern "C" {
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+@@ -83,7 +84,6 @@
+
+ typedef unsigned int ASt;
+
+-class ostream;
+ class Filter;
+ class Buffer;
+
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_filter.hh.orig Tue Apr 9 13:48:49 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_filter.hh Tue Jul 8 15:51:08 2003
+@@ -62,6 +62,7 @@
+
+ #include "config.h"
+ #include <cassert>
++#include <ostream.h>
+ extern "C" {
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+@@ -81,7 +82,6 @@
+
+ typedef unsigned int ASt;
+
+-class ostream;
+ class AttrRPAttr;
+ class AttrMethod;
+
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_policy.hh.orig Tue Apr 9 13:48:49 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_policy.hh Tue Jul 8 15:51:40 2003
+@@ -62,6 +62,7 @@
+
+ #include "config.h"
+ #include <cassert>
++#include <ostream.h>
+ extern "C" {
+ #ifdef HAVE_MALLOC_H
+ #include <malloc.h>
+@@ -79,7 +80,6 @@
+
+ typedef unsigned int ASt;
+
+-class ostream;
+ class AttrRPAttr;
+ class AttrMethod;
+
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_attr.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_attr.hh Tue Jul 8 15:52:11 2003
+@@ -64,6 +64,7 @@
+ #include <string>
+ #include <vector>
+ #include <cassert>
++#include <ostream.h>
+ #include "rptype.hh"
+ #include "regexp.hh"
+ extern "C" {
+@@ -89,7 +90,6 @@
+
+ typedef unsigned int ASt;
+
+-class ostream;
+ class Object;
+ class AttrAttr;
+
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/object.hh.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/object.hh Tue Jul 8 15:52:48 2003
+@@ -57,6 +57,7 @@
+ #include "config.h"
+ #include <cstring>
+ #include <string>
++#include <iostream.h>
+ #include "util/List.hh"
+ #include "util/Buffer.hh"
+ #include "util/debug.hh"
+@@ -65,9 +66,6 @@
+ #define RPSL_CLASS_UNKONWN 0
+ #define RPSL_CLASS_AUTNUM 1
+
+-class istream;
+-class ifstream;
+-class ostream;
+ class Buffer;
+
+ class Object : public Buffer {
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_item.cc.orig Tue Apr 9 13:48:49 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl_item.cc Tue Jul 8 16:24:12 2003
+@@ -69,7 +69,7 @@
+ return out;
+ }
+
+-Buffer *ItemASNO::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemASNO::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->appendf("as%d", asno);
+@@ -94,7 +94,7 @@
+ return out;
+ }
+
+-Buffer *ItemMSItem::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemMSItem::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ buf = item->bufferize(buf, lcase);
+ switch (code) {
+ case 0:
+@@ -117,7 +117,7 @@
+ return out;
+ }
+
+-Buffer *ItemFilter::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemFilter::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ cerr << "Error: I dont know how to canonicalize filters" << endl;
+ if (!buf)
+ buf = new Buffer;
+@@ -129,7 +129,7 @@
+ return out;
+ }
+
+-Buffer *ItemINT::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemINT::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->appendf("%d", i);
+@@ -139,13 +139,15 @@
+ ostream &ItemTimeStamp::print(ostream &out) const {
+ tm *ts;
+ ts = gmtime(&stamp);
+- out.form("%04d%02d%02d %02d:%02d:%02d +00:00",
++ char buf[80];
++ sprintf(buf, "%04d%02d%02d %02d:%02d:%02d +00:00",
+ ts->tm_year + 1900, ts->tm_mon+1, ts->tm_mday,
+ ts->tm_hour, ts->tm_min, ts->tm_sec);
++ out << buf;
+ return out;
+ }
+
+-Buffer *ItemTimeStamp::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemTimeStamp::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false*/) const {
+ tm *ts;
+ ts = gmtime(&stamp);
+ if (!buf)
+@@ -161,7 +163,7 @@
+ return out;
+ }
+
+-Buffer *ItemREAL::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemREAL::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->appendf("%f", real);
+@@ -173,7 +175,7 @@
+ return out;
+ }
+
+-Buffer *ItemSTRING::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemSTRING::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(string);
+@@ -187,7 +189,7 @@
+ return out;
+ }
+
+-Buffer *ItemBLOB::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemBLOB::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(blob);
+@@ -197,11 +199,13 @@
+ }
+
+ ostream &ItemBUFFER::print(ostream &out) const {
+- out.form("%.*s", buffer->size, buffer->contents);
++ char buf[buffer->size+2];
++ sprintf(buf, "%.*s", buffer->size, buffer->contents);
++ out << buf;
+ return out;
+ }
+
+-Buffer *ItemBUFFER::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemBUFFER::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer(*buffer);
+ else
+@@ -216,7 +220,7 @@
+ return out;
+ }
+
+-Buffer *ItemIPV4::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemIPV4::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(ipv4->get_text());
+@@ -228,7 +232,7 @@
+ return out;
+ }
+
+-Buffer *ItemPRFXV4::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemPRFXV4::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(prfxv4->get_text());
+@@ -240,7 +244,7 @@
+ return out;
+ }
+
+-Buffer *ItemPRFXV4Range::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemPRFXV4Range::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(prfxv4->get_text());
+@@ -257,7 +261,7 @@
+ return out;
+ }
+
+-Buffer *ItemConnection::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemConnection::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ if (ip)
+@@ -276,7 +280,7 @@
+ return out;
+ }
+
+-Buffer *ItemSID::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemSID::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(name);
+@@ -290,7 +294,7 @@
+ return out;
+ }
+
+-Buffer *ItemBOOLEAN::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemBOOLEAN::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append((i ? "true" : "false"));
+@@ -302,7 +306,7 @@
+ return out;
+ }
+
+-Buffer *ItemWORD::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemWORD::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(word);
+@@ -316,7 +320,7 @@
+ return out;
+ }
+
+-Buffer *ItemEMAIL::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemEMAIL::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(email);
+@@ -330,7 +334,7 @@
+ return out;
+ }
+
+-Buffer *ItemRange::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemRange::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ buf = begin->bufferize(buf, false);
+ buf->append("-");
+ end->bufferize(buf, false);
+@@ -345,7 +349,7 @@
+ return out;
+ }
+
+-Buffer *ItemFREETEXT::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemFREETEXT::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ if (!buf)
+ buf = new Buffer;
+ buf->append(text, length);
+@@ -367,7 +371,7 @@
+ return out;
+ }
+
+-Buffer *ItemList::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemList::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ cerr << "Error: I dont know how to canonicalize lists" << endl;
+ if (!buf)
+ buf = new Buffer;
+@@ -387,7 +391,7 @@
+ return out;
+ }
+
+-Buffer *ItemSequence::bufferize(Buffer *buf = NULL, bool lcase = false) const {
++Buffer *ItemSequence::bufferize(Buffer *buf /* = NULL */, bool lcase /* = false */) const {
+ cerr << "Error: I dont know how to canonicalize sequences" << endl;
+ if (!buf)
+ buf = new Buffer;
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl.y.orig Tue Apr 9 13:48:48 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/rpsl.y Tue Jul 8 16:26:22 2003
+@@ -2031,7 +2031,7 @@
+
+ void handleArgumentTypeError(char *attr, char *method, int position,
+ const RPType *correctType,
+- bool isOperator = false) {
++ bool isOperator /* = false */) {
+ if (isOperator)
+ if (position)
+ handle_error("Error: argument %d to %s.operator%s should be %s.\n",
+--- IRRToolSet-4.7.3/src/rpsl/rpsl/schema_rpsl.cc.orig Tue Apr 9 13:48:49 2002
++++ IRRToolSet-4.7.3/src/rpsl/rpsl/schema_rpsl.cc Tue Jul 8 16:36:05 2003
+@@ -74,302 +74,300 @@
+
+ char Schema::dictionary_text[] = "";
+
+-#define CMN_ATTRS "
+-attr: notify syntax(email), optional, multiple
+-attr: remarks optional, multiple
+-attr: source syntax(rpsl_word), mandatory, single, internal
+-attr: integrity syntax(rpsl_word), optional, single, internal
+-attr: changed optional, multiple
+-attr: deleted optional, single, deleted"
+-
+-static char base_text[] = "class: dictionary
+-attr: dictionary syntax(rpsl_word), mandatory, single, key
+-attr: rp-attribute syntax(special,rp-attribute), optional, multiple
+-attr: typedef syntax(special,typedef), optional, multiple
+-attr: protocol syntax(special,protocol), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-attr: admin-c optional, multiple, lookup
+-
+-dictionary: rpsl
+-descr: rpsl dictionary
+-admin-c: Cengiz Alaettinoglu
+-tech-c: Cengiz Alaettinoglu
+-mnt-by: MNT-CENGIZ
+-changed: cengiz@isi.edu 19980324
+-source: RPS-WG
+-typedef: ListOfIPv4Prefix list of Address_Prefix
+-typedef: as_number-as_set_name union as_number, as_set_name
+-typedef: ListOfas_number list of as_number
+-typedef: ListOfas_number-as_set_name list of as_number-as_set_name
+-typedef: ListOfas_set_name list of as_set_name
+-typedef: ListOfroute_set_name list of route_set_name
+-typedef: as_number-as_set_name-route_set_name-IPv4Prefix
+- union as_number, as_set_name, route_set_name, Address_Prefix
+-typedef: ListOfas_number-as_set_name-route_set_name-IPv4Prefix
+- list of as_number-as_set_name-route_set_name-IPv4Prefix
+-typedef: ListOfrpsl_word List of rpsl_word
+-rp-attribute: # preference, smaller values represent higher preferences
+- pref
+- operator=(integer[0, 65535])
+-rp-attribute: # BGP multi_exit_discriminator attribute
+- med
+- operator=(union integer[0, 65535], enum[igp_cost])
+- # to set med to the IGP metric: med = igp_cost;
+- #operator=(enum[igp_cost])
+-rp-attribute: # BGP destination preference attribute (dpa)
+- dpa
+- operator=(integer[0, 65535])
+-rp-attribute: # BGP aspath attribute
+- aspath
+- # prepends AS numbers from last to first order
+- prepend(as_number, ...)
+-typedef: # a community value in RPSL is either
+- # - a 4 byte integer
+- # - internet, no_export, no_advertise (see RFC-1997)
+- community_elm union
+- integer[1, 4294967295],
+- enum[internet, no_export, no_advertise]
+-typedef: # list of community values { 40, no_export, 3561:70}
+- community_list
+- list of community_elm
+-rp-attribute: # BGP community attribute
+- community
+- # set to a list of communities
+- operator=(community_list)
+- # order independent equality comparison
+- operator==(community_list)
+- # append community values
+- operator.=(community_list)
+- append(community_elm, ...)
+- # delete community values
+- delete(community_elm, ...)
+- # a filter: true if one of community values is contained
+- contains(community_elm, ...)
+- # shortcut to contains: community(no_export, {3561,70})
+- operator()(community_elm, ...)
+-rp-attribute: # next hop router in a static route
+- next-hop
+- operator=(ipv4_address) # a router address
+- operator=(enum[self]) # router's own address
+-rp-attribute: # cost of a static route
+- cost
+- operator=(integer[0, 65535])
+-protocol: BGP4
+- # as number of the peer router
+- MANDATORY asno(as_number)
+- # enable flap damping
+- OPTIONAL flap_damp()
+- OPTIONAL flap_damp(integer[0,65535],# penalty per flap
+- integer[0,65535],# penalty value for supression
+- integer[0,65535],# penalty value for reuse
+- integer[0,65535],# halflife in secs when up
+- integer[0,65535],# halflife in secs when down
+- integer[0,65535])# maximum penalty
+-protocol: OSPF
+-protocol: RIP
+-protocol: IGRP
+-protocol: IS-IS
+-protocol: STATIC
+-protocol: RIPng
+-protocol: DVMRP
+-protocol: PIM-DM
+-protocol: PIM-SM
+-protocol: CBT
+-protocol: MOSPF
+-";
+-
+-static char classes_text[] = "class: mntner
+-attr: mntner syntax(rpsl_word), mandatory, single, key
+-attr: auth syntax(special, blobs), mandatory, multiple
+-attr: upd-to syntax(email), mandatory, multiple
+-attr: mnt-nfy syntax(email), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c optional, multiple, lookup
+-
+-class: person
+-attr: person mandatory, single, lookup
+-attr: nic-hdl syntax(rpsl_word), mandatory, single, key
+-attr: address mandatory, multiple
+-attr: phone mandatory, multiple
+-attr: fax-no optional, multiple
+-attr: e-mail syntax(email), optional, multiple, lookup " CMN_ATTRS "
+-attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup
+-
+-class: role
+-attr: role mandatory, single, lookup
+-attr: nic-hdl mandatory, single, key
+-attr: address mandatory, multiple
+-attr: phone mandatory, multiple
+-attr: fax-no optional, multiple
+-attr: e-mail syntax(email), mandatory, multiple, lookup
+-attr: trouble optional, multiple " CMN_ATTRS "
+-attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: route
+-attr: route syntax(address_prefix), mandatory, single, key, lookup
+-attr: origin syntax(as_number), mandatory, single, key, lookup
+-attr: withdrawn syntax(date), optional, single, deleted
+-attr: member-of syntax(ListOfroute_set_name), optional, multiple, lookup
+-attr: inject syntax(special, inject), optional, multiple
+-attr: components syntax(special, components), optional, single
+-attr: aggr-bndry syntax(special, aggr-bndry), optional, single
+-attr: aggr-mtd syntax(special, aggr-mtd), optional, single
+-attr: export-comps syntax(special, filter), optional, single
+-attr: holes syntax(ListOfIPv4Prefix), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c optional, multiple, lookup
+-attr: tech-c optional, multiple, lookup
+-attr: cross-nfy syntax(list of rpsl_word), optional, multiple
+-attr: cross-mnt syntax(list of rpsl_word), optional, multiple
+-
+-class: route-set
+-attr: route-set syntax(route_set_name), mandatory, single, key
+-attr: members syntax(special, rs-members), optional, multiple, lookup
+-attr: mbrs-by-ref syntax(list of rpsl_Word), optional, multiple, lookup " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: as-set
+-attr: as-set syntax(as_set_name), mandatory, single, key
+-attr: members syntax(list of union as_number, as_set_name), optional, multiple, lookup
+-attr: mbrs-by-ref syntax(list of rpsl_word), optional, multiple, lookup " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: rtr-set
+-attr: rtr-set syntax(rtr_set_name), mandatory, single, key
+-attr: members syntax(list of union rtr_set_name, dns_name, ipv4_address), optional, multiple, lookup
+-attr: mbrs-by-ref syntax(list of rpsl_Word), optional, multiple, lookup " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: peering-set
+-attr: peering-set syntax(peering_set_name), mandatory, single, key
+-attr: peering syntax(special, peering), mandatory, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: filter-set
+-attr: filter-set syntax(filter_set_name), mandatory, single, key
+-attr: filter syntax(special, filter), mandatory, single " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: aut-num
+-attr: aut-num syntax(as_number), mandatory, single, key
+-attr: as-name syntax(rpsl_word), mandatory, single, lookup
+-attr: member-of syntax(List Of AS_set_name), optional, multiple, lookup
+-attr: import syntax(special,import), optional, multiple
+-attr: export syntax(special,export), optional, multiple
+-attr: default syntax(special,default), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: mnt-routes syntax(special, mnt-routes), optional, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-attr: cross-nfy syntax(list of rpsl_word), optional, multiple
+-attr: cross-mnt syntax(list of rpsl_word), optional, multiple
+-
+-class: inet-rtr
+-attr: inet-rtr syntax(dns_name), mandatory, single, key
+-attr: alias syntax(dns_name), optional, multiple, lookup
+-attr: local-as syntax(as_number), mandatory, single, lookup
+-attr: ifaddr syntax(special,ifaddr), mandatory, multiple
+-attr: peer syntax(special,peer), optional, multiple " CMN_ATTRS "
+-attr: member-of syntax(List Of rtr_set_name), optional, multiple, lookup
+-attr: descr optional, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: inetnum
+-attr: inetnum syntax(range of ipv4_address), mandatory, single, key
+-attr: netname mandatory, single, lookup
+-attr: country mandatory, multiple
+-attr: rev-srv optional, multiple, lookup
+-attr: status mandatory, single
+-attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: domain
+-attr: domain syntax(dns_name), mandatory, single, key
+-attr: sub-dom optional, multiple, lookup
+-attr: dom-net optional, multiple
+-attr: zone-c mandatory, multiple, lookup
+-attr: nserver optional, multiple, lookup
+-attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: limerick
+-attr: limerick mandatory, single, key
+-attr: text mandatory, multiple
+-attr: author mandatory, multiple, lookup " CMN_ATTRS "
+-attr: descr optional, multiple
+-attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-
+-class: as-block
+-attr: as-block syntax(union as_number, range of as_number), mandatory, single, key
+-attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "
+-attr: descr mandatory, multiple
+-attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-
+-class: key-cert
+-attr: key-cert mandatory, single, key, syntax(rpsl_word)
+-attr: method mandatory, single, syntax(rpsl_word)
+-attr: owner mandatory, multiple
+-attr: fingerpr mandatory, single
+-attr: certif mandatory, single
+-attr: remarks optional, multiple
+-attr: source mandatory, single, lookup, syntax(rpsl_word)
+-attr: changed optional, multiple
+-attr: deleted optional, single, deleted
+-attr: mnt-by mandatory, multiple, lookup, syntax(list of rpsl_word)
+-attr: notify optional, multiple, syntax(email)
+-
+-class: peval
+-attr: peval syntax(special,filter), optional, single
+-
+-class: repository
+-attr: repository mandatory, single, key, syntax(rpsl_word)
+-attr: query-address mandatory, multiple
+-attr: response-auth-type mandatory, multiple
+-attr: submit-address mandatory, multiple
+-attr: submit-auth-type mandatory, multiple
+-attr: repository-cert mandatory, multiple
+-attr: expire mandatory, single
+-attr: heartbeat-interval mandatory, single
+-attr: descr optional, multiple
+-attr: admin-c mandatory, multiple, lookup
+-attr: tech-c mandatory, multiple, lookup
+-attr: mnt-by mandatory, multiple, lookup " CMN_ATTRS "
+-
+-";
++#define CMN_ATTRS "\n" \
++"attr: notify syntax(email), optional, multiple\n" \
++"attr: remarks optional, multiple\n" \
++"attr: source syntax(rpsl_word), mandatory, single, internal\n" \
++"attr: integrity syntax(rpsl_word), optional, single, internal\n" \
++"attr: changed optional, multiple\n" \
++"attr: deleted optional, single, deleted"
++
++static char base_text[] = "class: dictionary \n"
++"attr: dictionary syntax(rpsl_word), mandatory, single, key\n"
++"attr: rp-attribute syntax(special,rp-attribute), optional, multiple\n"
++"attr: typedef syntax(special,typedef), optional, multiple\n"
++"attr: protocol syntax(special,protocol), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"attr: admin-c optional, multiple, lookup\n"
++"\n"
++"dictionary: rpsl\n"
++"descr: rpsl dictionary\n"
++"admin-c: Cengiz Alaettinoglu\n"
++"tech-c: Cengiz Alaettinoglu\n"
++"mnt-by: MNT-CENGIZ\n"
++"changed: cengiz@isi.edu 19980324\n"
++"source: RPS-WG\n"
++"typedef: ListOfIPv4Prefix list of Address_Prefix\n"
++"typedef: as_number-as_set_name union as_number, as_set_name\n"
++"typedef: ListOfas_number list of as_number\n"
++"typedef: ListOfas_number-as_set_name list of as_number-as_set_name\n"
++"typedef: ListOfas_set_name list of as_set_name\n"
++"typedef: ListOfroute_set_name list of route_set_name\n"
++"typedef: as_number-as_set_name-route_set_name-IPv4Prefix\n"
++" union as_number, as_set_name, route_set_name, Address_Prefix\n"
++"typedef: ListOfas_number-as_set_name-route_set_name-IPv4Prefix\n"
++" list of as_number-as_set_name-route_set_name-IPv4Prefix\n"
++"typedef: ListOfrpsl_word List of rpsl_word\n"
++"rp-attribute: # preference, smaller values represent higher preferences\n"
++" pref\n"
++" operator=(integer[0, 65535]) \n"
++"rp-attribute: # BGP multi_exit_discriminator attribute\n"
++" med \n"
++" operator=(union integer[0, 65535], enum[igp_cost])\n"
++" # to set med to the IGP metric: med = igp_cost;\n"
++" #operator=(enum[igp_cost])\n"
++"rp-attribute: # BGP destination preference attribute (dpa)\n"
++" dpa \n"
++" operator=(integer[0, 65535]) \n"
++"rp-attribute: # BGP aspath attribute\n"
++" aspath\n"
++" # prepends AS numbers from last to first order\n"
++" prepend(as_number, ...)\n"
++"typedef: # a community value in RPSL is either\n"
++" # - a 4 byte integer\n"
++" # - internet, no_export, no_advertise (see RFC-1997)\n"
++" community_elm union\n"
++" integer[1, 4294967295],\n"
++" enum[internet, no_export, no_advertise]\n"
++"typedef: # list of community values { 40, no_export, 3561:70}\n"
++" community_list\n"
++" list of community_elm\n"
++"rp-attribute: # BGP community attribute\n"
++" community \n"
++" # set to a list of communities\n"
++" operator=(community_list)\n"
++" # order independent equality comparison\n"
++" operator==(community_list) \n"
++" # append community values \n"
++" operator.=(community_list)\n"
++" append(community_elm, ...)\n"
++" # delete community values\n"
++" delete(community_elm, ...)\n"
++" # a filter: true if one of community values is contained\n"
++" contains(community_elm, ...)\n"
++" # shortcut to contains: community(no_export, {3561,70})\n"
++" operator()(community_elm, ...)\n"
++"rp-attribute: # next hop router in a static route\n"
++" next-hop \n"
++" operator=(ipv4_address) # a router address\n"
++" operator=(enum[self]) # router's own address\n"
++"rp-attribute: # cost of a static route\n"
++" cost \n"
++" operator=(integer[0, 65535])\n"
++"protocol: BGP4\n"
++" # as number of the peer router\n"
++" MANDATORY asno(as_number)\n"
++" # enable flap damping\n"
++" OPTIONAL flap_damp() \n"
++" OPTIONAL flap_damp(integer[0,65535],# penalty per flap\n"
++" integer[0,65535],# penalty value for supression\n"
++" integer[0,65535],# penalty value for reuse\n"
++" integer[0,65535],# halflife in secs when up\n"
++" integer[0,65535],# halflife in secs when down\n"
++" integer[0,65535])# maximum penalty\n"
++"protocol: OSPF\n"
++"protocol: RIP\n"
++"protocol: IGRP\n"
++"protocol: IS-IS\n"
++"protocol: STATIC\n"
++"protocol: RIPng\n"
++"protocol: DVMRP\n"
++"protocol: PIM-DM\n"
++"protocol: PIM-SM\n"
++"protocol: CBT\n"
++"protocol: MOSPF\n";
++
++static char classes_text[] = "class: mntner\n"
++"attr: mntner syntax(rpsl_word), mandatory, single, key\n"
++"attr: auth syntax(special, blobs), mandatory, multiple\n"
++"attr: upd-to syntax(email), mandatory, multiple\n"
++"attr: mnt-nfy syntax(email), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c optional, multiple, lookup\n"
++"\n"
++"class: person\n"
++"attr: person mandatory, single, lookup\n"
++"attr: nic-hdl syntax(rpsl_word), mandatory, single, key\n"
++"attr: address mandatory, multiple\n"
++"attr: phone mandatory, multiple\n"
++"attr: fax-no optional, multiple\n"
++"attr: e-mail syntax(email), optional, multiple, lookup " CMN_ATTRS "\n"
++"attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup\n"
++"\n"
++"class: role\n"
++"attr: role mandatory, single, lookup\n"
++"attr: nic-hdl mandatory, single, key\n"
++"attr: address mandatory, multiple\n"
++"attr: phone mandatory, multiple\n"
++"attr: fax-no optional, multiple\n"
++"attr: e-mail syntax(email), mandatory, multiple, lookup\n"
++"attr: trouble optional, multiple " CMN_ATTRS "\n"
++"attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: route\n"
++"attr: route syntax(address_prefix), mandatory, single, key, lookup\n"
++"attr: origin syntax(as_number), mandatory, single, key, lookup\n"
++"attr: withdrawn syntax(date), optional, single, deleted\n"
++"attr: member-of syntax(ListOfroute_set_name), optional, multiple, lookup\n"
++"attr: inject syntax(special, inject), optional, multiple\n"
++"attr: components syntax(special, components), optional, single\n"
++"attr: aggr-bndry syntax(special, aggr-bndry), optional, single\n"
++"attr: aggr-mtd syntax(special, aggr-mtd), optional, single\n"
++"attr: export-comps syntax(special, filter), optional, single\n"
++"attr: holes syntax(ListOfIPv4Prefix), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c optional, multiple, lookup\n"
++"attr: tech-c optional, multiple, lookup\n"
++"attr: cross-nfy syntax(list of rpsl_word), optional, multiple\n"
++"attr: cross-mnt syntax(list of rpsl_word), optional, multiple\n"
++"\n"
++"class: route-set\n"
++"attr: route-set syntax(route_set_name), mandatory, single, key\n"
++"attr: members syntax(special, rs-members), optional, multiple, lookup \n"
++"attr: mbrs-by-ref syntax(list of rpsl_Word), optional, multiple, lookup " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: as-set\n"
++"attr: as-set syntax(as_set_name), mandatory, single, key\n"
++"attr: members syntax(list of union as_number, as_set_name), optional, multiple, lookup \n"
++"attr: mbrs-by-ref syntax(list of rpsl_word), optional, multiple, lookup " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: rtr-set\n"
++"attr: rtr-set syntax(rtr_set_name), mandatory, single, key\n"
++"attr: members syntax(list of union rtr_set_name, dns_name, ipv4_address), optional, multiple, lookup \n"
++"attr: mbrs-by-ref syntax(list of rpsl_Word), optional, multiple, lookup " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: peering-set\n"
++"attr: peering-set syntax(peering_set_name), mandatory, single, key\n"
++"attr: peering syntax(special, peering), mandatory, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: filter-set\n"
++"attr: filter-set syntax(filter_set_name), mandatory, single, key\n"
++"attr: filter syntax(special, filter), mandatory, single " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: aut-num\n"
++"attr: aut-num syntax(as_number), mandatory, single, key\n"
++"attr: as-name syntax(rpsl_word), mandatory, single, lookup\n"
++"attr: member-of syntax(List Of AS_set_name), optional, multiple, lookup\n"
++"attr: import syntax(special,import), optional, multiple\n"
++"attr: export syntax(special,export), optional, multiple\n"
++"attr: default syntax(special,default), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: mnt-routes syntax(special, mnt-routes), optional, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"attr: cross-nfy syntax(list of rpsl_word), optional, multiple\n"
++"attr: cross-mnt syntax(list of rpsl_word), optional, multiple\n"
++"\n"
++"class: inet-rtr\n"
++"attr: inet-rtr syntax(dns_name), mandatory, single, key\n"
++"attr: alias syntax(dns_name), optional, multiple, lookup\n"
++"attr: local-as syntax(as_number), mandatory, single, lookup\n"
++"attr: ifaddr syntax(special,ifaddr), mandatory, multiple\n"
++"attr: peer syntax(special,peer), optional, multiple " CMN_ATTRS "\n"
++"attr: member-of syntax(List Of rtr_set_name), optional, multiple, lookup\n"
++"attr: descr optional, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: inetnum\n"
++"attr: inetnum syntax(range of ipv4_address), mandatory, single, key\n"
++"attr: netname mandatory, single, lookup\n"
++"attr: country mandatory, multiple\n"
++"attr: rev-srv optional, multiple, lookup\n"
++"attr: status mandatory, single\n"
++"attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: domain\n"
++"attr: domain syntax(dns_name), mandatory, single, key\n"
++"attr: sub-dom optional, multiple, lookup\n"
++"attr: dom-net optional, multiple\n"
++"attr: zone-c mandatory, multiple, lookup\n"
++"attr: nserver optional, multiple, lookup\n"
++"attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: limerick\n"
++"attr: limerick mandatory, single, key\n"
++"attr: text mandatory, multiple\n"
++"attr: author mandatory, multiple, lookup " CMN_ATTRS "\n"
++"attr: descr optional, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), mandatory, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"\n"
++"class: as-block\n"
++"attr: as-block syntax(union as_number, range of as_number), mandatory, single, key\n"
++"attr: mnt-lower syntax(ListOfrpsl_word), optional, multiple " CMN_ATTRS "\n"
++"attr: descr mandatory, multiple\n"
++"attr: mnt-by syntax(list of rpsl_word), optional, multiple, lookup\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"\n"
++"class: key-cert\n"
++"attr: key-cert mandatory, single, key, syntax(rpsl_word)\n"
++"attr: method mandatory, single, syntax(rpsl_word)\n"
++"attr: owner mandatory, multiple\n"
++"attr: fingerpr mandatory, single\n"
++"attr: certif mandatory, single\n"
++"attr: remarks optional, multiple\n"
++"attr: source mandatory, single, lookup, syntax(rpsl_word)\n"
++"attr: changed optional, multiple\n"
++"attr: deleted optional, single, deleted\n"
++"attr: mnt-by mandatory, multiple, lookup, syntax(list of rpsl_word)\n"
++"attr: notify optional, multiple, syntax(email)\n"
++"\n"
++"class: peval \n"
++"attr: peval syntax(special,filter), optional, single\n"
++"\n"
++"class: repository\n"
++"attr: repository mandatory, single, key, syntax(rpsl_word)\n"
++"attr: query-address mandatory, multiple\n"
++"attr: response-auth-type mandatory, multiple\n"
++"attr: submit-address mandatory, multiple\n"
++"attr: submit-auth-type mandatory, multiple\n"
++"attr: repository-cert mandatory, multiple\n"
++"attr: expire mandatory, single\n"
++"attr: heartbeat-interval mandatory, single\n"
++"attr: descr optional, multiple\n"
++"attr: admin-c mandatory, multiple, lookup\n"
++"attr: tech-c mandatory, multiple, lookup\n"
++"attr: mnt-by mandatory, multiple, lookup " CMN_ATTRS "\n"
++"\n";
+
+ void Schema::addClass(AttrClass *clss) {
+ classes[lastClass++] = clss;