hal_export_funct
NAME
hal_export_funct — create a realtime function callable from a thread
SYNTAX
typedef void ( *hal_funct_t ) ( void *arg, long period )
int hal_export_funct ( const char *name, hal_funct_t funct, void *arg, int uses_fp, int reentrant, int comp_id)
ARGUMENTS
name
The name of the function.
funct
The pointer to the function
arg
The argument to be passed as the first parameter of funct
uses_fp
Nonzero if the function uses floating-point operations, including assignment
of floating point values with "=".
reentrant
If reentrant is non-zero, the function may be preempted and called again
before the first call completes.
Otherwise, it may only be added to one
thread.
comp_id
A HAL component identifier returned by an earlier call to hal_init.
DESCRIPTION
hal_export_funct makes a realtime function provided by a component
available to the system.
A subsequent call to hal_add_funct_to_thread
can be used to schedule the execution of the function as needed by the system.
When this function is placed on a HAL thread, and HAL threads are started,
funct is called repeatedly with two arguments:
void *arg is the
same value that was given to hal_export_funct,
and long period is
the interval between calls in nanoseconds.
Each call to the function should do a small amount of work and return.
RETURN VALUE
Returns a HAL status code.
SEE ALSO
hal_create_thread
hal_add_funct_to_thread