shmat.h 494 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "fhandle.h"
  3. #include <util/generic/ptr.h>
  4. #include <util/generic/guid.h>
  5. class TSharedMemory: public TThrRefBase {
  6. TGUID Id;
  7. FHANDLE Handle;
  8. void* Data;
  9. int Size;
  10. public:
  11. TSharedMemory();
  12. ~TSharedMemory() override;
  13. bool Create(int Size);
  14. bool Open(const TGUID& id, int size);
  15. const TGUID& GetId() {
  16. return Id;
  17. }
  18. void* GetPtr() {
  19. return Data;
  20. }
  21. int GetSize() const {
  22. return Size;
  23. }
  24. };