]> git.saurik.com Git - apple/securityd.git/blobdiff - src/SharedMemoryServer.h
securityd-32661.tar.gz
[apple/securityd.git] / src / SharedMemoryServer.h
diff --git a/src/SharedMemoryServer.h b/src/SharedMemoryServer.h
new file mode 100644 (file)
index 0000000..27958a4
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef __SHARED_MEMORY_SERVER__
+#define __SHARED_MEMORY_SERVER__
+
+
+
+#include <string>
+#include <stdlib.h>
+#include <securityd_client/SharedMemoryCommon.h>
+
+class SharedMemoryServer
+{
+protected:
+       std::string mSegmentName;
+       size_t mSegmentSize;
+       
+       u_int8_t* mSegment;
+
+       void WriteOffsetAtOffset (SegmentOffsetType offset, SegmentOffsetType data);
+       void WriteDataAtOffset (SegmentOffsetType offset, const void* data, SegmentOffsetType length);
+
+public:
+       SharedMemoryServer (const char* segmentName, SegmentOffsetType segmentSize);
+       virtual ~SharedMemoryServer ();
+       
+       void WriteMessage (SegmentOffsetType domain, SegmentOffsetType event, const void *message, SegmentOffsetType messageLength);
+       
+       const char* GetSegmentName ();
+       size_t GetSegmentSize ();
+       
+       SegmentOffsetType GetProducerCount ();
+       void SetProducerCount (SegmentOffsetType producerCount);
+};
+
+
+
+#endif