RTP Trace System  1.0
system.h
Go to the documentation of this file.
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                    Master Thesis Implementation                  ####
00004 // ####  Management of Layered Variable Bitrate Multimedia Streams over  ####
00005 // ####                  DiffServ with A Priori Knowledge                ####
00006 // ####                                                                  ####
00007 // #### ================================================================ ####
00008 // ####                                                                  ####
00009 // ####                                                                  ####
00010 // #### System dependent configuration                                   ####
00011 // ####                                                                  ####
00012 // #### Version 1.00  --  February 19, 2001                              ####
00013 // ####                                                                  ####
00014 // #### Copyright (C) 2000/2001 Thomas Dreibholz                         ####
00015 // #### University of Bonn, Department of Computer Science IV            ####
00016 // #### EMail: dreibh@iem.uni-due.de                                     ####
00017 // #### WWW:   https://www.uni-due.de/~be0001/diplom/index.html          ####
00018 // ####                                                                  ####
00019 // ##########################################################################
00020 
00021  
00022 #ifndef SYSTEM_H
00023 #define SYSTEM_H
00024 
00025 
00026 // Use traffic shaper
00027 #define USE_TRAFFICSHAPER
00028 
00029 
00030 
00031 // Some important definitions for usage of reentrant versions.
00032 #ifndef _REENTRANT
00033 #define _REENTRANT
00034 #endif
00035 #define _THREAD_SAFE
00036 #define _GNU_SOURCE
00037 #define USE_PTHREADS
00038 
00039 
00040 #include <stdio.h>
00041 #include <stdlib.h>
00042 #include <unistd.h>
00043 #include <errno.h>
00044 #include <iostream.h>
00045 #include <string.h>
00046 #include <math.h>
00047 #include <endian.h>
00048 #include <ctype.h>
00049 
00050 
00051 // In socket.cc: CMSG_NXTHDR: (__cmsg_nxthdr) is not found,
00052 // if compiled with -O0 -> extern inline definition required.
00053 #if !defined __USE_EXTERN_INLINES
00054 #define __USE_EXTERN_INLINES 1
00055 #endif
00056 
00057 
00058 #ifndef max
00059 #define max(a, b) ((a) < (b) ? (b) : (a))
00060 #endif
00061 #ifndef min
00062 #define min(a, b) ((a) > (b) ? (b) : (a))
00063 #endif
00064 
00065 
00066 // ###### CPU defintions ####################################################
00067 // Set correct number of CPU bits (32 or 64) here!
00068 #if (defined __i386__) || (defined __i486__) || (defined __pentium__) || (defined __pentiumpro__)
00069 #define CPU_BITS 32
00070 #else
00071 #error "CPU_BITS is not set correctly! Check system.h!"
00072 #endif
00073 
00074 #define CPU_BYTEORDER __BYTE_ORDER
00075 #if ((CPU_BYTEORDER != BIG_ENDIAN) && (CPU_BYTEORDER != LITTLE_ENDIAN))
00076 #error "CPU_BYTEORDER is not set correctly! Check system.h!"
00077 #endif
00078 
00079 
00080 // ###### Type definitions ##################################################
00084 typedef signed char sbyte;
00085 
00089 typedef unsigned char ubyte;
00090 
00094 typedef signed char int8;
00095 
00099 typedef unsigned char card8;
00100 
00104 typedef signed short int16;
00105 
00109 typedef unsigned short card16;
00110 
00114 typedef signed int int32;
00115 
00119 typedef signed int integer;
00120 
00124 typedef unsigned int card32;
00125 
00129 typedef signed long long int64;
00130 
00134 typedef unsigned long long card64;
00135 
00139 typedef unsigned int cardinal;
00140 
00141 
00142 // Include tools.h with libefence replacement for new and delete.
00143 #include "tools.h"
00144 
00145 
00146 #endif
00147   
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines