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.

173 lines
5.2 KiB

  1. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2. ; Redirector MACROS
  3. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  4. EDW MACRO name
  5. extrn name:near
  6. DW OFFSET RG:name
  7. ENDM
  8. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  9. CHECK_DIALECT MACRO name
  10. IF2 ;AN000; If not defined yet,
  11. IFNDEF CHECKDIALECT ;AN000; THEN Extrn
  12. Extrn CHECKDIALECT&name:NEAR ;AN000;
  13. ENDIF ;AN000;
  14. ENDIF ;AN000;
  15. CALL CHECKDIALECT&name ;AN000; Call the appropriate routine
  16. ENDM
  17. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  18. CallREDIRSub MACRO name,fn,save,restore ;AN000;
  19. IF2 ;AN000; If not defined yet,
  20. IFNDEF REDIRSub&fn ;AN000; THEN Extrn
  21. Extrn REDIRSub&fn:NEAR ;AN000;
  22. ENDIF ;AN000;
  23. ENDIF ;AN000;
  24. IFNB <save> ;AN000; If not blank
  25. SAVE <save> ;AN000; Save the regs
  26. ENDIF ;AN000;
  27. CALL REDIRSub&fn ;AN000; Call the appropriate routine
  28. IFNB <restore> ;AN000; If not blank
  29. RESTORE <restore> ;AN000; Save the regs
  30. ENDIF ;AN000;
  31. ENDM ;AN000;
  32. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  33. ; Redirector structures
  34. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  35. INCLUDE IFSSYM.INC ;AN000;
  36. INCLUDE ERROR.INC ;AN000;
  37. INCLUDE FILEMODE.INC ;AN000;
  38. ;; CD_FSDA STRUCTURE
  39. CD_FSDA_OFF EQU WORD PTR CD_FSDA ;AN000;
  40. CD_FSDA_SEG EQU WORD PTR CD_FSDA+2 ;AN000;
  41. CD_FSDA_FLAGS EQU WORD PTR CD_FSDA+4 ;AN000;
  42. ;; DFL_FSDA STRUCTURE
  43. DF_FSDA_OFF EQU WORD PTR DFL_FSDA ;AN000;
  44. DF_FSDA_SEG EQU WORD PTR DFL_FSDA+2 ;AN000;
  45. DF_FSDA_FLAGS EQU WORD PTR DFL_FSDA+4 ;AN000;
  46. ;; SFF_FSDA STRUCTURE
  47. SFF_FSDA_OFF EQU WORD PTR SFF_FSDA ;AN000;
  48. SFF_FSDA_SEG EQU WORD PTR SFF_FSDA+2 ;AN000;
  49. SFF_FSDA_FLAGS EQU WORD PTR SFF_FSDA+4 ;AN000;
  50. ;; IFS Structure fixes
  51. ifsr_fcn_def EXECAPI ;AN000;
  52. ifsr_api_def OPENFILE ;AN000;
  53. IFSR_OPENNAME@ = IFSR_NAME@ ;AN000;
  54. ifsr_api_def SEARCHFILE ;AN000;
  55. IFSR_SRCHNAME@ = IFSR_NAME@ ;AN000;
  56. ifsr_api_def MKDIR ;AN000;
  57. IFSR_DIRNAME@ = IFSR_NAME@ ;AN000;
  58. ifsr_api_def DELFILE ;AN000;
  59. IFSR_DELNAME@ = IFSR_NAME@ ;AN000;
  60. ifsr_api_def FILEATTR ;AN000;
  61. IFSR_ATTRNAME@ = IFSR_NAME@ ;AN000;
  62. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  63. ; Redirector Equates
  64. ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  65. Get_Interrupt_Vector EQU 35H ;AN000;
  66. Set_Interrupt_Vector EQU 25H ;AN000;
  67. Deallocate_memory EQU 49H ;AN000;
  68. GET_SYS_CONFIG EQU 0C000H ;AN000; INT 15H to get configuration
  69. CONFIG_STRUC STRUC ;AN001;
  70. LENGTH DW ? ;AN001;
  71. MODEL_BYTE DB ? ;AN001;
  72. CONFIG_STRUC ENDS ;AN001;
  73. LOWEST_386_MODEL EQU 0F8H ;AN001;
  74. INCOR_DOS EQU 1 ;AN000;
  75. ALREADY_INST EQU 2 ;AN000;
  76. NOT_INST EQU 3 ;AN000;
  77. NET_NOT_STARTED EQU 4 ;AN000;
  78. INSUFF_MEM EQU 5 ;AN000;
  79. BAD_PARM EQU 10 ;AN000;
  80. INSUFFICENT_MEM EQU 76 ;AN001; Extended Error
  81. ONE_REPLACE EQU 1 ;AN000;
  82. SINGLE_COUNT EQU 1 ;AN000;
  83. TESTDIALECT = 0 ;AN001;
  84. REDIR_INSTALLED EQU -1 ;AN000;
  85. REDIR_SYS_INSTALL EQU 0BF80H ;AN000; REDIR.SYS 2FH Function number
  86. REDIR_EXE_INSTALL EQU 0BF00H ;AN000; REDIR.EXE 2FH Function number
  87. FASSIGN_ON EQU -1 ;AN000;
  88. FASSIGN_OFF EQU 0 ;AN000;
  89. FPRINT_ON EQU -1 ;AN000;
  90. FPRINT_OFF EQU 0 ;AN000;
  91. EXT_ERR_72 EQU 72 ;AN000;
  92. PSP_ENVIRO_SEG EQU 002CH ;AN000; Offset into the PSP of the Enviroment Segment
  93. PrnIO EQU 17H ; Int vector for Printer IO
  94. PrntScr EQU 05H ; Int vector for Print Screen
  95. PrnRdrMark EQU 2 ; Mark for port addr
  96. VER12 EQU 00000010b ;AN001;
  97. VER13 EQU 00000100b ;AN001;
  98. FIRST_TIME EQU 1 ;AN001;
  99. SECOND_TIME EQU 2 ;AN001;
  100. SHIFT_BY_7 EQU 7 ;AN001;
  101. HI_BIT_SHARING_MASK EQU 1111111101111111b ;AN001; Turns off Hi bit in nibble
  102. ;; ###############################################################
  103. ;; MISC.INC
  104. ;; ###############################################################
  105. ; NETFILE
  106. attr_read_only = 00000001b
  107. ; NETINIT
  108. IFSR_INVALID_CMD = -1 ;AN000;
  109. ; NETUTIL
  110. MACRO_4 = 4
  111. DATE_TIME = 0
  112. ; NETHAND
  113. LOCK_ALL_OPERS = 0
  114. POS_LEN_PTR_SIZE = 8 ;AN001; 8 bytes for position/length
  115. FIND_BUF STRUC
  116. find_buf_drive DB ? ; drive of search
  117. find_buf_name DB 11 DUP (?) ; formatted name
  118. find_buf_sattr DB ? ; attribute of search
  119. find_buf_LastEnt DW ? ; LastEnt
  120. find_buf_DirStart DW ? ; DirStart
  121. find_buf_NetID DB 4 DUP (?) ; Reserved for NET
  122. find_buf_attr DB ? ; attribute found
  123. find_buf_time DW ? ; time
  124. find_buf_date DW ? ; date
  125. find_buf_size_l DW ? ; low(size)
  126. find_buf_size_h DW ? ; high(size)
  127. find_buf_pname DB 13 DUP (?) ; packed name
  128. FIND_BUF ENDS