HAL_EXPORT_FUNCT(3)

NAME
hal_export_funct, hal_export_functf - 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
    Deprecated and ignored. All threads now unconditionally save and restore floating point state. This parameter will be removed in a future version.

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(3), hal_add_funct_to_thread(3)