Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

139 lines
10 KiB

MEM.C: /*----------------------------------------------------------------------+
MEM.C: | - Used to display DOS memory map summary. |
MEM.C: | - Used to display DOS memory map. |
MEM.C: | - Used to display a detailed DOS memory map. |
MEM.C: | AN001 - PTM P2914 -> This PTM relates to MEM's ability to report|
MEM.C: | AN002 - PTM P3477 -> MEM was displaying erroneous base memory |
MEM.C: | AN003 - PTM P3912 -> MEM messages do not conform to spec. |
MEM.C: | AN004 - PTM P4510 -> MEM does not give correct DOS size. |
MEM.C: | AN005 - PTM P4957 -> MEM does not give correct DOS size for |
MEM.C: | M000 SR 8/27/90 Added new Ctrl-C handler to delink UMBs |
MEM.C: +----------------------------------------------------------------------*/
MEM.C: char *MultipleDrives = "%c: - %c:" ;
MEM.C: char *UnOwned = "----------" ;
MEM.C: /*----------------------------------------------------------------------+
MEM.C: +----------------------------------------------------------------------*/
MEM.C: /* Store the current Ctrl-C handler and replace with our
MEM.C: Ctrl-C handler :M000
MEM.C: LinkedIn--;
MEM.C: /* If user did not issue Ctrl-C till here, we just remove the handler */
MEM.C: /*----------------------------------------------------------------------+
MEM.C: +----------------------------------------------------------------------*/
MEM.C: /* Parse_Message - This routine will print only those */
MEM.C: /* Inputs : Msg_Num - number of applicable message */
MEM.C: /* Handle - display type */
MEM.C: /* Message_Type - type of message to display */
MEM.C: /* Replace_Parm - pointer to parm to replace */
MEMBASE.C: /* MEMBASE.C - MEM routines for determining and displaying memory usage
MEMBASE.C: Out_Var2 = (long) (FP_SEG(SysVarsPtr) - 0x70)*16l;
MEMBASE.C: for (ThisDeviceDriver = SysVarsPtr -> DeviceDriverChain;
MEMBASE.C: ThisDeviceDriver = ThisDeviceDriver -> NextDeviceHeader)
MEMBASE.C: FP_OFF(ArenaHeadPtr) = FP_OFF(SysVarsPtr) - 2; /* ;an004; */
MEMBASE.C: Out_Var2 = (long) ((AddressOf((char far *)ThisArenaPtr)) - Out_Var1); /* ;ac004; */
MEMBASE.C: /* 0008:000->------------------ ------------------- */
MEMBASE.C: /* | BUFFERS | -------->|B (signature) | Block header */
MEMBASE.C: /* ------------------ ------------------- */
MEMBASE.C: /* | FCBs | -- | | */
MEMBASE.C: /* ------------------ | | Buffers data | */
MEMBASE.C: /* ------------------ | | | */
MEMBASE.C: /* ------------------ | -------------------- */
MEMBASE.C: /* ------------------ | ------------------- */
MEMBASE.C: /* | EXTERN DRIVER 2| | -------->|X (signature) | Block header */
MEMBASE.C: /* ------------------ ------------------- */
MEMBASE.C: /* ------------------ | Buffers data | */
MEMBASE.C: /* -------------------- */
MEMBASE.C: /* 70:0 - BIOS data 70:0 - BIOS data
MEMBASE.C: /* 70:0 - BIOS data
MEMBASE.C: while (ThisArenaPtr -> Signature != (char) 'Z')
MEMBASE.C: if (ThisArenaPtr -> Owner == 8 || ThisArenaPtr -> Owner == 9 ) /* MSKK02 */
MEMBASE.C: FP_SEG(NextArenaPtr) = FP_SEG(ThisArenaPtr) + ThisArenaPtr -> Paragraphs + 1;
MEMBASE.C: Out_Var2 = (long) (ThisArenaPtr -> Paragraphs) * 16l; /* MSKK02 */
MEMBASE.C: if (ThisArenaPtr->OwnerName[0] == 'S' &&
MEMBASE.C: ThisArenaPtr->OwnerName[1] == 'C')
MEMBASE.C: (ThisArenaPtr -> Owner == 8) ? IbmbioMsg : AdddrvMsg, /* MSKK02 */
MEMBASE.C: (ThisArenaPtr -> Owner == 8) ? SystemDataMsg : ProgramMsg ); /* MSKK02 */
MEMBASE.C: switch(ThisConfigArenaPtr -> Signature) /* MSKK02 */
MEMBASE.C: Out_Var1 = ((long) ThisConfigArenaPtr -> Paragraphs) * 16l; /* MSKK02 */
MEMBASE.C: FP_SEG(NextConfigArenaPtr) += NextConfigArenaPtr -> Paragraphs + 1; /* MSKK02 */
MEMBASE.C: if (ThisConfigArenaPtr -> Signature == (char) 'D') /* MSKK02 */
MEMBASE.C: ThisDeviceDriver = ThisDeviceDriver -> NextDeviceHeader; /* MSKK02 */
MEMBASE.C: FP_SEG(ThisConfigArenaPtr) += ThisConfigArenaPtr -> Paragraphs + 1; /* MSKK02 */
MEMBASE.C: if (ThisArenaPtr -> Owner == 8)
MEMBASE.C: FP_SEG(NextArenaPtr) = FP_SEG(ThisArenaPtr) + ThisArenaPtr -> Paragraphs + 1;
MEMBASE.C: Out_Var2 = (long) (ThisArenaPtr -> Paragraphs) * 16l;
MEMBASE.C: if (ThisArenaPtr->OwnerName[0] == 'S' &&
MEMBASE.C: ThisArenaPtr->OwnerName[1] == 'C')
MEMBASE.C: switch(ThisConfigArenaPtr -> Signature)
MEMBASE.C: Out_Var1 = ((long) ThisConfigArenaPtr -> Paragraphs) * 16l;
MEMBASE.C: FP_SEG(NextConfigArenaPtr) += NextConfigArenaPtr -> Paragraphs + 1;
MEMBASE.C: if (ThisConfigArenaPtr -> Signature == (char) 'D')
MEMBASE.C: ThisDeviceDriver = ThisDeviceDriver -> NextDeviceHeader; /* MSKK01 */ MEMBASE.C: FP_SEG(ThisConfigArenaPtr) += ThisConfigArenaPtr -> Paragraphs + 1; MEMBASE.C: Out_Var2 = ((long) (ThisArenaPtr -> Paragraphs)) * 16l; MEMBASE.C: FP_SEG(ThisArenaPtr) += ThisArenaPtr -> Paragraphs + 1; MEMBASE.C: Out_Var2 = ((long) (ThisArenaPtr -> Paragraphs)) * 16l; MEMBASE.C: if ( ((ThisDeviceDriver -> Attributes) & 0x8000 ) != 0 ) MEMBASE.C: { for (i = 0; i < 8; i++) LocalDeviceName[i] = ThisDeviceDriver -> Name[i]; MEMBASE.C: if ((int) ThisDeviceDriver -> Name[0] == 1) MEMBASE.C: 'A'+BlockDeviceNumber + ((int) ThisDeviceDriver -> Name[0]) - 1); MEMBASE.C: BlockDeviceNumber += (int) (ThisDeviceDriver -> Name[0]); MEMBASE.C: free_mem = (DOS_TopOfMemory * 16l) - (FP_SEG(PSPptr)*16l); /* ;an000;ac005; */ MEMBASE.C: PspSegment = ArenaPtr -> Owner; MEMBASE.C: FP_SEG(ArenaPtr) = PspSegment-1; /* -1 'cause Arena is 16 bytes before PSP */ MEMBASE.C: StringPtr = (char far *) &(ArenaPtr -> OwnerName[0]); MEMBASE.C: * such names. - Nagara 11/20/90 MEMBASE.C: StringPtr = (char far *) &(ArenaPtr -> OwnerName[0]); MEMBASE.C: OutputPtr--; MEMBASE.C: if (Header -> Owner == 8) Message_Number = StackMsg; MEMBASE.C: if (Header -> Owner == 0) Message_Number = FreeMsg; MEMBASE.C: PspSegment = Header -> Owner; MEMCTRLC.C: /* This module contains the Ctrl-C handler put in by Mem when */ MEMCTRLC.C: /* it links in UMBs. On a Ctrl-C, UMBs are delinked if they were */ MEMCTRLC.C: /* explicitly enabled by Mem. The old Ctrl-C handler is restored */ MEMCTRLC.C: /* after a Ctrl-C and as a result lot of old programs dont run. */ MEMEX.C: /* MEMEX.C - expanded and extended memory handling functions for MEM.C. MEMEX.C: if ((SysVarsPtr) -> ExtendedMemory != 0) /* extended memory? ;an001; dms;*/ MEMEX.C: EXTMemoryTot = (long) (SysVarsPtr) -> ExtendedMemory; /* get total EM size ;an001; dms;*/ MEMEX.C: EXTMemoryTot -= (unsigned long) (CheckVDisk() * 1024l); MEMEX.C: /* only want to try this if vector is non-zero */ SUBMSG.C: /* SUBMSG.C - Message retriever interface functions for MEM command. SUBMSG.C: /* SUB0_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* SUB1_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* Replace_Parm - pointer to parm to replace */ SUBMSG.C: /* SUB2_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* Replace_Parm1 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm2 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm3 - pointer to parm to replace */ SUBMSG.C: /* SUB3_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* Replace_Parm1 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm2 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm3 - pointer to parm to replace */ SUBMSG.C: /* SUB4_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* Replace_Parm1 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm2 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm3 - pointer to parm to replace */ SUBMSG.C: /* Dynamic_Parm - parm number to use as replaceable */ SUBMSG.C: /* SUB4a_MESSAGE - This routine will print only those */ SUBMSG.C: /* Inputs : Msg_Num - number of applicable message */ SUBMSG.C: /* Handle - display type */ SUBMSG.C: /* Message_Type - type of message to display */ SUBMSG.C: /* Replace_Parm1 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm2 - pointer to parm to replace */ SUBMSG.C: /* Replace_Parm3 - pointer to parm to replace */ SUBMSG.C: /* Dynamic_Parm - parm number to use as replaceable */ SUBMSG.C: /* EMSPrint - This routine will print the message */