mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 19:03:15 +01:00
This is one of the steps we need in the process of providing a similar interface for thread creation which can be found in the mainstream operating systems like Linux.
27 lines
667 B
C
27 lines
667 B
C
/*
|
|
* Address allocation pool
|
|
*
|
|
* Copyright (C) 2007 Bahadir Balban
|
|
*/
|
|
#ifndef __ADDR_H__
|
|
#define __ADDR_H__
|
|
|
|
#include <idpool.h>
|
|
|
|
/* Address pool to allocate from a range of addresses */
|
|
struct address_pool {
|
|
struct id_pool *idpool;
|
|
unsigned long start;
|
|
unsigned long end;
|
|
};
|
|
|
|
int address_pool_init_with_idpool(struct address_pool *pool,
|
|
struct id_pool *idpool,
|
|
unsigned long start, unsigned long end);
|
|
int address_pool_init(struct address_pool *pool, unsigned long start,
|
|
unsigned long end);
|
|
void *address_new(struct address_pool *pool, int npages);
|
|
int address_del(struct address_pool *, void *addr, int npages);
|
|
|
|
#endif /* __ADDR_H__ */
|