Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
425 victor 1
$Revision: 431 $
431 serge 2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3
;;                                                              ;;
4
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;                                                              ;;
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
;;                                                              ;;
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 ?
425 victor 44
  .top	  dd ?
41 mikedld 45
  .right  dd ?
46
  .bottom dd ?
47
}
48
virtual at 0
49
 RECT RECT
50
end virtual
51
 
52
struc BOX {
53
  .left   dd ?
425 victor 54
  .top	  dd ?
41 mikedld 55
  .width  dd ?
56
  .height dd ?
57
}
58
virtual at 0
59
 BOX BOX
60
end virtual
61
 
114 mikedld 62
; constants definition
425 victor 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 ?
425 victor 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
 
425 victor 114
  .fpu_state	   dd ? 	   ;+16
115
  .ev_count	   dd ? 	   ;+20
116
  .fpu_handler	   dd ? 	   ;+24
117
  .sse_handler	   dd ? 	   ;+28
118
  .pl0_stack	   dd ? ;unused    ;+32
119
  .heap_base	   dd ? 	   ;+36
120
  .heap_top	   dd ? 	   ;+40
121
  .cursor	   dd ? 	   ;+44
122
  .fd_ev	   dd ? 	   ;+48
123
  .bk_ev	   dd ? 	   ;+52
124
  .fd_obj	   dd ? 	   ;+56
125
  .bk_obj	   dd ? 	   ;+60
164 serge 126
 
425 victor 127
		   db 64 dup(?)    ;+64
164 serge 128
 
425 victor 129
  .wnd_shape	   dd ? 	   ;+128
130
  .wnd_shape_scale dd ? 	   ;+132
131
		   dd ? 	   ;+136
132
  .mem_size	   dd ? 	   ;+140
114 mikedld 133
  .saved_box	   BOX
134
  .ipc_start	   dd ?
135
  .ipc_size	   dd ?
136
  .event_mask	   dd ?
137
  .debugger_slot   dd ?
115 poddubny 138
		   dd ?
114 mikedld 139
  .keyboard_mode   db ?
140
		   db 3   dup(?)
141
  .dir_table	   dd ?
142
  .dbg_event_mem   dd ?
143
  .dbg_regs:
144
  .dbg_regs.dr0    dd ?
145
  .dbg_regs.dr1    dd ?
146
  .dbg_regs.dr2    dd ?
147
  .dbg_regs.dr3    dd ?
148
  .dbg_regs.dr7    dd ?
149
  .wnd_caption	   dd ?
150
  .wnd_clientbox   BOX
151
}
152
virtual at 0
153
 APPDATA APPDATA
154
end virtual
155
 
41 mikedld 156
;// mike.dld, 2006-29-01 ]
157
 
158
 
1 ha 159
; Core functions
114 mikedld 160
include "core/sync.inc"     ; macros for synhronization objects
1 ha 161
include "core/sys32.inc"    ; process management
162
include "core/sched.inc"    ; process scheduling
163
include "core/syscall.inc"  ; system call
425 victor 164
include "core/fpu.inc"	    ; all fpu/sse support
164 serge 165
include "core/memory.inc"
214 serge 166
include "core/heap.inc"     ; kernel and app heap
276 serge 167
include "core/malloc.inc"   ; small kernel heap
164 serge 168
include "core/taskman.inc"
169
include "core/dll.inc"
170
include "core/exports.inc"
1 ha 171
 
172
; GUI stuff
173
include "gui/window.inc"
174
include "gui/event.inc"
175
include "gui/font.inc"
176
include "gui/button.inc"
177
 
178
; shutdown
179
 
180
include "boot/shutdown.inc" ; shutdown or restart
181
 
182
; file system
183
 
425 victor 184
include "fs/fs.inc"	  ; syscall
185
include "fs/fat32.inc"	  ; read / write for fat32 filesystem
186
include "fs/ntfs.inc"	  ; read / write for ntfs filesystem
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"
207
 
208
; Mouse pointer
209
 
210
include "gui/mouse.inc"
211
 
212
; Window skinning
213
 
214
include "gui/skincode.inc"
215
 
216
; Pci functions
217
 
218
include "bus/pci/pci32.inc"
219
 
220
; Floppy drive controller
221
 
222
include "blkdev/fdc.inc"
223
include "blkdev/flp_drv.inc"
224
 
160 diamond 225
; HD drive controller
226
include "blkdev/hd_drv.inc"
227
 
1 ha 228
; CD drive controller
229
 
230
include "blkdev/cdrom.inc"
87 mario79 231
include "blkdev/cd_drv.inc"
1 ha 232
 
233
; Character devices
234
 
235
include "hid/keyboard.inc"
33 mario79 236
include "hid/mousedrv.inc"
1 ha 237
 
238
; setting date,time,clock and alarm-clock
239
 
240
include "hid/set_dtc.inc"
241
 
242
;% -include