#ifndef __CDBSHM_H #define __CDBSHM_H #ifdef _WINDOWS64 #ifdef PUB_TOOLS_EXPORTS #define PUB_TOOLS_API __declspec(dllexport) #else #define PUB_TOOLS_API __declspec(dllimport) #endif #else #define PUB_TOOLS_API #endif #include #ifndef _WINDOWS64 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _HPUX #include #else #include #endif #include #include #include #else #include #include #include #include #include #include #include #endif class PUB_TOOLS_API CDbShm { public: CDbShm(); ~CDbShm(); private: static int m_TotalShmSize; static char * m_pShm; public: #ifndef _WINDOWS64 int InitShm(key_t key, int size); #else int InitShm(const char* file_name, const int size); #endif static int SetShmSize(int nSize); static int GetShmSize(int &nSize); int WriteShm(char * inShm, int inSize, int ptrOffset); int ReadShm(char * &outShm, int outSize, int ptrOffset); char* MapFile(const char* file_name, const int stab_total_size); int ReadShmEx(char * outShm, int outSize, int ptrOffset); }; #endif