00001 /* 00002 * Sun Public License Notice 00003 * 00004 * The contents of this file are subject to the Sun Public License 00005 * Version 1.0 (the "License"); you may not use this file except 00006 * in compliance with the License. A copy of the License is available 00007 * at http://www.sun.com/ 00008 * 00009 * The Original Code is the Java Profiler module. The Initial Developers 00010 * of the Original Code are Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, 00011 * Lukas Petru and Marek Przeczek. 00012 * 00013 * Portions created by Jan Stola are Copyright (C) 2000-2001. 00014 * All Rights Reserved. 00015 * 00016 * Portions created by Pavel Vacha are Copyright (C) 2000-2001. 00017 * All Rights Reserved. 00018 * 00019 * Portions created by Michal Pise are Copyright (C) 2000-2001. 00020 * All Rights Reserved. 00021 * 00022 * Portions created by Petr Luner are Copyright (C) 2000-2001. 00023 * All Rights Reserved. 00024 * 00025 * Portions created by Lukas Petru are Copyright (C) 2000-2001. 00026 * All Rights Reserved. 00027 * 00028 * Portions created by Marek Przeczek are Copyright (C) 2000-2001. 00029 * All Rights Reserved. 00030 * 00031 * Contributors: Jan Stola, Pavel Vacha, Michal Pise, Petr Luner, 00032 * Lukas Petru and Marek Przeczek. 00033 */ 00034 00035 #ifndef _INCLUDES_H_ 00036 #define _INCLUDES_H_ 00037 00038 #ifdef WIN32 00039 // WIN32 headers 00040 #include <string.h> 00041 #include <time.h> 00042 #include <winsock2.h> 00043 #include <iostream.h> 00044 #else 00045 // LINUX and SUNOS headers 00046 #include <sys/types.h> 00047 #include <netinet/in.h> 00048 #include <sys/socket.h> 00049 #include <unistd.h> 00050 #include <netdb.h> 00051 #include <sys/ipc.h> 00052 #include <sys/sem.h> 00053 #include <sys/shm.h> 00054 #include <sys/time.h> 00055 #include <string.h> 00056 #include <iostream.h> 00057 #include <time.h> 00058 #include <signal.h> 00059 00060 #ifndef USE_RAW_MONITORS 00061 #include <pthread.h> 00062 #endif 00063 00064 #endif 00065 00066 #include <jvmpi.h> 00067 00068 #ifdef PROF_ERROR_ON 00069 #define PROF_ERROR(context, error) \ 00070 Prof::dumpError(context, error, __FILE__, __LINE__) 00071 #else 00072 #define PROF_ERROR(context, error) 00073 #endif // PROF_ERROR_ON 00074 00075 class Allocator; 00076 class AllocAbstractStatThreadObject; 00077 class AllocArena; 00078 class AllocGlobalRef; 00079 class AllocInstance; 00080 class AllocObject; 00081 class AllocObjectMethod; 00082 class AllocObjectTrace; 00083 class AllocStatData; 00084 class AllocThreadMethod; 00085 class AllocThreadObject; 00086 class AllocThreadObjectMethod; 00087 class AllocThreadObjectTrace; 00088 class AllocThreadTrace; 00089 class AllocTrace; 00090 class Buffer; 00091 class Class; 00092 class ClassField; 00093 class Commun; 00094 class CommunShMem; 00095 class CommunSocket; 00096 class Counter; 00097 class CpuStack; 00098 class CpuStatData; 00099 class CpuThreadMethod; 00100 class CpuThreadTrace; 00101 class CpuTrace; 00102 class DataBinaryFormat; 00103 class Delay; 00104 class GC; 00105 class GroupThread; 00106 class IdObject; 00107 class InfoBinaryFormat; 00108 class IProf; 00109 class ListItem; 00110 class LI1; 00111 class LI2; 00112 class LI3; 00113 class LI4; 00114 class LI5; 00115 class Lock; 00116 class Method; 00117 class MonStatData; 00118 class MonThreadMethod; 00119 class MonThreadTrace; 00120 class MonTrace; 00121 class ObjectTable; 00122 class Prof; 00123 class RefCount; 00124 class Sampling; 00125 class Semaphore; 00126 class Setup; 00127 class SharedMemory; 00128 class StatDataModification; 00129 class String; 00130 class Synchronized; 00131 class Thread; 00132 class Trace; 00133 00134 template<class T, class K, class L> 00135 class Hash; 00136 00137 template<class T, class L> 00138 class List; 00139 00140 struct AllocObjectKey; 00141 struct AllocObjectMethodKey; 00142 struct AllocObjectTraceKey; 00143 struct AllocThreadMethodKey; 00144 struct AllocThreadObjectKey; 00145 struct AllocThreadObjectMethodKey; 00146 struct AllocThreadObjectTraceKey; 00147 struct AllocThreadTraceKey; 00148 struct CpuThreadTraceKey; 00149 struct MonThreadMethodKey; 00150 struct MonThreadTraceKey; 00151 struct TraceFrame; 00152 struct TraceKey; 00153 00154 #endif // _INCLUDES_H_