Subversion Repositories Kolibri OS

Rev

Rev 659 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
431 serge 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
593 mikedld 2
;;                                                              ;;
431 serge 3
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
593 mikedld 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
;;                                                              ;;
431 serge 14
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1 ha 15
 
593 mikedld 16
$Revision: 709 $
17
 
18
 
373 mikedld 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 }
41 mikedld 43
 
44
struc RECT {
45
  .left   dd ?
465 serge 46
  .top    dd ?
41 mikedld 47
  .right  dd ?
48
  .bottom dd ?
49
}
50
virtual at 0
51
 RECT RECT
52
end virtual
53
 
54
struc BOX {
55
  .left   dd ?
465 serge 56
  .top    dd ?
41 mikedld 57
  .width  dd ?
58
  .height dd ?
59
}
60
virtual at 0
61
 BOX BOX
62
end virtual
63
 
114 mikedld 64
; constants definition
465 serge 65
WSTATE_NORMAL    = 00000000b
114 mikedld 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
 
115 poddubny 76
struc TASKDATA
114 mikedld 77
{
78
  .event_mask  dd ?
79
  .pid	       dd ?
80
	       dw ?
115 poddubny 81
  .state       db ?
465 serge 82
               db ?
114 mikedld 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
115 poddubny 92
 TASKDATA TASKDATA
114 mikedld 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(?)
164 serge 115
 
465 serge 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
521 diamond 131
  .cur_dir         dd ?            ;+80
531 diamond 132
  .wait_timeout    dd ?            ;+84
709 diamond 133
  .saved_esp0      dd ?            ;+88
164 serge 134
 
709 diamond 135
                   db 36 dup(?)    ;+92
164 serge 136
 
465 serge 137
  .wnd_shape       dd ?            ;+128
138
  .wnd_shape_scale dd ?            ;+132
139
                   dd ?            ;+136
140
  .mem_size        dd ?            ;+140
114 mikedld 141
  .saved_box	   BOX
142
  .ipc_start	   dd ?
143
  .ipc_size	   dd ?
144
  .event_mask	   dd ?
145
  .debugger_slot   dd ?
115 poddubny 146
		   dd ?
114 mikedld 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
 
41 mikedld 164
;// mike.dld, 2006-29-01 ]
165
 
166
 
1 ha 167
; Core functions
114 mikedld 168
include "core/sync.inc"     ; macros for synhronization objects
1 ha 169
include "core/sys32.inc"    ; process management
170
include "core/sched.inc"    ; process scheduling
171
include "core/syscall.inc"  ; system call
465 serge 172
include "core/fpu.inc"      ; all fpu/sse support
164 serge 173
include "core/memory.inc"
214 serge 174
include "core/heap.inc"     ; kernel and app heap
276 serge 175
include "core/malloc.inc"   ; small kernel heap
164 serge 176
include "core/taskman.inc"
177
include "core/dll.inc"
659 serge 178
include "core/peload.inc"   ;
164 serge 179
include "core/exports.inc"
519 serge 180
include "core/string.inc"
709 diamond 181
include "core/v86.inc"      ; virtual-8086 manager
1 ha 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
 
465 serge 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
70 mario79 197
include "blkdev/rd.inc"   ; ramdisk read /write
73 diamond 198
include "fs/fs_lfn.inc"    ; syscall, version 2
87 mario79 199
include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
1 ha 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
221 serge 211
include "video/cursors.inc"  ; cursors functions
1 ha 212
 
213
; Network Interface & TCPIP Stack
214
 
215
include "network/stack.inc"
216
 
465 serge 217
;include "drivers/uart.inc"
218
 
219
 
1 ha 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
 
580 mario79 237
; IDE cache
238
include "blkdev/ide_cache.inc"
239
 
160 diamond 240
; HD drive controller
241
include "blkdev/hd_drv.inc"
242
 
1 ha 243
; CD drive controller
244
 
245
include "blkdev/cdrom.inc"
87 mario79 246
include "blkdev/cd_drv.inc"
1 ha 247
 
248
; Character devices
249
 
250
include "hid/keyboard.inc"
33 mario79 251
include "hid/mousedrv.inc"
1 ha 252
 
253
; setting date,time,clock and alarm-clock
254
 
255
include "hid/set_dtc.inc"
256
 
257
;% -include
488 spraid 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
530 mikedld 269
include "imports.inc"