FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/nucleus/cs_extr.h @ 143:afceeeb2cba1
Our nuc-fw is destined to become gsm-fw, so I went ahead and did the big hg mv
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
|---|---|
| date | Tue, 12 Nov 2013 05:35:48 +0000 |
| parents | nuc-fw/nucleus/cs_extr.h@947b1f473960 |
| children |
comparison
equal
deleted
inserted
replaced
| 142:15d5977390c2 | 143:afceeeb2cba1 |
|---|---|
| 1 /*************************************************************************/ | |
| 2 /* */ | |
| 3 /* Copyright Mentor Graphics Corporation 2002 */ | |
| 4 /* All Rights Reserved. */ | |
| 5 /* */ | |
| 6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | |
| 7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | |
| 8 /* SUBJECT TO LICENSE TERMS. */ | |
| 9 /* */ | |
| 10 /*************************************************************************/ | |
| 11 | |
| 12 /*************************************************************************/ | |
| 13 /* */ | |
| 14 /* FILE NAME VERSION */ | |
| 15 /* */ | |
| 16 /* cs_extr.h Nucleus PLUS 1.14 */ | |
| 17 /* */ | |
| 18 /* COMPONENT */ | |
| 19 /* */ | |
| 20 /* CS - Common Services */ | |
| 21 /* */ | |
| 22 /* DESCRIPTION */ | |
| 23 /* */ | |
| 24 /* This file contains function prototypes of all functions */ | |
| 25 /* accessible to other components. */ | |
| 26 /* */ | |
| 27 /* DATA STRUCTURES */ | |
| 28 /* */ | |
| 29 /* None */ | |
| 30 /* */ | |
| 31 /* FUNCTIONS */ | |
| 32 /* */ | |
| 33 /* None */ | |
| 34 /* */ | |
| 35 /* DEPENDENCIES */ | |
| 36 /* */ | |
| 37 /* cs_defs.h Common service definitions */ | |
| 38 /* */ | |
| 39 /* HISTORY */ | |
| 40 /* */ | |
| 41 /* DATE REMARKS */ | |
| 42 /* */ | |
| 43 /* 03-01-1993 Created initial version 1.0 */ | |
| 44 /* 04-19-1993 Verified version 1.0 */ | |
| 45 /* 03-01-1994 Moved include files outside of */ | |
| 46 /* the file #ifndef to allow the */ | |
| 47 /* use of actual data structures, */ | |
| 48 /* added inline capability for */ | |
| 49 /* linked-list functions, */ | |
| 50 /* resulting in version 1.1 */ | |
| 51 /* */ | |
| 52 /* 03-18-1994 Verified version 1.1 */ | |
| 53 /* 04-17-1996 updated to version 1.2 */ | |
| 54 /* 02-02-1998 Corrected SPR347 where NU_INLINE */ | |
| 55 /* created a linker error because */ | |
| 56 /* CSC_Priority_Place_On_List was */ | |
| 57 /* "extern"d instead of "VOID"d */ | |
| 58 /* resulting in version 1.2a */ | |
| 59 /* 03-24-1998 Released version 1.3. */ | |
| 60 /* 03-26-1999 Released 1.11m (new release */ | |
| 61 /* numbering scheme) */ | |
| 62 /* 04-17-2002 Released version 1.13m */ | |
| 63 /* 11-07-2002 Released version 1.14 */ | |
| 64 /*************************************************************************/ | |
| 65 | |
| 66 #include "cs_defs.h" /* Include CS definitions */ | |
| 67 | |
| 68 | |
| 69 /* Check to see if the file has been included already. */ | |
| 70 | |
| 71 #ifndef CS_EXTR | |
| 72 #define CS_EXTR | |
| 73 | |
| 74 #ifndef NU_INLINE | |
| 75 VOID CSC_Place_On_List(CS_NODE **head, CS_NODE *new_node); | |
| 76 VOID CSC_Priority_Place_On_List(CS_NODE **head, CS_NODE *new_node); | |
| 77 VOID CSC_Remove_From_List(CS_NODE **head, CS_NODE *node); | |
| 78 #else | |
| 79 #define CSC_Place_On_List(head, new_node); \ | |
| 80 if (*((CS_NODE **) (head))) \ | |
| 81 { \ | |
| 82 ((CS_NODE *) (new_node)) -> cs_previous= \ | |
| 83 (*((CS_NODE **) (head))) -> cs_previous; \ | |
| 84 (((CS_NODE *) (new_node)) -> cs_previous) -> cs_next = \ | |
| 85 (CS_NODE *) (new_node); \ | |
| 86 ((CS_NODE *) (new_node)) -> cs_next = \ | |
| 87 (*((CS_NODE **) (head))); \ | |
| 88 (((CS_NODE *) (new_node)) -> cs_next) -> cs_previous = \ | |
| 89 ((CS_NODE *) (new_node)); \ | |
| 90 } \ | |
| 91 else \ | |
| 92 { \ | |
| 93 (*((CS_NODE **) (head))) = ((CS_NODE *) (new_node)); \ | |
| 94 ((CS_NODE *) (new_node)) -> cs_previous = \ | |
| 95 ((CS_NODE *) (new_node)); \ | |
| 96 ((CS_NODE *) (new_node)) -> cs_next = \ | |
| 97 ((CS_NODE *) (new_node)); \ | |
| 98 } | |
| 99 | |
| 100 VOID CSC_Priority_Place_On_List(CS_NODE **head, CS_NODE *new_node); | |
| 101 | |
| 102 #define CSC_Remove_From_List(head, node); \ | |
| 103 if (((CS_NODE *) (node)) -> cs_previous == \ | |
| 104 ((CS_NODE *) (node))) \ | |
| 105 { \ | |
| 106 (*((CS_NODE **) (head))) = NU_NULL; \ | |
| 107 } \ | |
| 108 else \ | |
| 109 { \ | |
| 110 (((CS_NODE *) (node)) -> cs_previous) -> cs_next = \ | |
| 111 ((CS_NODE *) (node)) -> cs_next; \ | |
| 112 (((CS_NODE *) (node)) -> cs_next) -> cs_previous = \ | |
| 113 ((CS_NODE *) (node)) -> cs_previous; \ | |
| 114 if (((CS_NODE *) (node)) == *((CS_NODE **) (head))) \ | |
| 115 *((CS_NODE **) (head)) = \ | |
| 116 ((CS_NODE *) (node)) -> cs_next; \ | |
| 117 } | |
| 118 #endif | |
| 119 | |
| 120 #endif | |
| 121 | |
| 122 | |
| 123 | |
| 124 | |
| 125 |
