comparison src/nucleus/ioi.c @ 0:92470e5d0b9e

src: partial import from FC Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 15 May 2020 01:28:16 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:92470e5d0b9e
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 /* ioi.c Nucleus PLUS 1.14 */
17 /* */
18 /* COMPONENT */
19 /* */
20 /* IO - Input/Output Driver Management */
21 /* */
22 /* DESCRIPTION */
23 /* */
24 /* This file contains the initialization routine for the I/O Driver */
25 /* Management component. */
26 /* */
27 /* DATA STRUCTURES */
28 /* */
29 /* None */
30 /* */
31 /* FUNCTIONS */
32 /* */
33 /* IOI_Initialize I/O Driver Initialize */
34 /* */
35 /* DEPENDENCIES */
36 /* */
37 /* io_defs.h I/O Driver component consts */
38 /* tc_defs.h Thread control constants */
39 /* */
40 /* HISTORY */
41 /* */
42 /* DATE REMARKS */
43 /* */
44 /* 03-01-1993 Created initial version 1.0 */
45 /* 04-19-1993 Verified version 1.0 */
46 /* 03-01-1994 Updated copyright notice, */
47 /* changed "void" to VOID, */
48 /* resulting in version 1.1 */
49 /* */
50 /* 03-18-1994 Verified version 1.1 */
51 /* 04-17-1996 updated to version 1.2 */
52 /* 03-24-1998 Released version 1.3 */
53 /* 03-26-1999 Released 1.11m (new release */
54 /* numbering scheme) */
55 /* 04-17-2002 Released version 1.13m */
56 /* 11-07-2002 Released version 1.14 */
57 /*************************************************************************/
58 #define NU_SOURCE_FILE
59
60
61 #include "io_defs.h" /* I/O driver constants */
62 #include "io_extr.h" /* I/O driver interfaces */
63 #include "tc_defs.h" /* Thread control constants */
64
65
66
67 /* Define external inner-component global data references. */
68
69 extern CS_NODE *IOD_Created_Drivers_List;
70 extern UNSIGNED IOD_Total_Drivers;
71 extern TC_PROTECT IOD_List_Protect;
72
73
74 /*************************************************************************/
75 /* */
76 /* FUNCTION */
77 /* */
78 /* IOI_Initialize */
79 /* */
80 /* DESCRIPTION */
81 /* */
82 /* This function initializes the data structures that control the */
83 /* operation of the I/O driver component (IO). There are no I/O */
84 /* drivers initially. This routine must be called from Supervisor */
85 /* mode in Supervisor/User mode switched kernels. */
86 /* */
87 /* CALLED BY */
88 /* */
89 /* INC_Initialize System initialization */
90 /* */
91 /* CALLS */
92 /* */
93 /* None */
94 /* */
95 /* INPUTS */
96 /* */
97 /* None */
98 /* */
99 /* OUTPUTS */
100 /* */
101 /* IOD_Created_Drivers_List List of created I/O drivers */
102 /* IOD_Total_Drivers Number of created I/O drivers*/
103 /* IOD_List_Protect Protection for driver list */
104 /* */
105 /* HISTORY */
106 /* */
107 /* DATE REMARKS */
108 /* */
109 /* 03-01-1993 Created initial version 1.0 */
110 /* 04-19-1993 Verified version 1.0 */
111 /* 03-01-1994 Updated copyright notice, */
112 /* changed "void" to "VOID", */
113 /* resulting in version 1.1 */
114 /* */
115 /* 03-18-1994 Verified version 1.1 */
116 /* */
117 /*************************************************************************/
118 VOID IOI_Initialize(VOID)
119 {
120
121 /* Initialize the created I/O driver list to NU_NULL. */
122 IOD_Created_Drivers_List = NU_NULL;
123
124 /* Initialize the total number of created I/O drivers to 0. */
125 IOD_Total_Drivers = 0;
126
127 /* Initialize the list protection structure. */
128 IOD_List_Protect.tc_tcb_pointer = NU_NULL;
129 }
130
131
132
133
134
135