/* * memalloc.h * * Memory allocation definitions for user land hibernation utilities. * * Copyright (C) 2008 Rafael J. Wysocki * * This file is released under the GPLv2. * */ struct mem_slot { void *addr; size_t size; }; #define ALIGN_QWORD 8 #define BUFFER_PAGES 32 extern unsigned int page_size; /* This MUST be an multipe of page_size */ extern unsigned int buffer_size; extern void get_page_and_buffer_sizes(void); extern size_t round_up_page_size(size_t size); extern size_t round_down_page_size(size_t size); extern int init_memalloc(size_t aux, size_t pool); extern void *getmem(size_t size); extern void freemem(void *address); extern void free_memalloc(void);