Subversion Repositories Kolibri OS

Rev

Rev 444 | Blame | Last modification | View Log | Download | RSS feed

  1. $Revision: 431 $
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;                                                            ;;
  4. ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
  5. ;; Distributed under terms of the GNU General Public License    ;;
  6. ;;                                                              ;;
  7. ;; KERNEL32.INC                                               ;;
  8. ;;                                                            ;;
  9. ;; Included 32 bit kernel files for MenuetOS                  ;;
  10. ;;                                                            ;;
  11. ;; This file is kept separate as it will be easier to         ;;
  12. ;; maintain and compile with an automated SETUP program       ;;
  13. ;; in the future.                                             ;;
  14. ;;                                                            ;;
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16.  
  17. ;struc db [a] { common . db a
  18. ;  if ~used .
  19. ;    display 'not used db: ',`.,13,10
  20. ;  end if }
  21. ;struc dw [a] { common . dw a
  22. ;  if ~used .
  23. ;    display 'not used dw: ',`.,13,10
  24. ;  end if }
  25. ;struc dd [a] { common . dd a
  26. ;  if ~used .
  27. ;    display 'not used dd: ',`.,13,10
  28. ;  end if }
  29. ;struc dp [a] { common . dp a
  30. ;  if ~used .
  31. ;    display 'not used dp: ',`.,13,10
  32. ;  end if }
  33. ;struc dq [a] { common . dq a
  34. ;  if ~used .
  35. ;    display 'not used dq: ',`.,13,10
  36. ;  end if }
  37. ;struc dt [a] { common . dt a
  38. ;  if ~used .
  39. ;    display 'not used dt: ',`.,13,10
  40. ;  end if }
  41.  
  42. struc RECT {
  43.   .left   dd ?
  44.   .top    dd ?
  45.   .right  dd ?
  46.   .bottom dd ?
  47. }
  48. virtual at 0
  49.  RECT RECT
  50. end virtual
  51.  
  52. struc BOX {
  53.   .left   dd ?
  54.   .top    dd ?
  55.   .width  dd ?
  56.   .height dd ?
  57. }
  58. virtual at 0
  59.  BOX BOX
  60. end virtual
  61.  
  62. ; constants definition
  63. WSTATE_NORMAL    = 00000000b
  64. WSTATE_MAXIMIZED = 00000001b
  65. WSTATE_MINIMIZED = 00000010b
  66. WSTATE_ROLLEDUP  = 00000100b
  67.  
  68. WSTATE_REDRAW    = 00000001b
  69. WSTATE_WNDDRAWN  = 00000010b
  70.  
  71. WSTYLE_HASCAPTION     = 00010000b
  72. WSTYLE_CLIENTRELATIVE = 00100000b
  73.  
  74. struc TASKDATA
  75. {
  76.   .event_mask  dd ?
  77.   .pid         dd ?
  78.                dw ?
  79.   .state       db ?
  80.                db ?
  81.                dw ?
  82.   .wnd_number  db ?
  83.                db ?
  84.   .mem_start   dd ?
  85.   .counter_sum dd ?
  86.   .counter_add dd ?
  87.   .cpu_usage   dd ?
  88. }
  89. virtual at 0
  90.  TASKDATA TASKDATA
  91. end virtual
  92.  
  93. ; structures definition
  94. struc WDATA {
  95.   .box             BOX
  96.   .cl_workarea     dd ?
  97.   .cl_titlebar     dd ?
  98.   .cl_frames       dd ?
  99.   .reserved        db ?
  100.   .fl_wstate       db ?
  101.   .fl_wdrawn       db ?
  102.   .fl_redraw       db ?
  103. }
  104. virtual at 0
  105.  WDATA WDATA
  106. end virtual
  107. label WDATA.fl_wstyle byte at 0x13
  108.  
  109. struc APPDATA
  110. {
  111.   .app_name        db 11  dup(?)
  112.                    db 5   dup(?)
  113.  
  114.   .fpu_state       dd ?            ;+16
  115.   .ev_count        dd ?            ;+20
  116.   .fpu_handler     dd ?            ;+24
  117.   .sse_handler     dd ?            ;+28
  118.   .pl0_stack       dd ? ;unused    ;+32
  119.   .heap_base       dd ?            ;+36
  120.   .heap_top        dd ?            ;+40
  121.   .cursor          dd ?            ;+44
  122.   .fd_ev           dd ?            ;+48
  123.   .bk_ev           dd ?            ;+52
  124.   .fd_obj          dd ?            ;+56
  125.   .bk_obj          dd ?            ;+60
  126.   .saved_esp       dd ?            ;+64
  127.   .io_map          rd 2            ;+68
  128.  
  129.                    db 52 dup(?)    ;+76
  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.                    db 3   dup(?)
  143.   .dir_table       dd ?
  144.   .dbg_event_mem   dd ?
  145.   .dbg_regs:
  146.   .dbg_regs.dr0    dd ?
  147.   .dbg_regs.dr1    dd ?
  148.   .dbg_regs.dr2    dd ?
  149.   .dbg_regs.dr3    dd ?
  150.   .dbg_regs.dr7    dd ?
  151.   .wnd_caption     dd ?
  152.   .wnd_clientbox   BOX
  153. }
  154. virtual at 0
  155.  APPDATA APPDATA
  156. end virtual
  157.  
  158. ;// mike.dld, 2006-29-01 ]
  159.  
  160.  
  161. ; Core functions
  162. include "core/sync.inc"     ; macros for synhronization objects
  163. include "core/sys32.inc"    ; process management
  164. include "core/sched.inc"    ; process scheduling
  165. include "core/syscall.inc"  ; system call
  166. include "core/fpu.inc"      ; all fpu/sse support
  167. include "core/memory.inc"
  168. include "core/heap.inc"     ; kernel and app heap
  169. include "core/malloc.inc"   ; small kernel heap
  170. include "core/taskman.inc"
  171. include "core/dll.inc"
  172. include "core/exports.inc"
  173.  
  174. ; GUI stuff
  175. include "gui/window.inc"
  176. include "gui/event.inc"
  177. include "gui/font.inc"
  178. include "gui/button.inc"
  179.  
  180. ; shutdown
  181.  
  182. ; file system
  183.  
  184. include "fs/fs.inc"       ; syscall
  185. include "fs/fat32.inc"    ; read / write for fat32 filesystem
  186. include "fs/ntfs.inc"     ; read / write for ntfs filesystem
  187. include "fs/fat12.inc"    ; read / write for fat12 filesystem
  188. include "blkdev/rd.inc"   ; ramdisk read /write
  189. include "fs/fs_lfn.inc"    ; syscall, version 2
  190. include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
  191.  
  192. ; sound
  193.  
  194. include "sound/sb16.inc"     ; playback for Sound Blaster 16
  195. include "sound/playnote.inc" ; player Note for Speaker PC
  196.  
  197. ; display
  198.  
  199. include "video/vesa12.inc"   ; Vesa 1.2 functions
  200. include "video/vesa20.inc"   ; Vesa 2.0 functions
  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. ; HD drive controller
  229. include "blkdev/hd_drv.inc"
  230.  
  231. ; CD drive controller
  232.  
  233. include "blkdev/cdrom.inc"
  234. include "blkdev/cd_drv.inc"
  235.  
  236. ; Character devices
  237.  
  238. include "hid/keyboard.inc"
  239. include "hid/mousedrv.inc"
  240.  
  241. ; setting date,time,clock and alarm-clock
  242.  
  243. include "hid/set_dtc.inc"
  244.  
  245. ;% -include
  246.