Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

108 lines
3.2 KiB

; This Macro was removed from sysmsg.inc. We had to remove this
; macro and put it into it's own include file in order to clear up
; some assembly errors. MS MASM will not allow a public declaration
; during the second pass of the assembler. IBM MASM will allow this.
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; $M_DECLARE Macro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
$M_DECLARE macro numcls ;
$M_DCOUNT = 0 ;
REPT numcls ;
$M_DCOUNT = $M_DCOUNT + 1 ;
$M_DECLARE2 %$M_DCOUNT ;
ENDM ;
IF COMR
IFNDEF $M_RT2 ; If Resident table is not in this assembly,
EXTRN $M_RT2:BYTE ; Must be external
ELSE
PUBLIC $M_RT2
ENDIF ;
ELSE
IFNDEF $M_RT ; If Resident table is not in this assembly,
EXTRN $M_RT:BYTE ; Must be external
ELSE
PUBLIC $M_RT
ENDIF ;
ENDIF
$M_CHECK $M_GET_MSG_ADDRESS ; If this subroutine is not in this assembly,
$M_CHECK $M_MSGSERV_1 ; If this subroutine is not in this assembly,
$M_CHECK $M_MSGSERV_2 ; If this subroutine is not in this assembly,
ENDM ;
;
$M_DECLARE2 macro innum ;
IF NOT COMR ; IF Not resident COMMAND.COM
IF NOT COMT ; IF Not transient COMMAND.COM
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ELSE ; ELSE
IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ENDIF ;
ENDIF ;
ENDIF ;
ELSE ; ELSE
IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ENDIF ;
ENDIF ;
ENDIF ;
ENDM ;
;
$M_CHECK macro parm ;
IFNDEF parm ; IF class is not in this assembly,
IF FARmsg ;
EXTRN parm:FAR ; Must be external
ELSE ;
EXTRN parm:NEAR ; Must be external
ENDIF ;
ELSE
IF COMR
ELSE
PUBLIC parm
ENDIF
ENDIF ;
ENDM ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
IF1 ;
$M_DECLARE %$M_NUM_CLS ; Declare any class not in this assembly
ENDIF ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;