Subversion Repositories Kolibri OS

Rev

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

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2007. 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: 750 $
  17.  
  18.  
  19. ;struc db [a] { common . db a
  20. ;  if ~used .
  21. ;    display 'not used db: ',`.,13,10
  22. ;  end if }
  23. ;struc dw [a] { common . dw a
  24. ;  if ~used .
  25. ;    display 'not used dw: ',`.,13,10
  26. ;  end if }
  27. ;struc dd [a] { common . dd a
  28. ;  if ~used .
  29. ;    display 'not used dd: ',`.,13,10
  30. ;  end if }
  31. ;struc dp [a] { common . dp a
  32. ;  if ~used .
  33. ;    display 'not used dp: ',`.,13,10
  34. ;  end if }
  35. ;struc dq [a] { common . dq a
  36. ;  if ~used .
  37. ;    display 'not used dq: ',`.,13,10
  38. ;  end if }
  39. ;struc dt [a] { common . dt a
  40. ;  if ~used .
  41. ;    display 'not used dt: ',`.,13,10
  42. ;  end if }
  43.  
  44. struc RECT {
  45.   .left   dd ?
  46.   .top    dd ?
  47.   .right  dd ?
  48.   .bottom dd ?
  49. }
  50. virtual at 0
  51.  RECT RECT
  52. end virtual
  53.  
  54. struc BOX {
  55.   .left   dd ?
  56.   .top    dd ?
  57.   .width  dd ?
  58.   .height dd ?
  59. }
  60. virtual at 0
  61.  BOX BOX
  62. end virtual
  63.  
  64. ; constants definition
  65. WSTATE_NORMAL    = 00000000b
  66. WSTATE_MAXIMIZED = 00000001b
  67. WSTATE_MINIMIZED = 00000010b
  68. WSTATE_ROLLEDUP  = 00000100b
  69.  
  70. WSTATE_REDRAW    = 00000001b
  71. WSTATE_WNDDRAWN  = 00000010b
  72.  
  73. WSTYLE_HASCAPTION     = 00010000b
  74. WSTYLE_CLIENTRELATIVE = 00100000b
  75.  
  76. struc TASKDATA
  77. {
  78.   .event_mask  dd ?
  79.   .pid         dd ?
  80.                dw ?
  81.   .state       db ?
  82.                db ?
  83.                dw ?
  84.   .wnd_number  db ?
  85.                db ?
  86.   .mem_start   dd ?
  87.   .counter_sum dd ?
  88.   .counter_add dd ?
  89.   .cpu_usage   dd ?
  90. }
  91. virtual at 0
  92.  TASKDATA TASKDATA
  93. end virtual
  94.  
  95. ; structures definition
  96. struc WDATA {
  97.   .box             BOX
  98.   .cl_workarea     dd ?
  99.   .cl_titlebar     dd ?
  100.   .cl_frames       dd ?
  101.   .reserved        db ?
  102.   .fl_wstate       db ?
  103.   .fl_wdrawn       db ?
  104.   .fl_redraw       db ?
  105. }
  106. virtual at 0
  107.  WDATA WDATA
  108. end virtual
  109. label WDATA.fl_wstyle byte at 0x13
  110.  
  111. struc APPDATA
  112. {
  113.   .app_name        db 11  dup(?)
  114.                    db 5   dup(?)
  115.  
  116.   .fpu_state       dd ?            ;+16
  117.   .ev_count        dd ?            ;+20
  118.   .fpu_handler     dd ?            ;+24
  119.   .sse_handler     dd ?            ;+28
  120.   .pl0_stack       dd ? ;unused    ;+32
  121.   .heap_base       dd ?            ;+36
  122.   .heap_top        dd ?            ;+40
  123.   .cursor          dd ?            ;+44
  124.   .fd_ev           dd ?            ;+48
  125.   .bk_ev           dd ?            ;+52
  126.   .fd_obj          dd ?            ;+56
  127.   .bk_obj          dd ?            ;+60
  128.   .saved_esp       dd ?            ;+64
  129.   .io_map          rd 2            ;+68
  130.   .dbg_state       dd ?            ;+76
  131.   .cur_dir         dd ?            ;+80
  132.   .wait_timeout    dd ?            ;+84
  133.   .saved_esp0      dd ?            ;+88
  134.  
  135.                    db 36 dup(?)    ;+92
  136.  
  137.   .wnd_shape       dd ?            ;+128
  138.   .wnd_shape_scale dd ?            ;+132
  139.                    dd ?            ;+136
  140.   .mem_size        dd ?            ;+140
  141.   .saved_box       BOX
  142.   .ipc_start       dd ?
  143.   .ipc_size        dd ?
  144.   .event_mask      dd ?
  145.   .debugger_slot   dd ?
  146.                    dd ?
  147.   .keyboard_mode   db ?
  148.                    db 3   dup(?)
  149.   .dir_table       dd ?
  150.   .dbg_event_mem   dd ?
  151.   .dbg_regs:
  152.   .dbg_regs.dr0    dd ?
  153.   .dbg_regs.dr1    dd ?
  154.   .dbg_regs.dr2    dd ?
  155.   .dbg_regs.dr3    dd ?
  156.   .dbg_regs.dr7    dd ?
  157.   .wnd_caption     dd ?
  158.   .wnd_clientbox   BOX
  159. }
  160. virtual at 0
  161.  APPDATA APPDATA
  162. end virtual
  163.  
  164. ;// mike.dld, 2006-29-01 ]
  165.  
  166.  
  167. ; Core functions
  168. include "core/sync.inc"     ; macros for synhronization objects
  169. include "core/sys32.inc"    ; process management
  170. include "core/sched.inc"    ; process scheduling
  171. include "core/syscall.inc"  ; system call
  172. include "core/fpu.inc"      ; all fpu/sse support
  173. include "core/memory.inc"
  174. include "core/heap.inc"     ; kernel and app heap
  175. include "core/malloc.inc"   ; small kernel heap
  176. include "core/taskman.inc"
  177. include "core/dll.inc"
  178. include "core/peload.inc"   ;
  179. include "core/exports.inc"
  180. include "core/string.inc"
  181. include "core/v86.inc"      ; virtual-8086 manager
  182.  
  183. ; GUI stuff
  184. include "gui/window.inc"
  185. include "gui/event.inc"
  186. include "gui/font.inc"
  187. include "gui/button.inc"
  188.  
  189. ; shutdown
  190.  
  191. ; file system
  192.  
  193. include "fs/fs.inc"       ; syscall
  194. include "fs/fat32.inc"    ; read / write for fat32 filesystem
  195. include "fs/ntfs.inc"     ; read / write for ntfs filesystem
  196. include "fs/fat12.inc"    ; read / write for fat12 filesystem
  197. include "blkdev/rd.inc"   ; ramdisk read /write
  198. include "fs/fs_lfn.inc"    ; syscall, version 2
  199. include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
  200.  
  201. ; sound
  202.  
  203. include "sound/sb16.inc"     ; playback for Sound Blaster 16
  204. include "sound/playnote.inc" ; player Note for Speaker PC
  205.  
  206. ; display
  207.  
  208. include "video/vesa12.inc"   ; Vesa 1.2 functions
  209. include "video/vesa20.inc"   ; Vesa 2.0 functions
  210. include "video/vga.inc"      ; VGA 16 color functions
  211. include "video/cursors.inc"  ; cursors functions
  212.  
  213. ; Network Interface & TCPIP Stack
  214.  
  215. include "network/stack.inc"
  216.  
  217. ;include "drivers/uart.inc"
  218.  
  219.  
  220. ; Mouse pointer
  221.  
  222. include "gui/mouse.inc"
  223.  
  224. ; Window skinning
  225.  
  226. include "gui/skincode.inc"
  227.  
  228. ; Pci functions
  229.  
  230. include "bus/pci/pci32.inc"
  231.  
  232. ; Floppy drive controller
  233.  
  234. include "blkdev/fdc.inc"
  235. include "blkdev/flp_drv.inc"
  236.  
  237. ; IDE cache
  238. include "blkdev/ide_cache.inc"
  239.  
  240. ; HD drive controller
  241. include "blkdev/hd_drv.inc"
  242.  
  243. ; CD drive controller
  244.  
  245. include "blkdev/cdrom.inc"
  246. include "blkdev/cd_drv.inc"
  247.  
  248. ; Character devices
  249.  
  250. include "hid/keyboard.inc"
  251. include "hid/mousedrv.inc"
  252.  
  253. ; setting date,time,clock and alarm-clock
  254.  
  255. include "hid/set_dtc.inc"
  256.  
  257. ;% -include
  258.  
  259. ;parser file names
  260. include "fs/parse_fn.inc"
  261.  
  262. ; work with conf lib
  263. include "core/conf_lib.inc"
  264.  
  265. ; load external lib
  266. include "core/ext_lib.inc"
  267.  
  268. ; list of external functions
  269. include "imports.inc"
  270.