Rev 444 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
444 | serge | 1 | $Revision: 431 $ |
2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
1 | ha | 3 | ;; ;; |
444 | serge | 4 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
5 | ;; Distributed under terms of the GNU General Public License ;; |
||
6 | ;; ;; |
||
1 | ha | 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 | ;; ;; |
||
444 | serge | 15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ha | 16 | |
373 | mikedld | 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 | mikedld | 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 | |||
114 | mikedld | 62 | ; constants definition |
164 | serge | 63 | WSTATE_NORMAL = 00000000b |
114 | mikedld | 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 | |||
115 | poddubny | 74 | struc TASKDATA |
114 | mikedld | 75 | { |
76 | .event_mask dd ? |
||
77 | .pid dd ? |
||
78 | dw ? |
||
115 | poddubny | 79 | .state db ? |
80 | db ? |
||
114 | mikedld | 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 |
||
115 | poddubny | 90 | TASKDATA TASKDATA |
114 | mikedld | 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(?) |
||
164 | serge | 113 | |
114 | .fpu_state dd ? ;+16 |
||
227 | serge | 115 | .ev_count dd ? ;+20 |
164 | serge | 116 | .fpu_handler dd ? ;+24 |
117 | .sse_handler dd ? ;+28 |
||
357 | serge | 118 | .pl0_stack dd ? ;unused ;+32 |
172 | serge | 119 | .heap_base dd ? ;+36 |
120 | .heap_top dd ? ;+40 |
||
221 | serge | 121 | .cursor dd ? ;+44 |
354 | serge | 122 | .fd_ev dd ? ;+48 |
123 | .bk_ev dd ? ;+52 |
||
281 | serge | 124 | .fd_obj dd ? ;+56 |
125 | .bk_obj dd ? ;+60 |
||
420 | serge | 126 | .saved_esp dd ? ;+64 |
430 | serge | 127 | .io_map rd 2 ;+68 |
164 | serge | 128 | |
430 | serge | 129 | db 52 dup(?) ;+76 |
164 | serge | 130 | |
131 | .wnd_shape dd ? ;+128 |
||
227 | serge | 132 | .wnd_shape_scale dd ? ;+132 |
133 | dd ? ;+136 |
||
134 | .mem_size dd ? ;+140 |
||
114 | mikedld | 135 | .saved_box BOX |
136 | .ipc_start dd ? |
||
137 | .ipc_size dd ? |
||
138 | .event_mask dd ? |
||
139 | .debugger_slot dd ? |
||
115 | poddubny | 140 | dd ? |
114 | mikedld | 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 | |||
41 | mikedld | 158 | ;// mike.dld, 2006-29-01 ] |
159 | |||
160 | |||
1 | ha | 161 | ; Core functions |
114 | mikedld | 162 | include "core/sync.inc" ; macros for synhronization objects |
1 | ha | 163 | include "core/sys32.inc" ; process management |
164 | include "core/sched.inc" ; process scheduling |
||
165 | include "core/syscall.inc" ; system call |
||
214 | serge | 166 | include "core/fpu.inc" ; all fpu/sse support |
164 | serge | 167 | include "core/memory.inc" |
214 | serge | 168 | include "core/heap.inc" ; kernel and app heap |
276 | serge | 169 | include "core/malloc.inc" ; small kernel heap |
164 | serge | 170 | include "core/taskman.inc" |
171 | include "core/dll.inc" |
||
172 | include "core/exports.inc" |
||
1 | ha | 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 |
||
256 | diamond | 186 | include "fs/ntfs.inc" ; read / write for ntfs filesystem |
1 | ha | 187 | include "fs/fat12.inc" ; read / write for fat12 filesystem |
70 | mario79 | 188 | include "blkdev/rd.inc" ; ramdisk read /write |
73 | diamond | 189 | include "fs/fs_lfn.inc" ; syscall, version 2 |
87 | mario79 | 190 | include "fs/iso9660.inc" ; read for iso9660 filesystem CD |
1 | ha | 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 |
||
221 | serge | 202 | include "video/cursors.inc" ; cursors functions |
1 | ha | 203 | |
204 | ; Network Interface & TCPIP Stack |
||
205 | |||
206 | include "network/stack.inc" |
||
413 | serge | 207 | |
453 | serge | 208 | ;include "drivers/uart.inc" |
1 | ha | 209 | |
413 | serge | 210 | |
1 | ha | 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 | |||
160 | diamond | 228 | ; HD drive controller |
229 | include "blkdev/hd_drv.inc" |
||
230 | |||
1 | ha | 231 | ; CD drive controller |
232 | |||
233 | include "blkdev/cdrom.inc" |
||
87 | mario79 | 234 | include "blkdev/cd_drv.inc" |
1 | ha | 235 | |
236 | ; Character devices |
||
237 | |||
238 | include "hid/keyboard.inc" |
||
33 | mario79 | 239 | include "hid/mousedrv.inc" |
1 | ha | 240 | |
241 | ; setting date,time,clock and alarm-clock |
||
242 | |||
243 | include "hid/set_dtc.inc" |
||
244 | |||
245 | ;% -include |