Subversion Repositories Kolibri OS

Rev

Rev 2434 | Rev 3500 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
  4. ;; Distributed under terms of the GNU General Public License    ;;
  5. ;;                                                              ;;
  6. ;; KERNEL32.INC                                                 ;;
  7. ;;                                                              ;;
  8. ;; Included 32 bit kernel files for MenuetOS                    ;;
  9. ;;                                                              ;;
  10. ;; This file is kept separate as it will be easier to           ;;
  11. ;; maintain and compile with an automated SETUP program         ;;
  12. ;; in the future.                                               ;;
  13. ;;                                                              ;;
  14. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  15.  
  16. $Revision: 2465 $
  17.  
  18. struct  POINT
  19.         x       dd ?
  20.         y       dd ?
  21. ends
  22.  
  23. struct  RECT
  24.         left    dd ?
  25.         top     dd ?
  26.         right   dd ?
  27.         bottom  dd ?
  28. ends
  29.  
  30. struct  BOX
  31.         left    dd ?
  32.         top     dd ?
  33.         width   dd ?
  34.         height  dd ?
  35. ends
  36.  
  37. struct  DISPMODE
  38.         width   dw ?
  39.         height  dw ?
  40.         bpp     dw ?
  41.         freq    dw ?
  42. ends
  43.  
  44. ; constants definition
  45. WSTATE_NORMAL    = 00000000b
  46. WSTATE_MAXIMIZED = 00000001b
  47. WSTATE_MINIMIZED = 00000010b
  48. WSTATE_ROLLEDUP  = 00000100b
  49.  
  50. WSTATE_REDRAW    = 00000001b
  51. WSTATE_WNDDRAWN  = 00000010b
  52.  
  53. WSTYLE_HASCAPTION     = 00010000b
  54. WSTYLE_CLIENTRELATIVE = 00100000b
  55.  
  56. struct  TASKDATA
  57.         event_mask      dd ?
  58.         pid             dd ?
  59.                         dw ?
  60.         state           db ?
  61.                         db ?
  62.                         dw ?
  63.         wnd_number      db ?
  64.                         db ?
  65.         mem_start       dd ?
  66.         counter_sum     dd ?
  67.         counter_add     dd ?
  68.         cpu_usage       dd ?
  69. ends
  70.  
  71. TSTATE_RUNNING        = 0
  72. TSTATE_RUN_SUSPENDED  = 1
  73. TSTATE_WAIT_SUSPENDED = 2
  74. TSTATE_ZOMBIE         = 3
  75. TSTATE_TERMINATING    = 4
  76. TSTATE_WAITING        = 5
  77. TSTATE_FREE           = 9
  78.  
  79. ; structures definition
  80. struct  WDATA
  81.         box             BOX
  82.         cl_workarea     dd ?
  83.         cl_titlebar     dd ?
  84.         cl_frames       dd ?
  85.         reserved        db ?
  86.         fl_wstate       db ?
  87.         fl_wdrawn       db ?
  88.         fl_redraw       db ?
  89. ends
  90.  
  91. label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
  92.  
  93. struct  DBG_REGS
  94.         dr0             dd ?
  95.         dr1             dd ?
  96.         dr2             dd ?
  97.         dr3             dd ?
  98.         dr7             dd ?
  99. ends
  100.  
  101. struct  APPDATA
  102.         app_name        rb 11
  103.                         rb 5
  104.  
  105.         fpu_state       dd ?            ;+16
  106.         ev_count_       dd ? ;unused    ;+20
  107.         exc_handler     dd ?            ;+24
  108.         except_mask     dd ?            ;+28
  109.         pl0_stack       dd ?            ;+32
  110.         heap_base       dd ?            ;+36
  111.         heap_top        dd ?            ;+40
  112.         cursor          dd ?            ;+44
  113.         fd_ev           dd ?            ;+48
  114.         bk_ev           dd ?            ;+52
  115.         fd_obj          dd ?            ;+56
  116.         bk_obj          dd ?            ;+60
  117.         saved_esp       dd ?            ;+64
  118.         io_map          rd 2            ;+68
  119.         dbg_state       dd ?            ;+76
  120.         cur_dir         dd ?            ;+80
  121.         wait_timeout    dd ?            ;+84
  122.         saved_esp0      dd ?            ;+88
  123.         wait_begin      dd ?            ;+92   +++
  124.         wait_test       dd ?            ;+96   +++
  125.         wait_param      dd ?            ;+100  +++
  126.         tls_base        dd ?            ;+104
  127.         dlls_list_ptr   dd ?            ;+108
  128.         event_filter    dd ?            ;+112
  129.                         rb 12           ;+116
  130.  
  131.         wnd_shape       dd ?            ;+128
  132.         wnd_shape_scale dd ?            ;+132
  133.                         dd ?            ;+136
  134.         mem_size        dd ?            ;+140
  135.         saved_box       BOX
  136.         ipc_start       dd ?
  137.         ipc_size        dd ?
  138.         event_mask      dd ?
  139.         debugger_slot   dd ?
  140.                         dd ?
  141.         keyboard_mode   db ?
  142.                         rb 3
  143.         dir_table       dd ?
  144.         dbg_event_mem   dd ?
  145.         dbg_regs        DBG_REGS
  146.         wnd_caption     dd ?
  147.         wnd_clientbox   BOX
  148.  
  149. ends
  150.  
  151.  
  152. ; Core functions
  153. include "core/sync.inc"     ; macros for synhronization objects
  154. include "core/sys32.inc"    ; process management
  155. include "core/sched.inc"    ; process scheduling
  156. include "core/syscall.inc"  ; system call
  157. include "core/fpu.inc"      ; all fpu/sse support
  158. include "core/memory.inc"
  159. include "core/heap.inc"     ; kernel and app heap
  160. include "core/malloc.inc"   ; small kernel heap
  161. include "core/taskman.inc"
  162. include "core/dll.inc"
  163. include "core/peload.inc"   ;
  164. include "core/exports.inc"
  165. include "core/string.inc"
  166. include "core/v86.inc"      ; virtual-8086 manager
  167. include "core/irq.inc"      ; irq handling functions
  168. include "core/apic.inc"     ; Interrupt Controller functions
  169. include "core/timers.inc"
  170.  
  171. ; GUI stuff
  172. include "gui/window.inc"
  173. include "gui/event.inc"
  174. include "gui/font.inc"
  175. include "gui/button.inc"
  176.  
  177. ; shutdown
  178.  
  179. ; file system
  180.  
  181. include "blkdev/disk.inc" ; support for plug-n-play disks
  182. include "blkdev/disk_cache.inc" ; caching for plug-n-play disks
  183. include "fs/fs.inc"       ; syscall
  184. include "fs/fat32.inc"    ; read / write for fat32 filesystem
  185. include "fs/ntfs.inc"     ; read / write for ntfs filesystem
  186. include "fs/fat12.inc"    ; read / write for fat12 filesystem
  187. include "blkdev/rd.inc"   ; ramdisk read /write
  188. include "fs/fs_lfn.inc"    ; syscall, version 2
  189. include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
  190. include "fs/ext2.inc"     ; read / write for ext2 filesystem
  191.  
  192. ; sound
  193.  
  194. include "sound/playnote.inc" ; player Note for Speaker PC
  195.  
  196. ; display
  197.  
  198. ;include "video/vesa12.inc"   ; Vesa 1.2 functions
  199. include "video/vesa20.inc"   ; Vesa 2.0 functions
  200. include "video/blitter.inc"  ;
  201. include "video/vga.inc"      ; VGA 16 color functions
  202. include "video/cursors.inc"  ; cursors functions
  203.  
  204. ; Network Interface & TCPIP Stack
  205.  
  206. include "network/stack.inc"
  207.  
  208. ;include "drivers/uart.inc"
  209.  
  210.  
  211. ; Mouse pointer
  212.  
  213. include "gui/mouse.inc"
  214.  
  215. ; Window skinning
  216.  
  217. include "gui/skincode.inc"
  218.  
  219. ; Pci functions
  220.  
  221. include "bus/pci/pci32.inc"
  222.  
  223. ; Floppy drive controller
  224.  
  225. include "blkdev/fdc.inc"
  226. include "blkdev/flp_drv.inc"
  227.  
  228. ; IDE cache
  229. include "blkdev/ide_cache.inc"
  230.  
  231. ; HD drive controller
  232. include "blkdev/hd_drv.inc"
  233.  
  234. ; CD drive controller
  235.  
  236. include "blkdev/cdrom.inc"
  237. include "blkdev/cd_drv.inc"
  238.  
  239. ; Character devices
  240.  
  241. include "hid/keyboard.inc"
  242. include "hid/mousedrv.inc"
  243.  
  244. ; setting date,time,clock and alarm-clock
  245.  
  246. include "hid/set_dtc.inc"
  247.  
  248. ;% -include
  249.  
  250. ;parser file names
  251. include "fs/parse_fn.inc"
  252.  
  253. ; work with conf lib
  254. include "core/conf_lib.inc"
  255.  
  256. ; load external lib
  257. include "core/ext_lib.inc"
  258.  
  259. ; list of external functions
  260. include "imports.inc"
  261.