Subversion Repositories Kolibri OS

Rev

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

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2015. 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: 5865 $
  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. ZPOS_DESKTOP            = -2
  80. ZPOS_ALWAYS_BACK        = -1
  81. ZPOS_NORMAL             = 0
  82. ZPOS_ALWAYS_TOP         = 1     ;ZPOS_ALWAYS_TOP is always last and has max number!
  83. ; structures definition
  84. struct  WDATA
  85.         box             BOX
  86.         cl_workarea     dd ?
  87.         cl_titlebar     dd ?
  88.         cl_frames       dd ?
  89.         z_modif         db ?
  90.         fl_wstate       db ?
  91.         fl_wdrawn       db ?
  92.         fl_redraw       db ?
  93. ends
  94.  
  95. label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
  96.  
  97. struct  DBG_REGS
  98.         dr0             dd ?
  99.         dr1             dd ?
  100.         dr2             dd ?
  101.         dr3             dd ?
  102.         dr7             dd ?
  103. ends
  104.  
  105. struct  PROC
  106.         list            LHEAD
  107.         thr_list        LHEAD
  108.         heap_lock       MUTEX
  109.         heap_base       rd 1
  110.         heap_top        rd 1
  111.         mem_used        rd 1
  112.         dlls_list_ptr   rd 1
  113.         pdt_0_phys      rd 1
  114.         pdt_1_phys      rd 1
  115.         io_map_0        rd 1
  116.         io_map_1        rd 1
  117.  
  118.         ht_lock         rd 1
  119.         ht_free         rd 1            ;htab[0] stdin
  120.         ht_next         rd 1            ;htab[1] stdout
  121.         htab            rd (4096-$)/4   ;htab[2] stderr
  122.         pdt_0           rd 1024
  123. ends
  124.  
  125. struct  APPDATA
  126.         app_name        rb 11
  127.                         rb 5
  128.  
  129.         list            LHEAD           ;+16
  130.         process         dd ?            ;+24
  131.         fpu_state       dd ?            ;+28
  132.         exc_handler     dd ?            ;+32
  133.         except_mask     dd ?            ;+36
  134.         pl0_stack       dd ?            ;+40
  135.         cursor          dd ?            ;+44
  136.         fd_ev           dd ?            ;+48
  137.         bk_ev           dd ?            ;+52
  138.         fd_obj          dd ?            ;+56
  139.         bk_obj          dd ?            ;+60
  140.         saved_esp       dd ?            ;+64
  141.         io_map          rd 2            ;+68
  142.         dbg_state       dd ?            ;+76
  143.         cur_dir         dd ?            ;+80
  144.         wait_timeout    dd ?            ;+84
  145.         saved_esp0      dd ?            ;+88
  146.         wait_begin      dd ?            ;+92   +++
  147.         wait_test       dd ?            ;+96   +++
  148.         wait_param      dd ?            ;+100  +++
  149.         tls_base        dd ?            ;+104
  150.                         dd ?            ;+108
  151.         event_filter    dd ?            ;+112
  152.         draw_bgr_x      dd ?            ;+116
  153.         draw_bgr_y      dd ?            ;+120
  154.                         dd ?            ;+124
  155.  
  156.         wnd_shape       dd ?            ;+128
  157.         wnd_shape_scale dd ?            ;+132
  158.                         dd ?            ;+136
  159.                         dd ?            ;+140
  160.         saved_box       BOX             ;+144
  161.         ipc_start       dd ?            ;+160
  162.         ipc_size        dd ?            ;+164
  163.         event_mask      dd ?            ;+168
  164.         debugger_slot   dd ?            ;+172
  165.         terminate_protection dd ?       ;+176
  166.         keyboard_mode   db ?            ;+180
  167.                         rb 3
  168.                         dd ?            ;+184
  169.         dbg_event_mem   dd ?            ;+188
  170.         dbg_regs        DBG_REGS        ;+192
  171.         wnd_caption     dd ?            ;+212
  172.         wnd_clientbox   BOX             ;+216
  173.         priority        dd ?            ;+232
  174.         in_schedule     LHEAD           ;+236
  175.  
  176. ends
  177.  
  178. struct  IDE_DATA
  179.         ProgrammingInterface dd ?
  180.         Interrupt            dw ?
  181.         RegsBaseAddres       dw ?
  182.         BAR0_val             dw ?
  183.         BAR1_val             dw ?
  184.         BAR2_val             dw ?
  185.         BAR3_val             dw ?
  186.         dma_hdd_channel_1    db ?
  187.         dma_hdd_channel_2    db ?
  188. ends
  189.  
  190. struct  IDE_CACHE
  191.         pointer              dd ?
  192.         size                 dd ?   ; not use
  193.         data_pointer         dd ?
  194.         system_data_size     dd ?   ; not use
  195.         appl_data_size       dd ?   ; not use
  196.         system_data          dd ?
  197.         appl_data            dd ?
  198.         system_sad_size      dd ?
  199.         appl_sad_size        dd ?
  200.         search_start         dd ?
  201.         appl_search_start    dd ?
  202. ends
  203.  
  204. struct  IDE_DEVICE
  205.         UDMA_possible_modes  db ?
  206.         UDMA_set_mode        db ?
  207. ends
  208.  
  209. ; Core functions
  210. include "core/sync.inc"     ; macros for synhronization objects
  211. include "core/sys32.inc"    ; process management
  212. include "core/sched.inc"    ; process scheduling
  213. include "core/syscall.inc"  ; system call
  214. include "core/fpu.inc"      ; all fpu/sse support
  215. include "core/memory.inc"
  216. include "core/mtrr.inc"
  217. include "core/heap.inc"     ; kernel and app heap
  218. include "core/malloc.inc"   ; small kernel heap
  219. include "core/taskman.inc"
  220. include "core/dll.inc"
  221. include "core/peload.inc"   ;
  222. include "core/exports.inc"
  223. include "core/string.inc"
  224. include "core/v86.inc"      ; virtual-8086 manager
  225. include "core/irq.inc"      ; irq handling functions
  226. include "core/apic.inc"     ; Interrupt Controller functions
  227. include "core/timers.inc"
  228. include "core/clipboard.inc" ; custom clipboard
  229.  
  230. ; GUI stuff
  231. include "gui/window.inc"
  232. include "gui/event.inc"
  233. include "gui/font.inc"
  234. include "gui/button.inc"
  235.  
  236. ; shutdown
  237.  
  238. ; file system
  239.  
  240. include "blkdev/disk.inc" ; support for plug-n-play disks
  241. include "blkdev/disk_cache.inc" ; caching for plug-n-play disks
  242. include "blkdev/rd.inc"   ; ramdisk read /write
  243. include "fs/fat.inc"      ; read / write for fat filesystem
  244. include "fs/ntfs.inc"     ; read / write for ntfs filesystem
  245. include "fs/fs_lfn.inc"    ; syscall, version 2
  246. include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
  247. include "fs/ext2/ext2.asm"     ; read / write for ext2 filesystem
  248. include "fs/xfs.asm"      ; read / write for xfs filesystem
  249.  
  250. ; sound
  251.  
  252. include "sound/playnote.inc" ; player Note for Speaker PC
  253.  
  254. ; display
  255.  
  256. ;include "video/vesa12.inc"   ; Vesa 1.2 functions
  257. include "video/vesa20.inc"   ; Vesa 2.0 functions
  258. include "video/blitter.inc"  ;
  259. include "video/vga.inc"      ; VGA 16 color functions
  260. include "video/cursors.inc"  ; cursors functions
  261.  
  262. ; Network Interface & TCPIP Stack
  263.  
  264. include "network/stack.inc"
  265.  
  266. ;include "drivers/uart.inc"
  267.  
  268.  
  269. ; Mouse pointer
  270.  
  271. include "gui/mouse.inc"
  272.  
  273. ; Window skinning
  274.  
  275. include "gui/skincode.inc"
  276.  
  277. ; Pci functions
  278.  
  279. include "bus/pci/pci32.inc"
  280.  
  281. ; USB functions
  282. include "bus/usb/init.inc"
  283.  
  284. ; Floppy drive controller
  285.  
  286. include "blkdev/fdc.inc"
  287. include "blkdev/flp_drv.inc"
  288.  
  289. ; IDE cache
  290. include "blkdev/ide_cache.inc"
  291.  
  292. ; HD drive controller
  293. include "blkdev/hd_drv.inc"
  294. ; Access through BIOS
  295. include "blkdev/bd_drv.inc"
  296.  
  297. ; CD drive controller
  298.  
  299. include "blkdev/cd_drv.inc"
  300.  
  301. ; Character devices
  302.  
  303. include "hid/keyboard.inc"
  304. include "hid/mousedrv.inc"
  305.  
  306. ; setting date,time,clock and alarm-clock
  307.  
  308. include "hid/set_dtc.inc"
  309.  
  310. ;% -include
  311.  
  312. ;parser file names
  313. include "fs/parse_fn.inc"
  314.  
  315. ; work with conf lib
  316. include "core/conf_lib.inc"
  317.  
  318. ; load external lib
  319. include "core/ext_lib.inc"
  320.  
  321. ; list of external functions
  322. include "imports.inc"
  323.