31 lines
1.2 KiB
Text
31 lines
1.2 KiB
Text
.TH hal_malloc "3hal" "2006-10-12" "LinuxCNC Documentation" "HAL"
|
|
.SH NAME
|
|
|
|
hal_malloc \- Allocate space in the HAL shared memory area
|
|
|
|
.SH SYNTAX
|
|
.HP
|
|
void *hal_malloc(long int \fIsize\fR)
|
|
|
|
.SH ARGUMENTS
|
|
.IP \fIsize\fR
|
|
Gives the size, in bytes, of the block.
|
|
|
|
.SH DESCRIPTION
|
|
\fBhal_malloc\fR allocates a block of memory from the main HAL shared memory area.
|
|
It should be used by all components to allocate memory for HAL pins and
|
|
parameters. It allocates `size' bytes, and returns a pointer to the allocated
|
|
space, or NULL (0) on error. The returned pointer will be properly aligned for
|
|
any type HAL supports. A component should allocate during initialization all
|
|
the memory it needs.
|
|
|
|
The allocator is very simple, and there is no `free'. The entire HAL shared
|
|
memory area is freed when the last component calls \fBhal_exit\fR. This means
|
|
that if you continuously install and remove one component while other
|
|
components are present, you eventually will fill up the shared memory and an
|
|
install will fail. Removing all components completely clears memory and you
|
|
start fresh.
|
|
|
|
.SH RETURN VALUE
|
|
A pointer to the allocated space, which is properly aligned for any variable
|
|
HAL supports. Returns NULL on error.
|