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 Andric std::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 Andric std::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 Andric bool 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 Andric bool 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 Andric bool 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 Andric bool 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 Andric void SharedMemoryRegion::Post(int Idx) {
54*4ba319b5SDimitry Andric   assert(0 && "UNIMPLEMENTED");
55*4ba319b5SDimitry Andric }
56*4ba319b5SDimitry Andric 
Wait(int Idx)57*4ba319b5SDimitry Andric void 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