X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/securityd/src/SharedMemoryServer.h diff --git a/securityd/src/SharedMemoryServer.h b/securityd/src/SharedMemoryServer.h new file mode 100644 index 00000000..6e17b35a --- /dev/null +++ b/securityd/src/SharedMemoryServer.h @@ -0,0 +1,39 @@ +#ifndef __SHARED_MEMORY_SERVER__ +#define __SHARED_MEMORY_SERVER__ + + + +#include +#include +#include + +class SharedMemoryServer +{ +protected: + std::string mSegmentName, mFileName; + size_t mSegmentSize; + + u_int8_t* mSegment; + u_int8_t* mDataArea; + u_int8_t* mDataPtr; + u_int8_t* mDataMax; + + void WriteOffset (SegmentOffsetType offset); + void WriteData (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 GetProducerOffset (); + void SetProducerOffset (SegmentOffsetType producerOffset); +}; + + + +#endif