blob: da52dcffc07fd792fc20eb1bc70f91c024c47261 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
Extends the region.
copyrights:
- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
default:
attributes: null
body: null
params:
- ${../../type/if/id:/name} ${.:/params[0]/name}
- void *${.:/params[1]/name}
- ${/c/if/uintptr_t:/name} ${.:/params[2]/name}
return: ${../../status/if/code:/name}
variants: []
description: |
This directive adds the memory area which starts at ${.:/params[1]/name} for
${.:/params[2]/name} bytes to the region specified by ${.:/params[0]/name}.
enabled-by: true
index-entries:
- add memory to a region
- region, add memory
interface-type: function
links:
- role: interface-placement
uid: header
- role: interface-ingroup
uid: group
- role: constraint
uid: /constraint/directive-not-pre-qualified
- role: constraint
uid: /constraint/directive-ctx-devinit
- role: constraint
uid: /constraint/directive-ctx-task
- role: constraint
uid: /constraint/object-allocator
name: rtems_region_extend
notes: |
There are no alignment requirements for the memory area. The memory area
must be big enough to contain some maintenance blocks. It must not overlap
parts of the current heap memory areas. Disconnected memory areas added to
the heap will lead to used blocks which cover the gaps. Extending with an
inappropriate memory area will corrupt the heap resulting in undefined
behaviour.
params:
- description: |
is the region identifier.
dir: null
name: id
- description: |
is the starting address of the memory area to extend the region.
dir: null
name: starting_address
- description: |
is the length in bytes of the memory area to extend the region.
dir: null
name: length
return:
return: null
return-values:
- description: |
The requested operation was successful.
value: ${../../status/if/successful:/name}
- description: |
The ${.:/params[1]/name} parameter was ${/c/if/null:/name}.
value: ${../../status/if/invalid-address:/name}
- description: |
There was no region associated with the identifier specified by
${.:/params[0]/name}.
value: ${../../status/if/invalid-id:/name}
- description: |
The memory area specified by ${.:/params[1]/name} and
${.:/params[2]/name} was insufficient to extend the heap.
value: ${../../status/if/invalid-address:/name}
type: interface
|