FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/nucleus/quce.c @ 339:2f88c5b89113
OSL reconstruction: got to os_GetTaskData()
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Fri, 02 May 2014 23:44:12 +0000 | 
| parents | afceeeb2cba1 | 
| children | 
| rev | line source | 
|---|---|
| 79 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 /* Copyright Mentor Graphics Corporation 2002 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 /* All Rights Reserved. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 /* SUBJECT TO LICENSE TERMS. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 /* FILE NAME VERSION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 /* quce.c Nucleus PLUS 1.14 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 /* COMPONENT */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 /* QU - Queue Management */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 /* This file contains error checking routines for core functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 /* of the Queue component. This permits easy removal of error */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 /* checking logic when it is not needed. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 /* DATA STRUCTURES */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 /* None */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 /* FUNCTIONS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 /* QUCE_Create_Queue Create a queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 /* QUCE_Delete_Queue Delete a queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 /* QUCE_Send_To_Queue Send a queue message */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 /* QUCE_Receive_From_Queue Receive a queue message */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 /* DEPENDENCIES */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 /* cs_extr.h Common Service functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 /* tc_extr.h Thread Control functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 /* qu_extr.h Queue functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 /* 03-01-1994 Split original error checking */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 /* file and changed function */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 /* interfaces, resulting in */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 /* version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 /* 04-17-1996 updated to version 1.2 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 /* 10-28-1997 Modified QUCE_Receive_From_Queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 /* to correct SPR142. This */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 /* created version 1.2a. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 /* 03-24-1998 Released version 1.3. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 /* 06-04-1998 Modified QUCE_Send_To_Queue to */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 /* check for a size of 0, created */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 /* version 1.3a. (SPR493) */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 /* 04-17-2002 Released version 1.13m */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 /* 11-07-2002 Released version 1.14 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 #define NU_SOURCE_FILE | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 #include "cs_extr.h" /* Common service functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 #include "tc_extr.h" /* Thread control functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 #include "qu_extr.h" /* Queue functions */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 /* FUNCTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 /* QUCE_Create_Queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 /* This function performs error checking on the parameters supplied */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 /* to the queue create function. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 /* CALLED BY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 /* Application */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 /* CALLS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 /* QUC_Create_Queue Actual create queue function */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 /* INPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 /* queue_ptr Queue control block pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 /* name Queue name */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 /* start_address Starting address of actual */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 /* queue area */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 /* queue_size Total size of queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 /* message_type Type of message supported by */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 /* the queue (fixed/variable) */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 /* message_size Size of message. Variable */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 /* message-length queues, this*/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 /* represents the maximum size*/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 /* suspend_type Suspension type */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 /* OUTPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 /* NU_INVALID_QUEUE Invalid queue pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 /* NU_INVALID_MEMORY Invalid queue starting addr */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 /* NU_INVALID_SIZE Invalid queue size and/or */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 /* size of message */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 /* NU_INVALID_MESSAGE Invalid message type */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 /* NU_INVALID_SUSPEND Invalid suspend type */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 /* 03-01-1994 Modified function interface, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 /* resulting in version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 STATUS QUCE_Create_Queue(NU_QUEUE *queue_ptr, CHAR *name, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 VOID *start_address, UNSIGNED queue_size, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 OPTION message_type, UNSIGNED message_size, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 OPTION suspend_type) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 QU_QCB *queue; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 STATUS status; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 INT overhead; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 /* Move input queue pointer into internal pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 queue = (QU_QCB *) queue_ptr; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 /* Determine if queue supports variable length messages. If so, an | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 additional word of overhead is required. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 if (message_type == NU_VARIABLE_SIZE) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 /* Variable-size queues require an additional word of overhead. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 overhead = 1; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 else | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 /* Fixed-size message queues require no additional overhead. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 overhead = 0; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 /* Determine if there is an error with the queue pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 if ((queue == NU_NULL) || (queue -> qu_id == QU_QUEUE_ID)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 else if (start_address == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 /* Indicate that the starting address of the queue is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 status = NU_INVALID_MEMORY; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 else if ((queue_size == 0) || (message_size == 0) || | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 ((message_size+overhead) > queue_size)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 /* Indicate that one or both of the size parameters are invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 else if ((message_type != NU_FIXED_SIZE) && | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 (message_type != NU_VARIABLE_SIZE)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 /* Indicate that the message type is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 status = NU_INVALID_MESSAGE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 else if ((suspend_type != NU_FIFO) && (suspend_type != NU_PRIORITY)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 /* Indicate that the suspend type is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 status = NU_INVALID_SUSPEND; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 else | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 185 /* All the parameters are okay, call the actual function to create | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 a queue. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 status = QUC_Create_Queue(queue_ptr, name, start_address, queue_size, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 message_type, message_size, suspend_type); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 /* Return completion status. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 return(status); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 } | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 194 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 195 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 196 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 197 /* FUNCTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 198 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 199 /* QUCE_Delete_Queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 200 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 201 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 202 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 203 /* This function performs error checking on the parameter supplied */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 204 /* to the queue delete function. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 205 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 206 /* CALLED BY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 207 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 208 /* Application */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 209 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 210 /* CALLS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 211 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 212 /* QUC_Delete_Queue Actual delete queue function */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 213 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 214 /* INPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 216 /* queue_ptr Queue control block pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 217 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 /* OUTPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 /* NU_INVALID_QUEUE Invalid queue pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 228 /* 03-01-1994 Modified function interface, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 229 /* resulting in version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 230 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 231 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 232 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 233 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 234 STATUS QUCE_Delete_Queue(NU_QUEUE *queue_ptr) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 235 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 236 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 237 QU_QCB *queue; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 238 STATUS status; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 239 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 240 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 241 /* Move input queue pointer into internal pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 242 queue = (QU_QCB *) queue_ptr; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 243 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 244 /* Determine if there is an error with the queue pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 245 if (queue == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 246 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 247 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 else if (queue -> qu_id != QU_QUEUE_ID) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 252 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 else | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 /* All the parameters are okay, call the actual function to delete | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 a queue. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 status = QUC_Delete_Queue(queue_ptr); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 /* Return completion status. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 return(status); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 } | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 /* FUNCTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 /* QUCE_Send_To_Queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 /* This function performs error checking on the parameters supplied */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 /* to the send message to queue function. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 /* CALLED BY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 /* Application */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 /* CALLS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 283 /* QUC_Send_To_Queue Actual send queue message */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 284 /* function */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 285 /* TCCE_Suspend_Error Check suspend validity */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 287 /* INPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 288 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 289 /* queue_ptr Queue control block pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 290 /* message Pointer to message to send */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 291 /* size Size of message to send */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 292 /* suspend Suspension option if full */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 293 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 294 /* OUTPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 295 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 296 /* NU_INVALID_QUEUE Invalid queue pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 297 /* NU_INVALID_POINTER Invalid message pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 298 /* NU_INVALID_SIZE Invalid message size */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 299 /* NU_INVALID_SUSPEND Invalid suspend request */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 300 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 307 /* 03-01-1994 Modified function interface, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 /* resulting in version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 /* 06-04-1998 Corrected SPR493 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 312 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 313 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 314 STATUS QUCE_Send_To_Queue(NU_QUEUE *queue_ptr, VOID *message, UNSIGNED size, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 315 UNSIGNED suspend) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 QU_QCB *queue; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 STATUS status; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 /* Move input queue pointer into internal pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 queue = (QU_QCB *) queue_ptr; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 /* Determine if there is an error with the queue pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 if (queue == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 else if (queue -> qu_id != QU_QUEUE_ID) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 else if (message == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 337 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 338 /* Indicate that the pointer to the message is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 339 status = NU_INVALID_POINTER; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 340 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 341 else if (size == 0) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 342 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 343 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 344 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 345 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 346 else if ((queue -> qu_fixed_size) && (size != queue -> qu_message_size)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 347 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 348 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 349 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 350 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 351 else if ((!queue -> qu_fixed_size) && (size > queue -> qu_message_size)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 352 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 353 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 354 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 355 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 356 else if ((suspend) && (TCCE_Suspend_Error())) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 357 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 358 /* Indicate that the suspension is only allowed from a task thread. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 359 status = NU_INVALID_SUSPEND; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 360 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 361 else | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 362 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 363 /* All the parameters are okay, call the actual function to send | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 364 a message to a queue. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 365 status = QUC_Send_To_Queue(queue_ptr, message, size, suspend); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 366 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 367 /* Return completion status. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 368 return(status); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 369 } | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 370 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 371 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 372 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 373 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 374 /* FUNCTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 375 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 376 /* QUCE_Receive_From_Queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 377 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 378 /* DESCRIPTION */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 379 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 380 /* This function performs error checking on the parameters supplied */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 381 /* to the receive message from queue function. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 382 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 383 /* CALLED BY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 384 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 385 /* Application */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 386 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 387 /* CALLS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 388 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 389 /* QUC_Receive_From_Queue Actual receive message from */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 390 /* queue */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 391 /* TCCE_Suspend_Error Check suspend validity */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 392 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 393 /* INPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 394 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 395 /* queue_ptr Queue control block pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 396 /* message Pointer to message to send */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 397 /* size Size of the message */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 398 /* actual_size Size of message received */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 399 /* suspend Suspension option if empty */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 400 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 401 /* OUTPUTS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 402 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 403 /* NU_INVALID_QUEUE Invalid queue pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 404 /* NU_INVALID_POINTER Invalid message pointer */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 405 /* NU_INVALID_SIZE Invalid message size */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 406 /* NU_INVALID_SUSPEND Invalid suspend request */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 407 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 408 /* HISTORY */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 409 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 410 /* DATE REMARKS */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 411 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 412 /* 03-01-1993 Created initial version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 413 /* 04-19-1993 Verified version 1.0 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 414 /* 03-01-1994 Modified function interface, */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 415 /* resulting in version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 416 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 417 /* 03-18-1994 Verified version 1.1 */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 418 /* 05-24-1996 Changed the variable queue check */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 419 /* from "message size not equal */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 420 /* to pipe message size" to */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 421 /* "message size greater than */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 422 /* pipe message size" (SPR142). */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 423 /* */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 424 /*************************************************************************/ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 425 STATUS QUCE_Receive_From_Queue(NU_QUEUE *queue_ptr, VOID *message, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 426 UNSIGNED size, UNSIGNED *actual_size, UNSIGNED suspend) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 427 { | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 428 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 429 QU_QCB *queue; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 430 STATUS status; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 431 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 432 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 433 /* Move input queue pointer into internal pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 434 queue = (QU_QCB *) queue_ptr; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 435 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 436 /* Determine if there is an error with the queue pointer. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 437 if (queue == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 438 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 439 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 440 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 441 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 442 else if (queue -> qu_id != QU_QUEUE_ID) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 443 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 444 /* Indicate that the queue pointer is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 445 status = NU_INVALID_QUEUE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 446 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 447 else if (message == NU_NULL) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 448 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 449 /* Indicate that the pointer to the message is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 450 status = NU_INVALID_POINTER; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 451 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 452 else if (size == 0) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 453 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 454 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 455 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 456 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 457 else if ((queue -> qu_fixed_size) && (size != queue -> qu_message_size)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 458 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 459 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 460 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 461 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 462 else if ((!queue -> qu_fixed_size) && (size > queue -> qu_message_size)) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 463 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 464 /* Indicate that the message size is invalid. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 465 status = NU_INVALID_SIZE; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 466 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 467 else if ((suspend) && (TCCE_Suspend_Error())) | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 468 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 469 /* Indicate that the suspension is only allowed from a task thread. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 470 status = NU_INVALID_SUSPEND; | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 471 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 472 else | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 473 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 474 /* All the parameters are okay, call the actual function to receive | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 475 a message from a queue. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 476 status = QUC_Receive_From_Queue(queue_ptr, message, size, | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 477 actual_size, suspend); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 478 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 479 /* Return completion status. */ | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 480 return(status); | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 481 } | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 482 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 483 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 484 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 485 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 486 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 487 | 
| 
947b1f473960
beginning of nuc-fw
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 488 | 
