From 7e22c7d06053078f9cacfd14f928e42dfa28855f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 15 Dec 1998 21:57:08 +0000 Subject: Part II automake reorg by Ralf Corsepius --- c/src/exec/rtems/headers/tasks.h | 423 --------------------------------------- 1 file changed, 423 deletions(-) delete mode 100644 c/src/exec/rtems/headers/tasks.h (limited to 'c/src/exec/rtems/headers/tasks.h') diff --git a/c/src/exec/rtems/headers/tasks.h b/c/src/exec/rtems/headers/tasks.h deleted file mode 100644 index 82506a5409..0000000000 --- a/c/src/exec/rtems/headers/tasks.h +++ /dev/null @@ -1,423 +0,0 @@ -/* tasks.h - * - * This include file contains all constants and structures associated - * with RTEMS tasks. This manager provides a comprehensive set of directives - * to create, delete, and administer tasks. - * - * Directives provided are: - * - * + create a task - * + get an ID of a task - * + start a task - * + restart a task - * + delete a task - * + suspend a task - * + resume a task - * + set a task's priority - * + change the current task's mode - * + get a task notepad entry - * + set a task notepad entry - * + wake up after interval - * + wake up when specified - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_RTEMS_TASKS_h -#define __RTEMS_RTEMS_TASKS_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Constant to be used as the ID of current task - */ - -#define RTEMS_SELF OBJECTS_ID_OF_SELF - -/* - * This constant is passed to the rtems_task_wake_after directive as the - * interval when a task wishes to yield the CPU. - */ - -#define RTEMS_YIELD_PROCESSOR WATCHDOG_NO_TIMEOUT - -/* - * Define the type for an RTEMS API task priority. - */ - -typedef Priority_Control rtems_task_priority; - -#define RTEMS_NO_PRIORITY RTEMS_CURRENT_PRIORITY - -#define RTEMS_MINIMUM_PRIORITY (PRIORITY_MINIMUM + 1) -#define RTEMS_MAXIMUM_PRIORITY PRIORITY_MAXIMUM - -/* - * The following constant is passed to rtems_task_set_priority when the - * caller wants to obtain the current priority. - */ - -#define RTEMS_CURRENT_PRIORITY PRIORITY_MINIMUM - -/* - * Notepads constants (indices into notepad array) - */ - -#define RTEMS_NOTEPAD_FIRST 0 /* lowest numbered notepad */ -#define RTEMS_NOTEPAD_0 0 /* notepad location 0 */ -#define RTEMS_NOTEPAD_1 1 /* notepad location 1 */ -#define RTEMS_NOTEPAD_2 2 /* notepad location 2 */ -#define RTEMS_NOTEPAD_3 3 /* notepad location 3 */ -#define RTEMS_NOTEPAD_4 4 /* notepad location 4 */ -#define RTEMS_NOTEPAD_5 5 /* notepad location 5 */ -#define RTEMS_NOTEPAD_6 6 /* notepad location 6 */ -#define RTEMS_NOTEPAD_7 7 /* notepad location 7 */ -#define RTEMS_NOTEPAD_8 8 /* notepad location 8 */ -#define RTEMS_NOTEPAD_9 9 /* notepad location 9 */ -#define RTEMS_NOTEPAD_10 10 /* notepad location 10 */ -#define RTEMS_NOTEPAD_11 11 /* notepad location 11 */ -#define RTEMS_NOTEPAD_12 12 /* notepad location 12 */ -#define RTEMS_NOTEPAD_13 13 /* notepad location 13 */ -#define RTEMS_NOTEPAD_14 14 /* notepad location 14 */ -#define RTEMS_NOTEPAD_15 15 /* notepad location 15 */ -#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15 /* highest numbered notepad */ - -#define RTEMS_NUMBER_NOTEPADS (RTEMS_NOTEPAD_LAST+1) - -/* - * External API name for Thread_Control - */ - -typedef Thread_Control rtems_tcb; - -/* - * The following defines the "return type" of an RTEMS task. - */ - -typedef void rtems_task; - -/* - * The following defines the argument to an RTEMS task. - */ - -typedef unsigned32 rtems_task_argument; - -/* - * The following defines the type for the entry point of an RTEMS task. - */ - -typedef rtems_task ( *rtems_task_entry )( - rtems_task_argument - ); - -/* - * The following records define the Initialization Tasks Table. - * Each entry contains the information required by RTEMS to - * create and start a user task automatically at executive - * initialization time. - */ - -typedef struct { - rtems_name name; /* task name */ - unsigned32 stack_size; /* task stack size */ - rtems_task_priority initial_priority; /* task priority */ - rtems_attribute attribute_set; /* task attributes */ - rtems_task_entry entry_point; /* task entry point */ - rtems_mode mode_set; /* task initial mode */ - unsigned32 argument; /* task argument */ -} rtems_initialization_tasks_table; - -/* - * This is the API specific information required by each thread for - * the RTEMS API to function correctly. - */ - - -typedef struct { - unsigned32 Notepads[ RTEMS_NUMBER_NOTEPADS ]; - rtems_event_set pending_events; - rtems_event_set event_condition; - ASR_Information Signal; -} RTEMS_API_Control; - -/* - * The following defines the information control block used to - * manage this class of objects. - */ - -RTEMS_EXTERN Objects_Information _RTEMS_tasks_Information; - -/* - * These are used to manage the user initialization tasks. - */ - -RTEMS_EXTERN rtems_initialization_tasks_table - *_RTEMS_tasks_User_initialization_tasks; -RTEMS_EXTERN unsigned32 _RTEMS_tasks_Number_of_initialization_tasks; - -/* - * _RTEMS_tasks_Manager_initialization - * - * DESCRIPTION: - * - * This routine initializes all Task Manager related data structures. - */ - -void _RTEMS_tasks_Manager_initialization( - unsigned32 maximum_tasks, - unsigned32 number_of_initialization_tasks, - rtems_initialization_tasks_table *user_tasks -); - -/* - * rtems_task_create - * - * DESCRIPTION: - * - * This routine implements the rtems_task_create directive. The task - * will have the name name. The attribute_set can be used to indicate - * that the task will be globally accessible or utilize floating point. - * The task's stack will be stack_size bytes. The task will begin - * execution with initial_priority and initial_modes. It returns the - * id of the created task in ID. - */ - -rtems_status_code rtems_task_create( - rtems_name name, - rtems_task_priority initial_priority, - unsigned32 stack_size, - rtems_mode initial_modes, - rtems_attribute attribute_set, - Objects_Id *id -); - -/* - * rtems_task_ident - * - * DESCRIPTION: - * - * This routine implements the rtems_task_ident directive. - * This directive returns the task ID associated with name. - * If more than one task is named name, then the task to - * which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the task named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. - */ - -rtems_status_code rtems_task_ident( - rtems_name name, - unsigned32 node, - Objects_Id *id -); - -/* - * rtems_task_delete - * - * DESCRIPTION: - * - * This routine implements the rtems_task_delete directive. The - * task indicated by ID is deleted. - */ - -rtems_status_code rtems_task_delete( - Objects_Id id -); - -/* - * rtems_task_get_note - * - * DESCRIPTION: - * - * This routine implements the rtems_task_get_note directive. The - * value of the indicated notepad for the task associated with ID - * is returned in note. - */ - -rtems_status_code rtems_task_get_note( - Objects_Id id, - unsigned32 notepad, - unsigned32 *note -); - -/* - * rtems_task_set_note - * - * DESCRIPTION: - * - * This routine implements the rtems_task_set_note directive. The - * value of the indicated notepad for the task associated with ID - * is returned in note. - */ - -rtems_status_code rtems_task_set_note( - Objects_Id id, - unsigned32 notepad, - unsigned32 note -); - -/* - * rtems_task_mode - * - * DESCRIPTION: - * - * This routine implements the rtems_task_mode directive. The current - * values of the modes indicated by mask of the calling task are changed - * to that indicated in mode_set. The former mode of the task is - * returned in mode_set. - */ - -rtems_status_code rtems_task_mode( - rtems_mode mode_set, - rtems_mode mask, - rtems_mode *previous_mode_set -); - -/* - * rtems_task_restart - * - * DESCRIPTION: - * - * This routine implements the rtems_task_restart directive. The - * task associated with ID is restarted at its initial entry - * point with the new argument. - */ - -rtems_status_code rtems_task_restart( - Objects_Id id, - unsigned32 arg -); - -/* - * rtems_task_suspend - * - * DESCRIPTION: - * - * This routine implements the rtems_task_suspend directive. The - * SUSPENDED state is set for task associated with ID. - */ - -rtems_status_code rtems_task_suspend( - Objects_Id id -); - -/* - * rtems_task_resume - * - * DESCRIPTION: - * - * This routine implements the rtems_task_resume Directive. The - * SUSPENDED state is cleared for task associated with ID. - */ - -rtems_status_code rtems_task_resume( - Objects_Id id -); - -/* - * rtems_task_set_priority - * - * DESCRIPTION: - * - * This routine implements the rtems_task_set_priority directive. The - * current priority of the task associated with ID is set to - * new_priority. The former priority of that task is returned - * in old_priority. - */ - -rtems_status_code rtems_task_set_priority( - Objects_Id id, - rtems_task_priority new_priority, - rtems_task_priority *old_priority -); - -/* - * rtems_task_start - * - * DESCRIPTION: - * - * This routine implements the rtems_task_start directive. The - * starting execution point of the task associated with ID is - * set to entry_point with the initial argument. - */ - -rtems_status_code rtems_task_start( - Objects_Id id, - rtems_task_entry entry_point, - unsigned32 argument -); - -/* - * rtems_task_wake_when - * - * DESCRIPTION: - * - * This routine implements the rtems_task_wake_when directive. The - * calling task is blocked until the current time of day is - * equal to that indicated by time_buffer. - */ - -rtems_status_code rtems_task_wake_when( - rtems_time_of_day *time_buffer -); - -/* - * rtems_task_wake_after - * - * DESCRIPTION: - * - * This routine implements the rtems_task_wake_after directive. The - * calling task is blocked until the indicated number of clock - * ticks have occurred. - */ - -rtems_status_code rtems_task_wake_after( - rtems_interval ticks -); - -/*PAGE - * - * _RTEMS_tasks_Initialize_user_tasks - * - * This routine creates and starts all configured user - * initialzation threads. - * - * Input parameters: NONE - * - * Output parameters: NONE - */ - -void _RTEMS_tasks_Initialize_user_tasks( void ); - -#ifndef __RTEMS_APPLICATION__ -#include -#endif -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ -- cgit v1.2.3