Initial revision
[reactos.git] / reactos / drivers / net / ndis / ndis / memory.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS NDIS library
4 * FILE: ndis/memory.c
5 * PURPOSE: Memory management routines
6 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
7 * REVISIONS:
8 * CSH 01/08-2000 Created
9 */
10 #include <ndissys.h>
11
12
13 NDIS_STATUS
14 EXPORT
15 NdisAllocateMemoryWithTag(
16 OUT PVOID *VirtualAddress,
17 IN UINT Length,
18 IN ULONG Tag)
19 /*
20 * FUNCTION:
21 * ARGUMENTS:
22 * NOTES:
23 * NDIS 5.0
24 */
25 {
26 UNIMPLEMENTED
27
28 return NDIS_STATUS_FAILURE;
29 }
30
31
32 VOID
33 EXPORT
34 NdisCreateLookaheadBufferFromSharedMemory(
35 IN PVOID pSharedMemory,
36 IN UINT LookaheadLength,
37 OUT PVOID *pLookaheadBuffer)
38 {
39 UNIMPLEMENTED
40 }
41
42
43 VOID
44 EXPORT
45 NdisDestroyLookaheadBufferFromSharedMemory(
46 IN PVOID pLookaheadBuffer)
47 {
48 UNIMPLEMENTED
49 }
50
51
52 VOID
53 EXPORT
54 NdisMoveFromMappedMemory(
55 OUT PVOID Destination,
56 IN PVOID Source,
57 IN ULONG Length)
58 {
59 UNIMPLEMENTED
60 }
61
62
63 VOID
64 EXPORT
65 NdisMoveMappedMemory(
66 OUT PVOID Destination,
67 IN PVOID Source,
68 IN ULONG Length)
69 {
70 UNIMPLEMENTED
71 }
72
73
74 VOID
75 EXPORT
76 NdisMoveToMappedMemory(
77 OUT PVOID Destination,
78 IN PVOID Source,
79 IN ULONG Length)
80 {
81 UNIMPLEMENTED
82 }
83
84
85 VOID
86 EXPORT
87 NdisMUpdateSharedMemory(
88 IN NDIS_HANDLE MiniportAdapterHandle,
89 IN ULONG Length,
90 IN PVOID VirtualAddress,
91 IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
92 {
93 UNIMPLEMENTED
94 }
95
96
97 NDIS_STATUS
98 EXPORT
99 NdisAllocateMemory(
100 OUT PVOID *VirtualAddress,
101 IN UINT Length,
102 IN UINT MemoryFlags,
103 IN NDIS_PHYSICAL_ADDRESS HighestAcceptableAddress)
104 /*
105 * FUNCTION: Allocates a block of memory
106 * ARGUMENTS:
107 * VirtualAddress = Address of buffer to place virtual
108 * address of the allocated memory
109 * Length = Size of the memory block to allocate
110 * MemoryFlags = Flags to specify special restrictions
111 * HighestAcceptableAddress = Specifies -1
112 */
113 {
114 PVOID Block;
115
116 if (MemoryFlags & NDIS_MEMORY_CONTIGUOUS) {
117 /* FIXME */
118 *VirtualAddress = NULL;
119 return NDIS_STATUS_FAILURE;
120 }
121
122 if (MemoryFlags & NDIS_MEMORY_NONCACHED) {
123 /* FIXME */
124 *VirtualAddress = NULL;
125 return NDIS_STATUS_FAILURE;
126 }
127
128 /* Plain nonpaged memory */
129 Block = ExAllocatePool(NonPagedPool, Length);
130 *VirtualAddress = Block;
131 if (!Block)
132 return NDIS_STATUS_FAILURE;
133
134 return NDIS_STATUS_SUCCESS;
135 }
136
137
138 VOID
139 EXPORT
140 NdisFreeMemory(
141 IN PVOID VirtualAddress,
142 IN UINT Length,
143 IN UINT MemoryFlags)
144 /*
145 * FUNCTION: Frees a memory block allocated with NdisAllocateMemory
146 * ARGUMENTS:
147 * VirtualAddress = Pointer to the base virtual address of the allocated memory
148 * Length = Size of the allocated memory block as passed to NdisAllocateMemory
149 * MemoryFlags = Memory flags passed to NdisAllocateMemory
150 */
151 {
152 if (MemoryFlags & NDIS_MEMORY_CONTIGUOUS) {
153 /* FIXME */
154 return;
155 }
156
157 if (MemoryFlags & NDIS_MEMORY_NONCACHED) {
158 /* FIXME */
159 return;
160 }
161
162 /* Plain nonpaged memory */
163 ExFreePool(VirtualAddress);
164 }
165
166
167 VOID
168 EXPORT
169 NdisImmediateReadSharedMemory(
170 IN NDIS_HANDLE WrapperConfigurationContext,
171 IN ULONG SharedMemoryAddress,
172 OUT PUCHAR Buffer,
173 IN ULONG Length)
174 {
175 }
176
177
178 VOID
179 EXPORT
180 NdisImmediateWriteSharedMemory(
181 IN NDIS_HANDLE WrapperConfigurationContext,
182 IN ULONG SharedMemoryAddress,
183 IN PUCHAR Buffer,
184 IN ULONG Length)
185 {
186 UNIMPLEMENTED
187 }
188
189
190 VOID
191 EXPORT
192 NdisMAllocateSharedMemory(
193 IN NDIS_HANDLE MiniportAdapterHandle,
194 IN ULONG Length,
195 IN BOOLEAN Cached,
196 OUT PVOID *VirtualAddress,
197 OUT PNDIS_PHYSICAL_ADDRESS PhysicalAddress)
198 {
199 UNIMPLEMENTED
200 }
201
202
203 NDIS_STATUS
204 EXPORT
205 NdisMAllocateSharedMemoryAsync(
206 IN NDIS_HANDLE MiniportAdapterHandle,
207 IN ULONG Length,
208 IN BOOLEAN Cached,
209 IN PVOID Context)
210 {
211 UNIMPLEMENTED
212
213 return NDIS_STATUS_FAILURE;
214 }
215
216
217 VOID
218 EXPORT
219 NdisMFreeSharedMemory(
220 IN NDIS_HANDLE MiniportAdapterHandle,
221 IN ULONG Length,
222 IN BOOLEAN Cached,
223 IN PVOID VirtualAddress,
224 IN NDIS_PHYSICAL_ADDRESS PhysicalAddress)
225 {
226 UNIMPLEMENTED
227 }
228
229 /* EOF */