RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
libdl
rtl-bit-alloc.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
11
/*
12
* COPYRIGHT (c) 2019 Chris Johns <chrisj@rtems.org>
13
*
14
* Redistribution and use in source and binary forms, with or without
15
* modification, are permitted provided that the following conditions
16
* are met:
17
* 1. Redistributions of source code must retain the above copyright
18
* notice, this list of conditions and the following disclaimer.
19
* 2. Redistributions in binary form must reproduce the above copyright
20
* notice, this list of conditions and the following disclaimer in the
21
* documentation and/or other materials provided with the distribution.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*/
35
36
#if !defined (_RTEMS_RTL_BIT_ALLOC_H_)
37
#define _RTEMS_RTL_BIT_ALLOC_H_
38
39
#include <
rtems/rtl/rtl-fwd.h
>
40
#include <
rtems/rtl/rtl-obj-fwd.h
>
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
/* __cplusplus */
45
49
typedef
struct
rtems_rtl_bit_alloc
50
{
51
uint8_t*
base
;
52
size_t
size
;
53
uint32_t*
bits
;
54
size_t
block_size
;
55
size_t
blocks
;
56
}
rtems_rtl_bit_alloc
;
57
68
rtems_rtl_bit_alloc
*
rtems_rtl_bit_alloc_open
(
void
* base,
69
size_t
size,
70
size_t
block_size,
71
size_t
used);
72
78
79
void
rtems_rtl_bit_alloc_close
(
rtems_rtl_bit_alloc
* balloc);
80
90
void
*
rtems_rtl_bit_alloc_balloc
(
rtems_rtl_bit_alloc
* balloc,
size_t
size);
91
96
void
rtems_rtl_bit_alloc_bfree
(
rtems_rtl_bit_alloc
* balloc,
void
* addr,
size_t
size);
97
98
#ifdef __cplusplus
99
}
100
#endif
/* __cplusplus */
101
102
#endif
rtems_rtl_bit_alloc_open
rtems_rtl_bit_alloc * rtems_rtl_bit_alloc_open(void *base, size_t size, size_t block_size, size_t used)
Definition
rtl-bit-alloc.c:139
rtems_rtl_bit_alloc_bfree
void rtems_rtl_bit_alloc_bfree(rtems_rtl_bit_alloc *balloc, void *addr, size_t size)
Definition
rtl-bit-alloc.c:208
rtems_rtl_bit_alloc_balloc
void * rtems_rtl_bit_alloc_balloc(rtems_rtl_bit_alloc *balloc, size_t size)
Definition
rtl-bit-alloc.c:194
rtems_rtl_bit_alloc_close
void rtems_rtl_bit_alloc_close(rtems_rtl_bit_alloc *balloc)
Definition
rtl-bit-alloc.c:185
rtl-fwd.h
RTEMS Run-Time Linker ELF Headers.
rtl-obj-fwd.h
RTEMS Run-Time Linker ELF Headers.
rtems_rtl_bit_alloc
Definition
rtl-bit-alloc.h:50
rtems_rtl_bit_alloc::base
uint8_t * base
Definition
rtl-bit-alloc.h:51
rtems_rtl_bit_alloc::bits
uint32_t * bits
Definition
rtl-bit-alloc.h:53
rtems_rtl_bit_alloc::block_size
size_t block_size
Definition
rtl-bit-alloc.h:54
rtems_rtl_bit_alloc::blocks
size_t blocks
Definition
rtl-bit-alloc.h:55
rtems_rtl_bit_alloc::size
size_t size
Definition
rtl-bit-alloc.h:52
Generated by
1.18.0