1*4ba319b5SDimitry Andric //===- FuzzerShmemWindows.cpp - Posix shared memory -------------*- C++ -* ===// 2*4ba319b5SDimitry Andric // 3*4ba319b5SDimitry Andric // The LLVM Compiler Infrastructure 4*4ba319b5SDimitry Andric // 5*4ba319b5SDimitry Andric // This file is distributed under the University of Illinois Open Source 6*4ba319b5SDimitry Andric // License. See LICENSE.TXT for details. 7*4ba319b5SDimitry Andric // 8*4ba319b5SDimitry Andric //===----------------------------------------------------------------------===// 9*4ba319b5SDimitry Andric // SharedMemoryRegion 10*4ba319b5SDimitry Andric //===----------------------------------------------------------------------===// 11*4ba319b5SDimitry Andric #include "FuzzerDefs.h" 12*4ba319b5SDimitry Andric #if LIBFUZZER_WINDOWS 13*4ba319b5SDimitry Andric 14*4ba319b5SDimitry Andric #include "FuzzerIO.h" 15*4ba319b5SDimitry Andric #include "FuzzerShmem.h" 16*4ba319b5SDimitry Andric 17*4ba319b5SDimitry Andric #include <fcntl.h> 18*4ba319b5SDimitry Andric #include <stdio.h> 19*4ba319b5SDimitry Andric #include <sys/stat.h> 20*4ba319b5SDimitry Andric #include <sys/types.h> 21*4ba319b5SDimitry Andric 22*4ba319b5SDimitry Andric namespace fuzzer { 23*4ba319b5SDimitry Andric Path(const char * Name)24*4ba319b5SDimitry Andricstd::string SharedMemoryRegion::Path(const char *Name) { 25*4ba319b5SDimitry Andric return DirPlusFile(TmpDir(), Name); 26*4ba319b5SDimitry Andric } 27*4ba319b5SDimitry Andric SemName(const char * Name,int Idx)28*4ba319b5SDimitry Andricstd::string SharedMemoryRegion::SemName(const char *Name, int Idx) { 29*4ba319b5SDimitry Andric std::string Res(Name); 30*4ba319b5SDimitry Andric return Res + (char)('0' + Idx); 31*4ba319b5SDimitry Andric } 32*4ba319b5SDimitry Andric Map(int fd)33*4ba319b5SDimitry Andricbool SharedMemoryRegion::Map(int fd) { 34*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 35*4ba319b5SDimitry Andric return false; 36*4ba319b5SDimitry Andric } 37*4ba319b5SDimitry Andric Create(const char * Name)38*4ba319b5SDimitry Andricbool SharedMemoryRegion::Create(const char *Name) { 39*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 40*4ba319b5SDimitry Andric return false; 41*4ba319b5SDimitry Andric } 42*4ba319b5SDimitry Andric Open(const char * Name)43*4ba319b5SDimitry Andricbool SharedMemoryRegion::Open(const char *Name) { 44*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 45*4ba319b5SDimitry Andric return false; 46*4ba319b5SDimitry Andric } 47*4ba319b5SDimitry Andric Destroy(const char * Name)48*4ba319b5SDimitry Andricbool SharedMemoryRegion::Destroy(const char *Name) { 49*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 50*4ba319b5SDimitry Andric return false; 51*4ba319b5SDimitry Andric } 52*4ba319b5SDimitry Andric Post(int Idx)53*4ba319b5SDimitry Andricvoid SharedMemoryRegion::Post(int Idx) { 54*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 55*4ba319b5SDimitry Andric } 56*4ba319b5SDimitry Andric Wait(int Idx)57*4ba319b5SDimitry Andricvoid SharedMemoryRegion::Wait(int Idx) { 58*4ba319b5SDimitry Andric Semaphore[1] = nullptr; 59*4ba319b5SDimitry Andric assert(0 && "UNIMPLEMENTED"); 60*4ba319b5SDimitry Andric } 61*4ba319b5SDimitry Andric 62*4ba319b5SDimitry Andric } // namespace fuzzer 63*4ba319b5SDimitry Andric 64*4ba319b5SDimitry Andric #endif // LIBFUZZER_WINDOWS 65