aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/raw_pdb/src/Examples/ExampleMemoryMappedFile.h
blob: c14575336a0a68dfb52eb70f2385d9547f3af298 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Copyright 2011-2022, Molecular Matters GmbH <[email protected]>
// See LICENSE.txt for licensing details (2-clause BSD License: https://opensource.org/licenses/BSD-2-Clause)

#ifndef _WIN32
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

#define INVALID_HANDLE_VALUE ((long)-1)
#endif

namespace MemoryMappedFile
{
	struct Handle
	{
#ifdef _WIN32
		void* file;
		void* fileMapping;
#else
		int   file;
#endif
		void* baseAddress;
		size_t len;
	};

	Handle Open(const char* path);
	void Close(Handle& handle);
}