Bela
Real-time, ultra-low-latency audio and sensor processing system for BeagleBone Black
Loading...
Searching...
No Matches
Mmap.h
1#pragma once
2#include <sys/mman.h>
3class Mmap
4{
5public:
6 Mmap();
7 ~Mmap();
8
17 void* map(off_t offset, size_t size);
18
23 void unmap();
24
28 template<typename T>
29 static int read(off_t offset, T& value)
30 {
31 Mmap mmap;
32 T* ptr = (T*)mmap.map(offset, sizeof(T));
33 if(ptr) {
34 value = ptr[0];
35 return 0;
36 } else
37 return -1;
38
39 }
40
44 template<typename T>
45 static int write(off_t offset, const T& value)
46 {
47 Mmap mmap;
48 T* ptr = (T*)mmap.map(offset, sizeof(T));
49 if(ptr) {
50 ptr[0] = value;
51 return 0;
52 } else
53 return -1;
54 }
55private:
56 int fd;
57 void* ptr;
58 size_t size;
59};
60
static int read(off_t offset, T &value)
Definition Mmap.h:29
void * map(off_t offset, size_t size)
void unmap()
static int write(off_t offset, const T &value)
Definition Mmap.h:45