FreeCalypso > hg > fc-selenite
annotate src/nucleus/pid.c @ 74:d076885a0669
src/nucleus/gcc: initial import from Citrine
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 20 Jul 2018 05:40:33 +0000 | 
| parents | 0f80e1e4dce4 | 
| children | 
| rev | line source | 
|---|---|
| 
7
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 /* Copyright Mentor Graphics Corporation 2002 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 /* All Rights Reserved. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 /* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 /* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 /* SUBJECT TO LICENSE TERMS. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 /* FILE NAME VERSION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 /* pid.c Nucleus PLUS 1.14 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 /* COMPONENT */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 /* PI - Pipe Management */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 /* DESCRIPTION */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 /* This file contains global data structures for use within the */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 /* pipe management component. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /* DATA STRUCTURES */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 /* PID_Created_Pipe_List Pointer to the linked-list */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 /* of created pipes */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 /* PID_Total_Pipes Total number of created */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 /* pipes */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 /* PID_List_Protect Pipe list protection */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 /* FUNCTIONS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 /* None */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 /* DEPENDENCIES */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 /* pi_defs.h Pipe Management constants */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 /* HISTORY */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /* DATE REMARKS */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 /* 03-01-1993 Created initial version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 /* 04-19-1993 Verified version 1.0 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 /* 03-01-1994 Modified copyright, resulting in */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 /* version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /* */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 /* 03-18-1994 Verified version 1.1 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 /* 04-17-1996 updated to version 1.2 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 /* 03-24-1998 Released version 1.3 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /* 03-26-1999 Released 1.11m (new release */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 /* numbering scheme) */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 /* 04-17-2002 Released version 1.13m */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 /* 11-07-2002 Released version 1.14 */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 /*************************************************************************/ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #define NU_SOURCE_FILE | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #include "pi_defs.h" /* Pipe constants */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 /* PID_Created_Pipes_List is the head pointer of the linked list of | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 created pipes. If the list is NU_NULL, there are no pipes | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 created. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 CS_NODE *PID_Created_Pipes_List; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 /* PID_Total_Pipes contains the number of currently created | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 pipes. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 UNSIGNED PID_Total_Pipes; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 /* PID_List_Protect is a list protection structure used to block any other | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 thread from access to the created pipe list. */ | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 TC_PROTECT PID_List_Protect; | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | 
| 
 
0f80e1e4dce4
src/nucleus: library C code import from FreeNucleus package
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 | 
