Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 68d373e54fb21da3730c08bede406633 > files > 785

libCommonC++1.9_3-devel-1.9.4-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>macros.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.10 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>macros.h</h1><a href="macros_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <font class="comment">// Copyright (C) 1999-2001 Open Source Telecom Corporation.</font>
00002 <font class="comment">//  </font>
00003 <font class="comment">// This program is free software; you can redistribute it and/or modify</font>
00004 <font class="comment">// it under the terms of the GNU General Public License as published by</font>
00005 <font class="comment">// the Free Software Foundation; either version 2 of the License, or</font>
00006 <font class="comment">// (at your option) any later version.</font>
00007 <font class="comment">// </font>
00008 <font class="comment">// This program is distributed in the hope that it will be useful,</font>
00009 <font class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</font>
00010 <font class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</font>
00011 <font class="comment">// GNU General Public License for more details.</font>
00012 <font class="comment">// </font>
00013 <font class="comment">// You should have received a copy of the GNU General Public License</font>
00014 <font class="comment">// along with this program; if not, write to the Free Software </font>
00015 <font class="comment">// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</font>
00016 <font class="comment">// </font>
00017 <font class="comment">// As a special exception to the GNU General Public License, permission is </font>
00018 <font class="comment">// granted for additional uses of the text contained in its release </font>
00019 <font class="comment">// of Common C++.</font>
00020 <font class="comment">// </font>
00021 <font class="comment">// The exception is that, if you link the Common C++ library with other</font>
00022 <font class="comment">// files to produce an executable, this does not by itself cause the</font>
00023 <font class="comment">// resulting executable to be covered by the GNU General Public License.</font>
00024 <font class="comment">// Your use of that executable is in no way restricted on account of</font>
00025 <font class="comment">// linking the Common C++ library code into it.</font>
00026 <font class="comment">// </font>
00027 <font class="comment">// This exception does not however invalidate any other reasons why</font>
00028 <font class="comment">// the executable file might be covered by the GNU General Public License.</font>
00029 <font class="comment">// </font>
00030 <font class="comment">// This exception applies only to the code released under the </font>
00031 <font class="comment">// name Common C++.  If you copy code from other releases into a copy of</font>
00032 <font class="comment">// Common C++, as the General Public License permits, the exception does</font>
00033 <font class="comment">// not apply to the code that you add in this way.  To avoid misleading</font>
00034 <font class="comment">// anyone as to the status of such modified files, you must delete</font>
00035 <font class="comment">// this exception notice from them.</font>
00036 <font class="comment">// </font>
00037 <font class="comment">// If you write modifications of your own for Common C++, it is your choice</font>
00038 <font class="comment">// whether to permit this exception to apply to your modifications.</font>
00039 <font class="comment">// If you do not wish that, delete this exception notice.  </font>
00040 
00041 <font class="preprocessor">#ifndef __CCXX_MACROS_H__</font>
00042 <font class="preprocessor"></font><font class="preprocessor">#define __CCXX_MACROS_H__</font>
00043 <font class="preprocessor"></font>
00044 <font class="comment">// macros for detecting changes made between minor releases.</font>
00045 
00046 <font class="preprocessor">#define COMMON_TPPORT_TYPE_DEFINED</font>
00047 <font class="preprocessor"></font><font class="preprocessor">#define COMMON_EXCEPTION_DEFINED</font>
00048 <font class="preprocessor"></font>
00049 <font class="comment">// Commonly used Common C++ macros</font>
00050 
00051 <font class="preprocessor">#define ENTER_CRITICAL  EnterMutex();</font>
00052 <font class="preprocessor"></font><font class="preprocessor">#define LEAVE_CRITICAL  LeaveMutex();</font>
00053 <font class="preprocessor"></font><font class="preprocessor">#define ENTER_DEFERRED  setCancel(THREAD_CANCEL_DEFERRED);</font>
00054 <font class="preprocessor"></font><font class="preprocessor">#define LEAVE_DEFERRED  setCancel(THREAD_CANCEL_IMMEDIATE);</font>
00055 <font class="preprocessor"></font>
00056 <font class="comment">// These macros override common functions with thread-safe versions. In</font>
00057 <font class="comment">// particular the common "libc" sleep() has problems since it normally</font>
00058 <font class="comment">// uses SIGARLM (as actually defined by "posix").  The pthread_delay and</font>
00059 <font class="comment">// usleep found in libpthread are gaurenteed not to use SIGALRM and offer</font>
00060 <font class="comment">// higher resolution. </font>
00061 
00062 <font class="preprocessor">#undef  sleep</font>
00063 <font class="preprocessor"></font><font class="preprocessor">#define sleep(x)        ccxx_sleep((x) * 1000)</font>
00064 <font class="preprocessor"></font><font class="preprocessor">#define delay(x)        ccxx_sleep(x)</font>
00065 <font class="preprocessor"></font><font class="preprocessor">#define yield()         ccxx_yield()</font>
00066 <font class="preprocessor"></font>
00067 <font class="comment">// Some tests for DLL relared macros.</font>
00068 
00069 <font class="preprocessor">#ifndef __EXPORT</font>
00070 <font class="preprocessor"></font><font class="preprocessor">#define __EXPORT</font>
00071 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00072 <font class="preprocessor"></font>
00073 <font class="preprocessor">#ifndef __DLL</font>
00074 <font class="preprocessor"></font><font class="preprocessor">#define __DLL</font>
00075 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00076 <font class="preprocessor"></font>
00077 <font class="preprocessor">#endif</font>
00078 <font class="preprocessor"></font>
00079 <font class="comment">// Hide class names so they do not collide with other C++ libraries.</font>
00080 <font class="comment">// Macros are used to provide a portable means of hiding rather than</font>
00081 <font class="comment">// relying on namespace support.</font>
00082 
00083 <font class="preprocessor">#define RandomFile              cc_RandomFile</font>
00084 <font class="preprocessor"></font><font class="preprocessor">#define File                    cc_File</font>
00085 <font class="preprocessor"></font><font class="preprocessor">#define NewFile                 cc_NewFile</font>
00086 <font class="preprocessor"></font><font class="preprocessor">#define NamedPipe               cc_NamedPipe</font>
00087 <font class="preprocessor"></font><font class="preprocessor">#define MappedFile              cc_MappedFile</font>
00088 <font class="preprocessor"></font><font class="preprocessor">#define ThreadFile              cc_ThreadFile</font>
00089 <font class="preprocessor"></font><font class="preprocessor">#define SharedFile              cc_SharedFile</font>
00090 <font class="preprocessor"></font><font class="preprocessor">#define Socket                  cc_Socket</font>
00091 <font class="preprocessor"></font><font class="preprocessor">#define TCPSocket               cc_TCPSocket</font>
00092 <font class="preprocessor"></font><font class="preprocessor">#define TCPStream               cc_TCPStream</font>
00093 <font class="preprocessor"></font><font class="preprocessor">#define TCPSession              cc_TCPSession</font>
00094 <font class="preprocessor"></font><font class="preprocessor">#define UDPSocket               cc_UDPSocket</font>
00095 <font class="preprocessor"></font><font class="preprocessor">#define UDPBroadcast            cc_UDPBroadcast</font>
00096 <font class="preprocessor"></font><font class="preprocessor">#define UDPTransmit             cc_UDPTransmit</font>
00097 <font class="preprocessor"></font><font class="preprocessor">#define UDPReceive              cc_UDPReceive</font>
00098 <font class="preprocessor"></font><font class="preprocessor">#define UDPDuplex               cc_UDPDuplex</font>
00099 <font class="preprocessor"></font><font class="preprocessor">#define SocketPort              cc_SocketPort</font>
00100 <font class="preprocessor"></font><font class="preprocessor">#define TimerPort               cc_TimerPort</font>
00101 <font class="preprocessor"></font><font class="preprocessor">#define SocketService           cc_SocketService</font>
00102 <font class="preprocessor"></font><font class="preprocessor">#define InetAddress             cc_InetAddress </font>
00103 <font class="preprocessor"></font><font class="preprocessor">#define InetMaskAddress         cc_InetMaskAddress</font>
00104 <font class="preprocessor"></font><font class="preprocessor">#define InetHostAddress         cc_InetHostAddress</font>
00105 <font class="preprocessor"></font><font class="preprocessor">#define InetMcastAddress        cc_InetMcastAddress</font>
00106 <font class="preprocessor"></font><font class="preprocessor">#define BroadcastAddress        cc_BroadcastAddress</font>
00107 <font class="preprocessor"></font><font class="preprocessor">#define Mutex                   cc_Mutex</font>
00108 <font class="preprocessor"></font><font class="preprocessor">#define MutexCounter            cc_MutexCounter</font>
00109 <font class="preprocessor"></font><font class="preprocessor">#define AtomicCounter           cc_AtomicCounter</font>
00110 <font class="preprocessor"></font><font class="preprocessor">#define Semaphore               cc_Semaphore</font>
00111 <font class="preprocessor"></font><font class="preprocessor">#define Event                   cc_Event</font>
00112 <font class="preprocessor"></font><font class="preprocessor">#define Buffer                  cc_Buffer</font>
00113 <font class="preprocessor"></font><font class="preprocessor">#define FixedBuffer             cc_FixedBuffer</font>
00114 <font class="preprocessor"></font><font class="preprocessor">#define Pipe                    cc_Pipe</font>
00115 <font class="preprocessor"></font><font class="preprocessor">#define Thread                  cc_Thread</font>
00116 <font class="preprocessor"></font><font class="preprocessor">#define ThreadKey               cc_ThreadKey</font>
00117 <font class="preprocessor"></font><font class="preprocessor">#define MemPager                cc_MemPager</font>
00118 <font class="preprocessor"></font><font class="preprocessor">#define Keydata                 cc_Keydata</font>
00119 <font class="preprocessor"></font><font class="preprocessor">#define PersistException        cc_PersistException</font>
00120 <font class="preprocessor"></font><font class="preprocessor">#define TypeManager             cc_TypeManager</font>
00121 <font class="preprocessor"></font><font class="preprocessor">#define BaseObject              cc_BaseObject</font>
00122 <font class="preprocessor"></font><font class="preprocessor">#define Engine                  cc_Engine</font>
00123 <font class="preprocessor"></font><font class="preprocessor">#define Vector2D                cc_Vector2D</font>
00124 <font class="preprocessor"></font><font class="preprocessor">#define Serial                  cc_Serial</font>
00125 <font class="preprocessor"></font><font class="preprocessor">#define Slog                    cc_Slog</font>
00126 <font class="preprocessor"></font><font class="preprocessor">#define Dir                     cc_Dir</font>
00127 <font class="preprocessor"></font><font class="preprocessor">#define FIFOSession             cc_FIFOSession</font>
00128 <font class="preprocessor"></font><font class="preprocessor">#define SharedMemPager          cc_SharedMemPager</font>
00129 <font class="preprocessor"></font><font class="preprocessor">#define ScriptCommand           cc_ScriptCommand</font>
00130 <font class="preprocessor"></font><font class="preprocessor">#define ScriptSymbol            cc_ScriptSymbol</font>
00131 <font class="preprocessor"></font><font class="preprocessor">#define ScriptInterp            cc_ScriptInterp</font>
00132 <font class="preprocessor"></font><font class="preprocessor">#define ScriptImage             cc_ScriptImage</font>
00133 <font class="preprocessor"></font>
</pre></div><hr><address><small>Generated at Tue Oct 16 11:17:16 2001 for CommonC++ by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.gif" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.10 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2001</small></address>
</body>
</html>