RT_TASK_INIT(3)

NAME
rt_task_init - create a real-time task

WARNING
This is RTL v1.x compatibility function. Please do not use it for new programs.

SYNOPSIS
#define MODULE
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/version.h>
#include <linux/errno.h>
#include <linux/rtf.h>

int rt_task_init(RT_TASK * task, void (*fn)(int data), int data, int stack_size, int priority);

DESCRIPTION
rt_task_init creates a real-time task. task is a structure the space for which must be provided by the application. task must be present during the lifetime of the real-time task; thus it cannot be an automatic variable. fn is the entry point of the new task. The parent task can send a one-integer value data to the new task. stack_size is the size of the stack to be used by the new task, and priority is the priority to be given the task. The highest priority is 1, while the lowest is RT_LOWEST_PRIORITY.

The newly created real-time task is initially dormant. It is normally made active by a call to rt_task_make_periodic.

RETURN VALUE
On success, 0 is returned. On failure, a negative value is returned as described below.

ERRORS

-EINVAL
    task is already in use by another task.

-ENOMEM
    space could not be allocated for the real-time task.

SEE ALSO
rt_task_delete(3), rt_task_make_periodic(3), rt_task_suspend(3), rt_task_wait(3)