diff options
Diffstat (limited to 'src/generic/alloc.c')
-rw-r--r-- | src/generic/alloc.c | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/src/generic/alloc.c b/src/generic/alloc.c index 826e4f9e..37de4d6a 100644 --- a/src/generic/alloc.c +++ b/src/generic/alloc.c @@ -1,13 +1,37 @@ // Dummy implementation for alloc commands // -// Copyright (C) 2016 Kevin O'Connor <kevin@koconnor.net> +// Copyright (C) 2016,2017 Kevin O'Connor <kevin@koconnor.net> // // This file may be distributed under the terms of the GNU GPLv3 license. -#include "misc.h" +#include <stdlib.h> // malloc +#include <string.h> // memset +#include "command.h" // shutdown +#include "misc.h" // alloc_chunk +#include "sched.h" // sched_shutdown // Return the maximum allocation size that can succeed up to 'reqsize' -size_t alloc_maxsize(size_t reqsize) +size_t +alloc_chunk_maxsize(size_t reqsize) { return reqsize; } + +// Allocate an area of memory +void * +alloc_chunk(size_t size) +{ + void *data = malloc(size); + if (!data) + shutdown("alloc_chunk failed"); + memset(data, 0, size); + return data; +} + +// Allocate an array of chunks +void * +alloc_chunks(size_t size, size_t count, size_t *avail) +{ + *avail = count; + return alloc_chunk(size * count); +} |