home *** CD-ROM | disk | FTP | other *** search
/ Media Share 13 / mediashare_13.zip / mediashare_13 / ZIPPED / PROGRAM / APR94_2.ZIP / INCLUDE / WIN386.INC < prev   
Text File  |  1994-03-01  |  6KB  |  205 lines

  1.  
  2. ;Win386.inc - Useful structures for win386 programming
  3.  
  4. ;Klaus Mueller 1994
  5.  
  6. KM_SIS STRUCT
  7.  
  8. Win386_Startup_Info_Struc   {}              ;from INT2fAPI.INC
  9. Tsr_Name                    BYTE    'TSR_NAME'
  10.  
  11. KM_SIS ENDS
  12.  
  13. Memory_Control_Block        STRUCT          
  14.  
  15. MCB_Type                    db  ?
  16. MCB_PSP_Seg                 dw  ?
  17. MCB_Size                    dw  ?           ;Size in paragraphs
  18. MCB_Unused                  db  3 dup (?)
  19. MCB_Name                    db  8 dup (?)   ;ASCII program name if PSP mcb
  20.  
  21. Memory_Control_Block        ENDS
  22.  
  23.  
  24. W3_Header STRUCT
  25.  
  26. W3_Sign                     dw      ?
  27. W3_Version                  dw      ?
  28. W3_Num_VxD                  dd      ?
  29. W3_Unknown                  db      8 dup (?)
  30.  
  31. W3_Header ENDS
  32.  
  33. VxD_Header STRUCT
  34.  
  35. VxD_Name                    db      8 dup (?)
  36. VxD_Raw_Data                dd      ?
  37. VxD_Unknown                 dd      ?
  38.  
  39. VxD_Header ENDS
  40.  
  41. DOS_EXE STRUCT
  42.  
  43.     DOS2_Comp_EXE_Header        db      1ch dup (?)
  44.     Borland_Tlink_unknown       dw      ?
  45.     Borland_Tlink_Signature     db      ?
  46.     Borland_Tlink_Version       db      ?
  47.     Borland_Tlink_unknown1      dd      ?
  48.     OEM_Identifier              dw      ?
  49.     OEM_Info                    db      16h dup (?)
  50.     Linear_EXE_Off              dd      ?
  51.  
  52. DOS_EXE ENDS
  53.             
  54. LE_Header   STRUCT  
  55.  
  56. LE_Signature                dw      ?
  57. LE_Byte_Order               db      ?
  58. LE_Word_Order               db      ?
  59. LE_Format_Level             dd      ?
  60. LE_CPU_Type                 dw      ?
  61. LE_OS_Type                  dw      ?
  62. LE_Module_Version           dd      ?
  63. LE_Module_Flags             dd      ?
  64. LE_Module_Num_Pages         dd      ?
  65. LE_EIP_Object_Num           dd      ?
  66. LE_EIP                      dd      ?
  67. LE_ESP_Object_Num           dd      ?
  68. LE_ESP                      dd      ?
  69. LE_Page_Size                dd      ?
  70. LE_Page_Offs_Shift          dd      ?
  71. LE_Fixup_Section_Size       dd      ?
  72. LE_Fixup_Section_Chksum     dd      ?
  73. LE_Loader_Section_Size      dd      ?
  74. LE_Loader_Section_Chksum    dd      ?
  75. LE_Object_Table_Off         dd      ?
  76. LE_Num_Objects_In_Module    dd      ?
  77. LE_Object_Page_Tbl_Off      dd      ?
  78. LE_Object_Iter_Pgs_Off      dd      ?
  79. LE_Resource_Table_Off       dd      ?
  80. LE_Num_Res_Tbl_Entries      dd      ?
  81. LE_Resident_Name_Tbl_Off    dd      ?
  82. LE_Entry_Table_Offset       dd      ?
  83. LE_Module_Directives_Off    dd      ?
  84. LE_Num_Module_Directives    dd      ?
  85. LE_Fixup_Page_Table_Off     dd      ?
  86. LE_Fixup_Record_Table_Off   dd      ?
  87. LE_Import_Module_Tbl_Off    dd      ?
  88. LE_Num_Import_Mod_Entries   dd      ?
  89. LE_Import_Proc_Tbl_Off      dd      ?
  90. LE_Per_Page_Chksum_Off      dd      ?
  91. LE_Data_Pages_Off           dd      ?
  92. LE_Num_Preload_Pages        dd      ?
  93. LE_Non_Res_Name_Tbl_Off     dd      ?
  94. LE_Non_Res_Name_Tbl_Len     dd      ?
  95. LE_Nom_Res_Name_Tbl_Chksum  dd      ?
  96. LE_Auto_DS_Object_Num       dd      ?
  97. LE_Debug_Info_Off           dd      ?
  98. LE_Debug_Info_Len           dd      ?
  99. LE_Num_Instance_Preload     dd      ?
  100. LE_Num_Instance_Demand      dd      ?
  101. LE_Heapsize                 dd      ?
  102.  
  103. LE_Header   ENDS
  104.  
  105.  
  106.  
  107. Object_Table_Struc  STRUCT  
  108.  
  109. Object_Virtual_Size         dd      ?
  110. Object_Reloc_Base_Addr      dd      ?
  111. Object_Flags                dd      ?
  112. Object_Page_Table_Index     dd      ?
  113. Object_Num_Page_Tbl_Entries dd      ?
  114. OBject_Reserved             dd      ?
  115.  
  116. Object_Table_Struc  ENDS 
  117.  
  118. ;Object Flags
  119.  
  120. READABLE                    equ     0001h
  121. WRITEABLE                   equ     0002h
  122. EXECUTABLE                  equ     0004h
  123. DISCARDABLE                 equ     0010h
  124. SHARED                      equ     0020h
  125. PRELOAD                     equ     0040h
  126. INVALID                     equ     0080h
  127. ZEROFILLED                  equ     0100h
  128. RESIDENT                    equ     0200h
  129. RESIDENTCONTIGOUS           equ     0300h
  130. RESIDENTLONGLOCKABLE        equ     0400h
  131. ALIAS16                     equ     1000h
  132. BIG                         equ     2000h
  133. CONFORMING                  equ     4000h
  134. IOPL                        equ     8000h
  135.  
  136. Fixup_Record_Table  STRUCT
  137.  
  138. Fixup_Source                db      ?
  139. Fixup_Flags                 db      ?
  140. Fixup_Source_Off            dw      ?
  141. Fixup_Object                db      ?
  142. Fixup_Target_Off            dw      ?
  143.  
  144. Fixup_Record_Table  ENDS
  145.  
  146. Fixup_Record_List_Table STRUCT
  147.  
  148. Fixup_List_Source           db      ?
  149. Fixup_List_Flags            db      ?
  150. Fixup_List_Count            db      ?
  151. Fixup_List_Object           db      ?
  152. Fixup_List_Target_Off       dw      ?
  153.  
  154. Fixup_Record_List_Table ENDS
  155.  
  156.  
  157. ;Fixup  SRC - Source type
  158. SOURCE_TYPE_MASK            equ     0fh
  159. BYTEFIXUP                   equ     00h
  160. UNDEFINED0                  equ     01h
  161. SELECTOR_16_FIXUP           equ     02h
  162. PTR_16_16_FIXUP            equ      03h
  163. UNDEFINED1                  equ     04h
  164. OFFSET_16_FIXUP             equ     05h
  165. PTR_16_32_FIXUP             equ     06h                     
  166. OFFSET_32_FIXUP             equ     07h
  167. RELATIVE_32_FIXUP           equ     08h
  168. FIXUP_ALIAS_FLAG            equ     10h
  169. SOURCE_LIST_FLAG            equ     20h
  170.  
  171. ;Fixup FLAGS - Target Flags
  172. TARGET_TYPE_MASK            equ     03h
  173. INTERNAL_REF                equ     00h
  174. IMPORTED_REF_ORDINAL        equ     01h
  175. IMPORTED_REF_NAME           equ     02h
  176. INTERNAL_REF_ENTRY          equ     03h
  177. ADDITIVE_FIXUP_FLAG         equ     04h
  178. RESERVED0                   equ     08h
  179. OFFSET_32_Flag              equ     10h
  180. ADDITIVE_FIXUP_FLAG_32      equ     20h
  181. OBJECT_NUMBER_16            equ     40h
  182. ORDINAL_FLAG_8              equ     80h
  183.  
  184. Entry_Table STRUCT
  185.  
  186. Entry_Count                 db      ?
  187. Entry_Type                  db      ?
  188. Entry_Object                dw      ?
  189. Entry_Flags                 db      ?
  190. Entry_Offset                dd      ?
  191.  
  192. Entry_Table ENDS
  193.  
  194. ;Entry Table Type Flags
  195. ENTRY_UNUSED                equ     00h
  196. ENTRY_16BIT                 equ     01h
  197. ENTRY_286CALLGATE           equ     02h
  198. ENTRY_32BIT                 equ     03h
  199. ENTRY_FORWARDER             equ     04h
  200.  
  201.  
  202.  
  203.  
  204.  
  205.