diff options
Diffstat (limited to 'lib/fuzzer/FuzzerShmem.h')
| -rw-r--r-- | lib/fuzzer/FuzzerShmem.h | 69 | 
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/fuzzer/FuzzerShmem.h b/lib/fuzzer/FuzzerShmem.h deleted file mode 100644 index 53568e0acb69..000000000000 --- a/lib/fuzzer/FuzzerShmem.h +++ /dev/null @@ -1,69 +0,0 @@ -//===- FuzzerShmem.h - shared memory interface ------------------*- C++ -* ===// -// -//                     The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// SharedMemoryRegion -//===----------------------------------------------------------------------===// - -#ifndef LLVM_FUZZER_SHMEM_H -#define LLVM_FUZZER_SHMEM_H - -#include <algorithm> -#include <cstring> -#include <string> - -#include "FuzzerDefs.h" - -namespace fuzzer { - -class SharedMemoryRegion { - public: -  bool Create(const char *Name); -  bool Open(const char *Name); -  bool Destroy(const char *Name); -  uint8_t *GetData() { return Data; } -  void PostServer() {Post(0);} -  void WaitServer() {Wait(0);} -  void PostClient() {Post(1);} -  void WaitClient() {Wait(1);} - -  size_t WriteByteArray(const uint8_t *Bytes, size_t N) { -    assert(N <= kShmemSize - sizeof(N)); -    memcpy(GetData(), &N, sizeof(N)); -    memcpy(GetData() + sizeof(N), Bytes, N); -    assert(N == ReadByteArraySize()); -    return N; -  } -  size_t ReadByteArraySize() { -    size_t Res; -    memcpy(&Res, GetData(), sizeof(Res)); -    return Res; -  } -  uint8_t *GetByteArray() { return GetData() + sizeof(size_t); } - -  bool IsServer() const { return Data && IAmServer; } -  bool IsClient() const { return Data && !IAmServer; } - -private: - -  static const size_t kShmemSize = 1 << 22; -  bool IAmServer; -  std::string Path(const char *Name); -  std::string SemName(const char *Name, int Idx); -  void Post(int Idx); -  void Wait(int Idx); - -  bool Map(int fd); -  uint8_t *Data = nullptr; -  void *Semaphore[2]; -}; - -extern SharedMemoryRegion SMR; - -}  // namespace fuzzer - -#endif  // LLVM_FUZZER_SHMEM_H  | 
