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.

107 lines
3.3 KiB

  1. ; This Macro was removed from sysmsg.inc. We had to remove this
  2. ; macro and put it into it's own include file in order to clear up
  3. ; some assembly errors. MS MASM will not allow a public declaration
  4. ; during the second pass of the assembler. IBM MASM will allow this.
  5. ;
  6. ;
  7. ;
  8. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ;; $M_DECLARE Macro
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11. ;
  12. $M_DECLARE macro numcls ;
  13. $M_DCOUNT = 0 ;
  14. REPT numcls ;
  15. $M_DCOUNT = $M_DCOUNT + 1 ;
  16. $M_DECLARE2 %$M_DCOUNT ;
  17. ENDM ;
  18. IF COMR
  19. IFNDEF $M_RT2 ; If Resident table is not in this assembly,
  20. EXTRN $M_RT2:BYTE ; Must be external
  21. ELSE
  22. PUBLIC $M_RT2
  23. ENDIF ;
  24. ELSE
  25. IFNDEF $M_RT ; If Resident table is not in this assembly,
  26. EXTRN $M_RT:BYTE ; Must be external
  27. ELSE
  28. PUBLIC $M_RT
  29. ENDIF ;
  30. ENDIF
  31. $M_CHECK $M_GET_MSG_ADDRESS ; If this subroutine is not in this assembly,
  32. $M_CHECK $M_MSGSERV_1 ; If this subroutine is not in this assembly,
  33. $M_CHECK $M_MSGSERV_2 ; If this subroutine is not in this assembly,
  34. ENDM ;
  35. ;
  36. $M_DECLARE2 macro innum ;
  37. IF NOT COMR ; IF Not resident COMMAND.COM
  38. IF NOT COMT ; IF Not transient COMMAND.COM
  39. IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
  40. IF FARmsg ;
  41. EXTRN $M_CLS_&innum:FAR ; Must be external
  42. ELSE ;
  43. EXTRN $M_CLS_&innum:NEAR ; Must be external
  44. ENDIF ;
  45. ELSE ; ELSE
  46. PUBLIC $M_CLS_&innum ; Label PUBLIC
  47. ENDIF ;
  48. ELSE ; ELSE
  49. IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
  50. IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
  51. IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
  52. IF FARmsg ;
  53. EXTRN $M_CLS_&innum:FAR ; Must be external
  54. ELSE ;
  55. EXTRN $M_CLS_&innum:NEAR ; Must be external
  56. ENDIF ;
  57. ELSE ; ELSE
  58. PUBLIC $M_CLS_&innum ; Label PUBLIC
  59. ENDIF ;
  60. ENDIF ;
  61. ENDIF ;
  62. ENDIF ;
  63. ELSE ; ELSE
  64. IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
  65. IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
  66. IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
  67. IF FARmsg ;
  68. EXTRN $M_CLS_&innum:FAR ; Must be external
  69. ELSE ;
  70. EXTRN $M_CLS_&innum:NEAR ; Must be external
  71. ENDIF ;
  72. ELSE ; ELSE
  73. PUBLIC $M_CLS_&innum ; Label PUBLIC
  74. ENDIF ;
  75. ENDIF ;
  76. ENDIF ;
  77. ENDIF ;
  78. ENDM ;
  79. ;
  80. $M_CHECK macro parm ;
  81. IFNDEF parm ; IF class is not in this assembly,
  82. IF FARmsg ;
  83. EXTRN parm:FAR ; Must be external
  84. ELSE ;
  85. EXTRN parm:NEAR ; Must be external
  86. ENDIF ;
  87. ELSE
  88. IF COMR
  89. ELSE
  90. PUBLIC parm
  91. ENDIF
  92. ENDIF ;
  93. ENDM ;
  94. ;
  95. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  96. ;;
  97. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  98. ;
  99. IF1 ;
  100. $M_DECLARE %$M_NUM_CLS ; Declare any class not in this assembly
  101. ENDIF ;
  102. ;
  103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  104.