git://git.jankratochvil.net
/
reactos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
branch update for HEAD-2003091401
[reactos.git]
/
ntoskrnl
/
ex
/
zone.c
diff --git
a/ntoskrnl/ex/zone.c
b/ntoskrnl/ex/zone.c
index
404f7fe
..
3cdca28
100644
(file)
--- a/
ntoskrnl/ex/zone.c
+++ b/
ntoskrnl/ex/zone.c
@@
-13,6
+13,18
@@
/* FUNCTIONS ***************************************************************/
/* FUNCTIONS ***************************************************************/
+// undocumented? from extypes.h in here for now...
+
+//typedef struct _ZONE_ENTRY
+//{
+// SINGLE_LIST_ENTRY Entry;
+//} ZONE_ENTRY, *PZONE_ENTRY;
+
+
+
+/*
+ * @implemented
+ */
NTSTATUS
STDCALL
ExExtendZone (
NTSTATUS
STDCALL
ExExtendZone (
@@
-21,27
+33,30
@@
ExExtendZone (
ULONG SegmentSize
)
{
ULONG SegmentSize
)
{
- PZONE_
ENTRY
entry;
- PZONE_SEGMENT seg;
+ PZONE_
SEGMENT_HEADER
entry;
+ PZONE_SEGMENT
_HEADER
seg;
unsigned int i;
unsigned int i;
- seg = (PZONE_SEGMENT)Segment;
- seg->
size =
SegmentSize;
+ seg = (PZONE_SEGMENT
_HEADER
)Segment;
+ seg->
Reserved = (PVOID)
SegmentSize;
- PushEntryList(&Zone->SegmentList,&seg->
Entry
);
+ PushEntryList(&Zone->SegmentList,&seg->
SegmentList
);
- entry = (PZONE_
ENTRY)( ((PVOID)seg) + sizeof(ZONE_SEGMENT
) );
+ entry = (PZONE_
SEGMENT_HEADER)( ((PVOID)seg) + sizeof(ZONE_SEGMENT_HEADER
) );
for (i=0;i<(SegmentSize / Zone->BlockSize);i++)
{
for (i=0;i<(SegmentSize / Zone->BlockSize);i++)
{
- PushEntryList(&Zone->FreeList,&entry->
Entry
);
- entry = (PZONE_
ENTRY)(((PVOID)entry) + sizeof(ZONE_ENTRY
) +
+ PushEntryList(&Zone->FreeList,&entry->
SegmentList
);
+ entry = (PZONE_
SEGMENT_HEADER)(((PVOID)entry) + sizeof(PZONE_SEGMENT_HEADER
) +
Zone->BlockSize);
}
return(STATUS_SUCCESS);
}
Zone->BlockSize);
}
return(STATUS_SUCCESS);
}
+/*
+ * @implemented
+ */
NTSTATUS
STDCALL
ExInterlockedExtendZone (
NTSTATUS
STDCALL
ExInterlockedExtendZone (
@@
-61,6
+76,9
@@
ExInterlockedExtendZone (
}
}
+/*
+ * @implemented
+ */
NTSTATUS
STDCALL
ExInitializeZone (
NTSTATUS
STDCALL
ExInitializeZone (
@@
-80,25
+98,25
@@
ExInitializeZone (
*/
{
unsigned int i;
*/
{
unsigned int i;
- PZONE_SEGMENT seg;
- PZONE_
ENTRY
entry;
+ PZONE_SEGMENT
_HEADER
seg;
+ PZONE_
SEGMENT_HEADER
entry;
Zone->FreeList.Next=NULL;
Zone->SegmentList.Next=NULL;
Zone->BlockSize=BlockSize;
Zone->TotalSegmentSize = InitialSegmentSize;
Zone->FreeList.Next=NULL;
Zone->SegmentList.Next=NULL;
Zone->BlockSize=BlockSize;
Zone->TotalSegmentSize = InitialSegmentSize;
- seg = (PZONE_SEGMENT)InitialSegment;
- seg->
size =
InitialSegmentSize;
+ seg = (PZONE_SEGMENT
_HEADER
)InitialSegment;
+ seg->
Reserved = (PVOID*)
InitialSegmentSize;
- PushEntryList(&Zone->SegmentList,&seg->
Entry
);
+ PushEntryList(&Zone->SegmentList,&seg->
SegmentList
);
- entry = (PZONE_
ENTRY)( ((PVOID)seg) + sizeof(ZONE_SEGMENT
) );
+ entry = (PZONE_
SEGMENT_HEADER)( ((PVOID)seg) + sizeof(ZONE_SEGMENT_HEADER
) );
for (i=0;i<(InitialSegmentSize / BlockSize);i++)
{
for (i=0;i<(InitialSegmentSize / BlockSize);i++)
{
- PushEntryList(&Zone->FreeList,&entry->
Entry
);
- entry = (PZONE_
ENTRY)(((PVOID)entry) + sizeof(ZONE_ENTRY
) + BlockSize);
+ PushEntryList(&Zone->FreeList,&entry->
SegmentList
);
+ entry = (PZONE_
SEGMENT_HEADER)(((PVOID)entry) + sizeof(PZONE_SEGMENT_HEADER
) + BlockSize);
}
return(STATUS_SUCCESS);
}
return(STATUS_SUCCESS);