Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
2229 Serge 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2465 Serge 3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
2229 Serge 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: 2465 $
17
 
2434 Serge 18
struct  POINT
19
        x       dd ?
20
        y       dd ?
21
ends
2229 Serge 22
 
2434 Serge 23
struct  RECT
24
        left    dd ?
25
        top     dd ?
26
        right   dd ?
27
        bottom  dd ?
28
ends
2229 Serge 29
 
2434 Serge 30
struct  BOX
31
        left    dd ?
32
        top     dd ?
33
        width   dd ?
34
        height  dd ?
35
ends
2229 Serge 36
 
2434 Serge 37
struct  DISPMODE
38
        width   dw ?
39
        height  dw ?
40
        bpp     dw ?
41
        freq    dw ?
42
ends
2229 Serge 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
 
2434 Serge 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
2229 Serge 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
; structures definition
2434 Serge 80
struct  WDATA
81
        box             BOX
82
        cl_workarea     dd ?
83
        cl_titlebar     dd ?
84
        cl_frames       dd ?
85
        reserved        db ?
86
        fl_wstate       db ?
87
        fl_wdrawn       db ?
88
        fl_redraw       db ?
89
ends
90
 
2229 Serge 91
label WDATA.fl_wstyle byte at WDATA.cl_workarea + 3
92
 
2434 Serge 93
struct  DBG_REGS
94
        dr0             dd ?
95
        dr1             dd ?
96
        dr2             dd ?
97
        dr3             dd ?
98
        dr7             dd ?
99
ends
2229 Serge 100
 
2434 Serge 101
struct  APPDATA
102
        app_name        rb 11
103
                        rb 5
2229 Serge 104
 
2434 Serge 105
        fpu_state       dd ?            ;+16
106
        ev_count_       dd ? ;unused    ;+20
107
        exc_handler     dd ?            ;+24
108
        except_mask     dd ?            ;+28
109
        pl0_stack       dd ?            ;+32
110
        heap_base       dd ?            ;+36
111
        heap_top        dd ?            ;+40
112
        cursor          dd ?            ;+44
113
        fd_ev           dd ?            ;+48
114
        bk_ev           dd ?            ;+52
115
        fd_obj          dd ?            ;+56
116
        bk_obj          dd ?            ;+60
117
        saved_esp       dd ?            ;+64
118
        io_map          rd 2            ;+68
119
        dbg_state       dd ?            ;+76
120
        cur_dir         dd ?            ;+80
121
        wait_timeout    dd ?            ;+84
122
        saved_esp0      dd ?            ;+88
123
        wait_begin      dd ?            ;+92   +++
124
        wait_test       dd ?            ;+96   +++
125
        wait_param      dd ?            ;+100  +++
126
        tls_base        dd ?            ;+104
127
        dlls_list_ptr   dd ?            ;+108
128
        event_filter    dd ?            ;+112
129
                        rb 12           ;+116
2229 Serge 130
 
2434 Serge 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
                        rb 3
143
        dir_table       dd ?
144
        dbg_event_mem   dd ?
145
        dbg_regs        DBG_REGS
146
        wnd_caption     dd ?
147
        wnd_clientbox   BOX
2229 Serge 148
 
2434 Serge 149
ends
2229 Serge 150
 
151
 
152
; Core functions
153
include "core/sync.inc"     ; macros for synhronization objects
154
include "core/sys32.inc"    ; process management
155
include "core/sched.inc"    ; process scheduling
156
include "core/syscall.inc"  ; system call
157
include "core/fpu.inc"      ; all fpu/sse support
158
include "core/memory.inc"
159
include "core/heap.inc"     ; kernel and app heap
160
include "core/malloc.inc"   ; small kernel heap
161
include "core/taskman.inc"
162
include "core/dll.inc"
163
include "core/peload.inc"   ;
164
include "core/exports.inc"
165
include "core/string.inc"
166
include "core/v86.inc"      ; virtual-8086 manager
167
include "core/irq.inc"      ; irq handling functions
168
include "core/apic.inc"     ; Interrupt Controller functions
169
include "core/timers.inc"
170
 
171
; GUI stuff
172
include "gui/window.inc"
173
include "gui/event.inc"
174
include "gui/font.inc"
175
include "gui/button.inc"
176
 
177
; shutdown
178
 
179
; file system
180
 
181
include "blkdev/disk.inc" ; support for plug-n-play disks
182
include "blkdev/disk_cache.inc" ; caching for plug-n-play disks
183
include "fs/fs.inc"       ; syscall
184
include "fs/fat32.inc"    ; read / write for fat32 filesystem
185
include "fs/ntfs.inc"     ; read / write for ntfs filesystem
186
include "fs/fat12.inc"    ; read / write for fat12 filesystem
187
include "blkdev/rd.inc"   ; ramdisk read /write
188
include "fs/fs_lfn.inc"    ; syscall, version 2
189
include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
190
include "fs/ext2.inc"     ; read / write for ext2 filesystem
191
 
192
; sound
193
 
194
include "sound/playnote.inc" ; player Note for Speaker PC
195
 
196
; display
197
 
2434 Serge 198
;include "video/vesa12.inc"   ; Vesa 1.2 functions
2229 Serge 199
include "video/vesa20.inc"   ; Vesa 2.0 functions
200
include "video/blitter.inc"  ;
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
; IDE cache
229
include "blkdev/ide_cache.inc"
230
 
231
; HD drive controller
232
include "blkdev/hd_drv.inc"
233
 
234
; CD drive controller
235
 
236
include "blkdev/cdrom.inc"
237
include "blkdev/cd_drv.inc"
238
 
239
; Character devices
240
 
241
include "hid/keyboard.inc"
242
include "hid/mousedrv.inc"
243
 
244
; setting date,time,clock and alarm-clock
245
 
246
include "hid/set_dtc.inc"
247
 
248
;% -include
249
 
250
;parser file names
251
include "fs/parse_fn.inc"
252
 
253
; work with conf lib
254
include "core/conf_lib.inc"
255
 
256
; load external lib
257
include "core/ext_lib.inc"
258
 
259
; list of external functions
260
include "imports.inc"