VSF Documented
slab.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SLAB_H__
2#define __VSF_LINUX_SLAB_H__
3
5#include <linux/gfp.h>
6// <linux/slab.h> should include <linux/minmax.h>
7#include <linux/minmax.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13static inline void * kmalloc(size_t size, gfp_t flags)
14{
15 void * buff = vsf_heap_malloc(size);
16 if (buff != NULL) {
17 if (flags & __GFP_ZERO) {
18 memset(buff, 0, size);
19 }
20 }
21 return buff;
22}
23
24static inline void * krealloc(const void *buff, size_t new_size, gfp_t flags)
25{
26 return vsf_heap_realloc((void *)buff, new_size);
27}
28
29static inline void * kzalloc(size_t size, gfp_t flags)
30{
31 return kmalloc(size, flags | __GFP_ZERO);
32}
33
34static inline void kfree(const void *buff)
35{
36 vsf_heap_free((void *)buff);
37}
38
39static inline size_t ksize(const void *buff)
40{
41 return (size_t)vsf_heap_size((uint8_t *)buff);
42}
43
44#ifdef __cplusplus
45}
46#endif
47
48#endif
#define __GFP_ZERO
Definition gfp.h:12
unsigned int gfp_t
Definition gfp.h:10
#define NULL
Definition lvgl.h:26
unsigned char uint8_t
Definition stdint.h:5
void * memset(void *s, int ch, size_t n)
uint_fast32_t vsf_heap_size(uint8_t *buffer)
Definition vsf_heap.c:1005
#define vsf_heap_free(__ptr)
Definition vsf_heap.h:104
#define vsf_heap_realloc(__buffer, __size)
Definition vsf_heap.h:98
#define vsf_heap_malloc(__size)
Definition vsf_heap.h:86
uint8_t * buff
Definition vsf_memfs.h:51
uint32_t size
Definition vsf_memfs.h:50
Generated from commit: vsfteam/vsf@1e0abbc