Scroll to navigation

hal_export_funct(3hal) HAL hal_export_funct(3hal)

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

The name of the function.

The pointer to the function

The argument to be passed as the first parameter of funct

Deprecated. All threads now unconditionally save and restore floating-point state, so this flag has no effect.

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.

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

2006-10-12 LinuxCNC Documentation