]> git.saurik.com Git - apple/securityd.git/blob - src/SharedMemoryServer.h
27958a4d797a62ce80809475fa564513ea104b69
[apple/securityd.git] / 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;
14 size_t mSegmentSize;
15
16 u_int8_t* mSegment;
17
18 void WriteOffsetAtOffset (SegmentOffsetType offset, SegmentOffsetType data);
19 void WriteDataAtOffset (SegmentOffsetType offset, const void* data, SegmentOffsetType length);
20
21 public:
22 SharedMemoryServer (const char* segmentName, SegmentOffsetType segmentSize);
23 virtual ~SharedMemoryServer ();
24
25 void WriteMessage (SegmentOffsetType domain, SegmentOffsetType event, const void *message, SegmentOffsetType messageLength);
26
27 const char* GetSegmentName ();
28 size_t GetSegmentSize ();
29
30 SegmentOffsetType GetProducerCount ();
31 void SetProducerCount (SegmentOffsetType producerCount);
32 };
33
34
35
36 #endif