29 lines
504 B
C
29 lines
504 B
C
#ifndef MEMORY_H_
|
|
#define MEMORY_H_
|
|
|
|
#include "str.h"
|
|
#include "types.h"
|
|
#include "array.h"
|
|
|
|
enum MemoryPermissions {
|
|
HI_MEMORY_READ = 1 << 0,
|
|
HI_MEMORY_WRITE = 1 << 1,
|
|
HI_MEMORY_EXECUTE = 1 << 2,
|
|
HI_MEMORY_SHARED = 1 << 3,
|
|
HI_MEMORY_PRIVATE = 1 << 4
|
|
};
|
|
|
|
typedef struct {
|
|
void *region_start;
|
|
void *redion_end;
|
|
u32 region_flags; // enum MemoryPermissions
|
|
u32 offset;
|
|
str pathname;
|
|
} MemoryRegion;
|
|
|
|
str read_memory_maps_self();
|
|
|
|
sc_array_def(MemoryRegion, memreg);
|
|
|
|
#endif // MEMORY_H_
|