|
|
/* * $Id: staticglobals_h.html,v 1.2 2001/08/17 12:07:32 dreibh Exp $ * * SCTP implementation according to RFC 2960. * Copyright (C) 1999-2001 by Thomas Dreibholz * * Realized in co-operation between Siemens AG * and University of Essen, Institute of Computer Networking Technology. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * There are two mailinglists available at www.sctp.de which should be used for * any discussion related to this implementation. * * Contact: discussion@sctp.de * dreibh@exp-math.uni-essen.de * * Purpose: Static Globals * */ #ifndef STATICGLOBALS_H #define STATICGLOBALS_H #include "tdsystem.h" /* Very important: Do *not* change the order of these declarations! */ // ###### Synchronizable/Thread static attributes ########################### #ifndef STATICGLOBALS_SKIP_THREAD #include "synchronizable.h" #include "thread.h" namespace Coral { // Important: Synchronizable::MutexSet has to be initialized *before* // the SyncSetLock, therefore it is here in thread.cc! #ifdef SYNCDEBUGGER set<Synchronizable*> Synchronizable::MutexSet; #endif Synchronizable Thread::SyncSetLock("SyncSetLock"); set<Thread*> Thread::ThreadSet; Synchronizable Thread::MemoryManagementLock("MemoryManagementLock"); #ifdef SYNCDEBUGGER bool Thread::syncDebuggerChecked = Thread::checkSyncDebugger(); #endif } #endif // ###### InternetAddress static attributes ################################# #ifndef STATICGLOBALS_SKIP_INTERNETADDRESS #include "internetaddress.h" namespace Coral { // Check, if IPv6 is available on this host. bool InternetAddress::UseIPv6 = checkIPv6(); } #endif // ###### SCTPSocketMaster static attributes ################################ #ifndef STATICGLOBALS_SKIP_SCTP #ifdef USE_SCTP_WRAPPER #include "sctpsocketmaster.h" namespace Coral { int SCTPSocketMaster::InitializationResult = -1000; cardinal SCTPSocketMaster::LockLevel = 0; cardinal SCTPSocketMaster::OldCancelState = true; card64 SCTPSocketMaster::LastGarbageCollection; set<unsigned short> SCTPSocketMaster::ClosingSockets; multimap<unsigned int, unsigned short> SCTPSocketMaster::ClosingAssociations; multimap<unsigned short, SCTPSocket*> SCTPSocketMaster::SCTPSocketList; SCTP_ulpCallbacks SCTPSocketMaster::SCTPCallbacks; SCTPSocketMaster SCTPSocketMaster::MasterInstance; } #endif #endif #endif
Generated by: dreibh@kappes on Fri Aug 17 14:08:47 2001, using kdoc 2.0a53. |