?? tcse.c
字號:
/*************************************************************************/
/* */
/* Copyright (c) 1993-1996 Accelerated Technology, Inc. */
/* */
/* PROPRIETARY RIGHTS of Accelerated Technology are involved in the */
/* subject matter of this material. All manufacturing, reproduction, */
/* use, and sales rights pertaining to this subject matter are governed */
/* by the license agreement. The recipient of this software implicitly */
/* accepts the terms of the license. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* FILE NAME VERSION */
/* */
/* tcse.c PLUS 1.2a */
/* */
/* COMPONENT */
/* */
/* TC - Thread Control */
/* */
/* DESCRIPTION */
/* */
/* This file contains error checking routines for the supplemental */
/* functions in the Thread Control component. This permits easy */
/* removal of error checking logic when it is not needed. */
/* */
/* AUTHOR */
/* */
/* William E. Lamie, Accelerated Technology, Inc. */
/* */
/* DATA STRUCTURES */
/* */
/* None */
/* */
/* FUNCTIONS */
/* */
/* TCSE_Change_Priority Change task's priority */
/* TCSE_Change_Preemption Change task's preemption */
/* TCSE_Change_Time_Slice Change task's time slice */
/* TCSE_Control_Signals Enable and disable signals */
/* TCSE_Receive_Signals Receive current signals */
/* TCSE_Register_Signal_Handler Register a signal handler */
/* TCSE_Send_Signals Send signals to a task */
/* TCSE_Activate_HISR Activate an HISR */
/* */
/* DEPENDENCIES */
/* */
/* tc_extr.h Thread Control functions */
/* */
/* HISTORY */
/* */
/* NAME DATE REMARKS */
/* */
/* W. Lamie 03-01-1994 Created initial version 1.1 from */
/* routines originally in core */
/* error checking file */
/* R. Pfaff - */
/* D. Lamie 03-18-1994 Verified version 1.1 */
/* M.Q. Qian 04-17-1996 updated to version 1.2 */
/* B. Haggerty 03-17-1997 Protected Send Signals service */
/* from NULL Control Block pointers */
/* creating 1.2a. (SPR220) */
/* */
/*************************************************************************/
#define NU_SOURCE_FILE
#include "tc_extr.h" /* Thread control functions */
/* Define external inner-component global data references. */
extern TC_TCB *TCD_Execute_Task;
extern VOID *TCD_Current_Thread;
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* TCSE_Change_Priority */
/* */
/* DESCRIPTION */
/* */
/* This function performs error checking for the change priority */
/* service. If an error is detected, this service is ignored and */
/* the requested priority is returned. */
/* */
/* AUTHOR */
/* */
/* William E. Lamie, Accelerated Technology, Inc. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* TCS_Change_Priority Actual change priority */
/* */
/* INPUTS */
/* */
/* task_ptr Task control block pointer */
/* new_priority New priority for task */
/* */
/* OUTPUTS */
/* */
/* old_priority Original task priority */
/* */
/* HISTORY */
/* */
/* NAME DATE REMARKS */
/* */
/* W. Lamie 03-01-1993 Created initial version 1.0 */
/* D. Lamie 04-19-1993 Verified version 1.0 */
/* W. Lamie 03-01-1994 Changed function interface, */
/* resulting in version 1.1 */
/* R. Pfaff - */
/* D. Lamie 03-18-1994 Verified version 1.1 */
/* */
/*************************************************************************/
OPTION TCSE_Change_Priority(NU_TASK *task_ptr, OPTION new_priority)
{
TC_TCB *task; /* Task control block ptr */
OPTION old_priority; /* Previous priority of task */
/* Move input task pointer into internal task pointer. */
task = (TC_TCB *) task_ptr;
/* Determine if the task pointer is valid. */
if ((task -> tc_id == TC_TASK_ID) &&
(((INT) new_priority) < TC_PRIORITIES))
/* Nothing seems to be wrong, change the priority as specified. */
old_priority = TCS_Change_Priority(task_ptr, new_priority);
else
/* Copy the new priority into the old priority. */
old_priority = new_priority;
/* Return the previous priority. */
return(old_priority);
}
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* TCSE_Change_Preemption */
/* */
/* DESCRIPTION */
/* */
/* This function performs error checking on the change preemption */
/* service. If the current thread is not a task thread, this */
/* request is ignored. */
/* */
/* AUTHOR */
/* */
/* William E. Lamie, Accelerated Technology, Inc. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* TCS_Change_Preemption Change the preemption posture*/
/* of the calling task */
/* */
/* INPUTS */
/* */
/* preempt Preempt selection parameter */
/* */
/* OUTPUTS */
/* */
/* old_preempt Original preempt value */
/* */
/* HISTORY */
/* */
/* NAME DATE REMARKS */
/* */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -