blob: d84fa5922b3011af1ebb84f875a6e25fe2567d9c (
plain)
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
|
#include <stdio.h>
#include <sys/mman.h>
#include <sys/stat.h>
void* tirclogv_mmap(int fd, size_t *lengthp) {
struct stat statbuf;
int ret = fstat(fd, &statbuf);
if (ret < 0) {
perror("stat");
return NULL;
}
void *addr = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (addr == NULL) {
perror("mmap");
}
if (lengthp != NULL) *lengthp = statbuf.st_size;
return addr;
}
void tirclogv_munmap(void *addr, size_t length) {
int ret = munmap(addr, length);
if (ret < 0) {
perror("munmap");
}
}
|