]> git.saurik.com Git - apple/security.git/blob - securityd/src/SharedMemoryServer.h
Security-57740.1.18.tar.gz
[apple/security.git] / securityd / src / SharedMemoryServer.h
1 #ifndef __SHARED_MEMORY_SERVER__
2 #define __SHARED_MEMORY_SERVER__
3
4
5
6 #include <string>
7 #include <stdlib.h>
8 #include <securityd_client/SharedMemoryCommon.h>
9
10 class SharedMemoryServer
11 {
12 protected:
13 std::string mSegmentName, mFileName;
14 size_t mSegmentSize;
15
16 u_int8_t* mSegment;
17 u_int8_t* mDataArea;
18 u_int8_t* mDataPtr;
19 u_int8_t* mDataMax;
20
21 int mBackingFile;
22
23 void WriteOffset (SegmentOffsetType offset);
24 void WriteData (const void* data, SegmentOffsetType length);
25
26 public:
27 SharedMemoryServer (const char* segmentName, SegmentOffsetType segmentSize);
28 virtual ~SharedMemoryServer ();
29
30 void WriteMessage (SegmentOffsetType domain, SegmentOffsetType event, const void *message, SegmentOffsetType messageLength);
31
32 const char* GetSegmentName ();
33 size_t GetSegmentSize ();
34
35 void SetProducerOffset (SegmentOffsetType producerOffset);
36 };
37
38
39
40 #endif