FreeCalypso > hg > fc-tourmaline
annotate src/nucleus/tcse.c @ 302:d32ac4edb634
aci: add AT%MSCAP command for tinkering with /pcm/MSCAP
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 05 Jun 2023 21:34:33 +0000 | 
| parents | 4e78acac3d88 | 
| children | 
| rev | line source | 
|---|---|
| 0 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 /* Copyright Mentor Graphics Corporation 2002 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 /* All Rights Reserved. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 /* SUBJECT TO LICENSE TERMS. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 /* FILE NAME VERSION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 /* tcse.c Nucleus PLUS 1.14 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 /* COMPONENT */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 /* TC - Thread Control */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 /* This file contains error checking routines for the supplemental */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 /* functions in the Thread Control component. This permits easy */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 /* removal of error checking logic when it is not needed. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 /* DATA STRUCTURES */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 /* None */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 /* FUNCTIONS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 /* TCSE_Change_Priority Change task's priority */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /* TCSE_Change_Preemption Change task's preemption */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 /* TCSE_Change_Time_Slice Change task's time slice */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 /* TCSE_Control_Signals Enable and disable signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 /* TCSE_Receive_Signals Receive current signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 /* TCSE_Register_Signal_Handler Register a signal handler */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 /* TCSE_Send_Signals Send signals to a task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 /* TCSE_Activate_HISR Activate an HISR */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 /* DEPENDENCIES */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 /* tc_extr.h Thread Control functions */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 /* 03-01-1994 Created initial version 1.1 from */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 /* routines originally in core */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 /* error checking file */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 /* 03-18-1994 Verified version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 /* 04-17-1996 updated to version 1.2 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 /* 03-17-1997 Protected Send Signals service */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 /* from NULL Control Block pointers */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 /* creating 1.2a. (SPR220) */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 /* 03-24-1998 Released version 1.3. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 /* 04-17-2002 Released version 1.13m */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 /* 11-07-2002 Released version 1.14 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 #define NU_SOURCE_FILE | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 #include "tc_extr.h" /* Thread control functions */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 /* Define external inner-component global data references. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 extern TC_TCB *TCD_Execute_Task; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 extern VOID *TCD_Current_Thread; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 /* TCSE_Change_Priority */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 /* This function performs error checking for the change priority */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 /* service. If an error is detected, this service is ignored and */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 /* the requested priority is returned. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 /* TCS_Change_Priority Actual change priority */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 /* task_ptr Task control block pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 /* new_priority New priority for task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 /* old_priority Original task priority */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 /* 03-01-1994 Changed function interface, */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 /* resulting in version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 /* 03-18-1994 Verified version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 OPTION TCSE_Change_Priority(NU_TASK *task_ptr, OPTION new_priority) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 TC_TCB *task; /* Task control block ptr */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 OPTION old_priority; /* Previous priority of task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 /* Move input task pointer into internal task pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 task = (TC_TCB *) task_ptr; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 /* Determine if the task pointer is valid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 if (task -> tc_id == TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 /* Nothing seems to be wrong, change the priority as specified. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 old_priority = TCS_Change_Priority(task_ptr, new_priority); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 /* Copy the new priority into the old priority. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 old_priority = new_priority; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 /* Return the previous priority. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 return(old_priority); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 /* TCSE_Change_Preemption */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 /* This function performs error checking on the change preemption */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 /* service. If the current thread is not a task thread, this */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 /* request is ignored. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 /* TCS_Change_Preemption Change the preemption posture*/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 /* of the calling task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 /* preempt Preempt selection parameter */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 /* old_preempt Original preempt value */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 OPTION TCSE_Change_Preemption(OPTION preempt) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 TC_TCB *task; /* Pointer to task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 OPTION old_preempt; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 /* Pickup the current thread and place it in the task pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 task = (TC_TCB *) TCD_Current_Thread; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 /* Determine if the current thread is really a task thread. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 if (task -> tc_id == TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 /* Yes, change the preemption posture. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 old_preempt = TCS_Change_Preemption(preempt); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 /* Return the original request. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 old_preempt = preempt; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 /* Return the previous preemption posture. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 return(old_preempt); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 /* TCSE_Change_Time_Slice */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 /* This function performs error checking on the change time slice */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 /* service. If the specified task pointer is invalid, this */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 /* request is ignored. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 /* TCS_Change_Time_Slice Change the time slice of the */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 /* specified task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 /* task_ptr Task control block pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 /* time_slice New time slice value */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 /* old_time_slice Old time slice value */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 /* 03-01-1994 Changed function interface, */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 /* resulting in version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 /* 03-18-1994 Verified version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 UNSIGNED TCSE_Change_Time_Slice(NU_TASK *task_ptr, UNSIGNED time_slice) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 TC_TCB *task; /* Task control block ptr */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 UNSIGNED old_time_slice; /* Old time slice value */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 /* Move input task pointer into internal pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 task = (TC_TCB *) task_ptr; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 /* Determine if the task pointer is valid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 if (task -> tc_id == TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 /* Yes, change the time slice. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 old_time_slice = TCS_Change_Time_Slice(task_ptr, time_slice); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 /* Return the current request. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 old_time_slice = time_slice; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 /* Return the previous time slice value. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 return(old_time_slice); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 /* TCSE_Control_Signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 /* This function checks to see if the call is being made from a */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 /* non-task thread. If so, the request is simply ignored. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 /* TCS_Control_Signals Actual control signals func */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 /* enable_signal_mask Enable signal mask */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 /* Previous signal enable mask */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 UNSIGNED TCSE_Control_Signals(UNSIGNED enable_signal_mask) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 UNSIGNED return_mask; /* Return signal mask */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 TC_TCB *task; /* Task pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 /* Pickup the task pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 task = (TC_TCB *) TCD_Current_Thread; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 /* Determine if the call is valid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 if (task -> tc_id == TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 /* Valid request- call actual routine to control signals. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 return_mask = TCS_Control_Signals(enable_signal_mask); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 /* Return a cleared mask. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 return_mask = 0; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 /* Return the old enable mask. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 return(return_mask); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 /* TCSE_Receive_Signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 /* This function determines whether or not the call is being made */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 /* from a task thread of execution. If not, the call is ignored. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 /* TCS_Receive_Signals Actual receive signals func */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 /* None */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 /* Current signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 UNSIGNED TCSE_Receive_Signals(VOID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 TC_TCB *task; /* Task pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 UNSIGNED signals; /* Current signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 /* Pickup the task pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 task = (TC_TCB *) TCD_Current_Thread; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 /* Determine if the call is valid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 if (task -> tc_id == TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 /* Valid request- call actual routine to receive signals. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 signals = TCS_Receive_Signals(); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 /* Return cleared signals. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 signals = 0; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 /* Return the signals to the caller. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 return(signals); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 /* TCSE_Register_Signal_Handler */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 /* This function determines whether or not the caller is a task. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 /* If the caller is not a task and/or if the supplied signal */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 /* handling function pointer is NULL, an appropriate error status */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 /* is returned. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 /* TCS_Register_Signal_Handler Actual function to register */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 /* the signal handler */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 /* signal_handler Signal execution shell */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 /* NU_INVALID_TASK Not called from task thread */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 /* NU_INVALID_POINTER Signal handler pointer NULL */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 STATUS TCSE_Register_Signal_Handler(VOID (*signal_handler)(UNSIGNED)) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 STATUS status; /* Return status */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 TC_TCB *task; /* Task pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 /* Pickup the task pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 task = (TC_TCB *) TCD_Current_Thread; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 /* Determine if the caller is a task. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 if (task -> tc_id != TC_TASK_ID) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 /* Indicate that the caller is invalid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 status = NU_INVALID_TASK; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 else if (signal_handler == NU_NULL) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 /* Indicate that the signal handler is invalid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 status = NU_INVALID_POINTER; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 /* Everything is fine, call the actual function. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 status = TCS_Register_Signal_Handler(signal_handler); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 /* Return completion status. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 return(status); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 /* FUNCTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 /* TCSE_Send_Signals */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 /* DESCRIPTION */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 /* This function checks for an invalid task. If an invalid task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 /* is selected and error is returned. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 /* CALLED BY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 /* Application */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 /* CALLS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 /* TCS_Send_Signals Actual send signal function */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 /* INPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 /* task_ptr Task pointer */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 /* signals Signals to send to the task */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 /* OUTPUTS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 /* NU_INVALID_TASK Task pointer is invalid */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 /* HISTORY */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 /* DATE REMARKS */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 /* 03-01-1993 Created initial version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 /* 04-19-1993 Verified version 1.0 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 /* 03-01-1994 Changed function interface, */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 /* resulting in version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 /* 03-18-1994 Verified version 1.1 */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 /* 03-17-1997 Corrected SPR220. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 /* */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 /*************************************************************************/ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 STATUS TCSE_Send_Signals(NU_TASK *task_ptr, UNSIGNED signals) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 { | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 TC_TCB *task; /* Task control block ptr */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 STATUS status; /* Completion status */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 /* Move input task pointer into internal pointer. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 task = (TC_TCB *) task_ptr; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 /* Determine if the task pointer is valid. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 if ((task != NU_NULL) && (task -> tc_id == TC_TASK_ID)) | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 /* Task pointer is valid, call the actual function. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 status = TCS_Send_Signals(task_ptr, signals); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 else | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 /* Task pointer is invalid, return an error status. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 status = NU_INVALID_TASK; | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 /* Return the completion status. */ | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 return(status); | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 } | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 | 
| 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 | 
