1 // Copyright 2018 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include <inc/config.h>
6 #include <fsprivate.h>
7 #include <stdlib.h>
8 #include <string.h>
9 #include <sys.h>
10 
11 // Wrapper for malloc()
FsMalloc(size_t size)12 void* FsMalloc(size_t size) {
13     void* mem = malloc(size);
14     if (mem == NULL)
15         FsError(ENOMEM);
16 
17     return mem;
18 }
19 
20 // Wrapper for calloc()
FsCalloc(size_t nitems,size_t size)21 void* FsCalloc(size_t nitems, size_t size) {
22     void* mem = calloc(nitems, size);
23     if (mem == NULL)
24         FsError(ENOMEM);
25 
26     return mem;
27 }
28 
29 // Wrapper for aalloc()
FsAalloc(size_t size)30 void* FsAalloc(size_t size) {
31     void* mem = aalloc(size);
32     if (mem == NULL)
33         FsError(ENOMEM);
34 
35     return mem;
36 }
37 
38 // Wrapper for free()
FsFree(void * ptr)39 void FsFree(void* ptr) {
40     free(ptr);
41 }
42 
43 // Wrapper for free_clear()
FsFreeClear(void * ptr)44 void FsFreeClear(void* ptr) {
45     free_clear(ptr);
46 }
47 
48 // Wrapper for afree_clear()
FsAfreeClear(void * ptr)49 void FsAfreeClear(void* ptr) {
50     afree_clear(ptr);
51 }
52