The Pedigree Project 0.1
vm-contract-test/contract.h
1#ifndef VM_CONTRACT_H
2#define VM_CONTRACT_H
3
4#include <errno.h>
5#include <stdint.h>
6#include <stdio.h>
7#include <time.h>
8
9#include <sys/types.h>
10
11#define CHECK(condition) \
12 do { \
13 if (!(condition)) { \
14 fprintf(stderr, "%s:%d: %s (errno=%d)\n", __FILE__, __LINE__, #condition, errno); \
15 failed = 1; \
16 goto out; \
17 } \
18 } while (0)
19
20extern size_t vm_page;
21int64_t vm_now(void);
22void vm_pause(int milliseconds);
23int vm_wait(volatile int* flag, int milliseconds);
24int vm_reap(pid_t child, int milliseconds);
25int vm_fault(void* address, int writing, int expected_signal);
26int vm_file(size_t pages, int* readonly);
27int vm_uniform(const unsigned char* bytes, size_t length, unsigned char value);
28int vm_test_remap(void);
29int vm_test_remap_file(void);
30int vm_test_remap_shm(void);
31int vm_test_residency(void);
32int vm_test_discard(void);
33
34#endif