Subversion Repositories Kolibri OS

Rev

Rev 87 | Rev 115 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87 Rev 114
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                            ;;
2
;;                                                            ;;
3
;; KERNEL32.INC                                               ;;
3
;; KERNEL32.INC                                               ;;
4
;;                                                            ;;
4
;;                                                            ;;
5
;; Included 32 bit kernel files for MenuetOS                  ;;
5
;; Included 32 bit kernel files for MenuetOS                  ;;
6
;;                                                            ;;
6
;;                                                            ;;
7
;; This file is kept separate as it will be easier to         ;;
7
;; This file is kept separate as it will be easier to         ;;
8
;; maintain and compile with an automated SETUP program       ;;
8
;; maintain and compile with an automated SETUP program       ;;
9
;; in the future.                                             ;;
9
;; in the future.                                             ;;
10
;;                                                            ;;
10
;;                                                            ;;
11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
 
12
 
13
; structure definition helper
13
; structure definition helper
14
macro struct name, [arg]
14
macro struct name, [arg]
15
 {
15
 {
16
  common
16
  common
17
   name@struct equ name
17
   name@struct equ name
18
   struc name arg {
18
   struc name arg {
19
 }
19
 }
20
 
20
 
21
macro struct_helper name
21
macro struct_helper name
22
 {
22
 {
23
  match xname,name
23
  match xname,name
24
  \{
24
  \{
25
   virtual at 0
25
   virtual at 0
26
   xname xname
26
   xname xname
27
   sizeof.#xname = $ - xname
27
   sizeof.#xname = $ - xname
28
   name equ sizeof.#xname
28
   name equ sizeof.#xname
29
   end virtual
29
   end virtual
30
  \}
30
  \}
31
 }
31
 }
32
 
32
 
33
ends fix } struct_helper name@struct
33
ends fix } struct_helper name@struct
34
 
34
 
35
;// mike.dld, 2006-29-01 [
35
;// mike.dld, 2006-29-01 [
36
 
36
 
37
; macros definition
37
; macros definition
38
macro diff16 title,l1,l2
38
macro diff16 title,l1,l2
39
{
39
{
40
  local s,d
40
  local s,d
41
  s = l2-l1
41
  s = l2-l1
42
  display title,': 0x'
42
  display title,': 0x'
43
  repeat 8
43
  repeat 8
44
    d = 48 + s shr ((8-%) shl 2) and $0F
44
    d = 48 + s shr ((8-%) shl 2) and $0F
45
    if d > 57
45
    if d > 57
46
      d = d + 65-57-1
46
      d = d + 65-57-1
47
    end if
47
    end if
48
    display d
48
    display d
49
  end repeat
49
  end repeat
50
  display 13,10
50
  display 13,10
51
}
51
}
52
 
52
 
53
struc db [a] { common . db a
53
struc db [a] { common . db a
54
  if ~used .
54
  if ~used .
55
    display 'not used db: ',`.,13,10
55
    display 'not used db: ',`.,13,10
56
  end if }
56
  end if }
57
struc dw [a] { common . dw a
57
struc dw [a] { common . dw a
58
  if ~used .
58
  if ~used .
59
    display 'not used dw: ',`.,13,10
59
    display 'not used dw: ',`.,13,10
60
  end if }
60
  end if }
61
struc dd [a] { common . dd a
61
struc dd [a] { common . dd a
62
  if ~used .
62
  if ~used .
63
    display 'not used dd: ',`.,13,10
63
    display 'not used dd: ',`.,13,10
64
  end if }
64
  end if }
65
struc dp [a] { common . dp a
65
struc dp [a] { common . dp a
66
  if ~used .
66
  if ~used .
67
    display 'not used dp: ',`.,13,10
67
    display 'not used dp: ',`.,13,10
68
  end if }
68
  end if }
69
struc dq [a] { common . dq a
69
struc dq [a] { common . dq a
70
  if ~used .
70
  if ~used .
71
    display 'not used dq: ',`.,13,10
71
    display 'not used dq: ',`.,13,10
72
  end if }
72
  end if }
73
struc dt [a] { common . dt a
73
struc dt [a] { common . dt a
74
  if ~used .
74
  if ~used .
75
    display 'not used dt: ',`.,13,10
75
    display 'not used dt: ',`.,13,10
76
  end if }
76
  end if }
-
 
77
 
-
 
78
struc RECT {
-
 
79
  .left   dd ?
-
 
80
  .top    dd ?
-
 
81
  .right  dd ?
-
 
82
  .bottom dd ?
-
 
83
}
-
 
84
virtual at 0
-
 
85
 RECT RECT
-
 
86
end virtual
-
 
87
 
-
 
88
struc BOX {
-
 
89
  .left   dd ?
-
 
90
  .top    dd ?
-
 
91
  .width  dd ?
-
 
92
  .height dd ?
-
 
93
}
-
 
94
virtual at 0
-
 
95
 BOX BOX
-
 
96
end virtual
77
 
97
 
78
; constants definition
98
; constants definition
79
WSTATE_NORMAL    = 00000000b
99
WSTATE_NORMAL	 = 00000000b
80
WSTATE_MAXIMIZED = 00000001b
100
WSTATE_MAXIMIZED = 00000001b
81
WSTATE_MINIMIZED = 00000010b
101
WSTATE_MINIMIZED = 00000010b
82
WSTATE_ROLLEDUP  = 00000100b
102
WSTATE_ROLLEDUP  = 00000100b
-
 
103
 
-
 
104
WSTATE_REDRAW	 = 00000001b
-
 
105
WSTATE_WNDDRAWN  = 00000010b
-
 
106
 
-
 
107
WSTYLE_HASCAPTION     = 00010000b
-
 
108
WSTYLE_CLIENTRELATIVE = 00100000b
-
 
109
 
-
 
110
struc TASKLIST
-
 
111
{
-
 
112
  .event_mask  dd ?
-
 
113
  .pid	       dd ?
-
 
114
	       dw ?
-
 
115
  .state       dw ?
-
 
116
	       dw ?
-
 
117
  .wnd_number  db ?
-
 
118
	       db ?
-
 
119
  .mem_start   dd ?
-
 
120
  .counter_sum dd ?
-
 
121
  .counter_add dd ?
-
 
122
  .cpu_usage   dd ?
-
 
123
}
-
 
124
virtual at 0
-
 
125
 TASKLIST TASKLIST
-
 
126
end virtual
83
 
127
 
84
; structures definition
128
; structures definition
85
struc WDATA {
-
 
86
  .left        dd ?
129
struc WDATA {
87
  .top         dd ?
-
 
88
  .width       dd ?
-
 
89
  .height      dd ?
130
  .box		   BOX
90
  .cl_workarea dd ?
131
  .cl_workarea	   dd ?
91
  .cl_titlebar dd ?
132
  .cl_titlebar	   dd ?
92
  .cl_frames   dd ?
133
  .cl_frames	   dd ?
93
  .reserved    db ?
134
  .reserved	   db ?
94
  .fl_wstate   db ?
135
  .fl_wstate	   db ?
95
  .fl_wdrawn   db ?
136
  .fl_wdrawn	   db ?
96
  .fl_redraw   db ?
137
  .fl_redraw	   db ?
97
}
138
}
98
virtual at 0
139
virtual at 0
99
 WDATA WDATA
140
 WDATA WDATA
100
end virtual
141
end virtual
101
label WDATA.fl_wstyle byte at 0x13 ; WDATA.cl_workarea+3
142
label WDATA.fl_wstyle byte at 0x13
102
 
-
 
103
struc RECT {
-
 
104
  .left   dd ?
-
 
105
  .top    dd ?
-
 
106
  .right  dd ?
-
 
107
  .bottom dd ?
-
 
108
}
-
 
109
virtual at 0
-
 
110
 RECT RECT
-
 
111
end virtual
-
 
112
 
143
 
-
 
144
struc APPDATA
-
 
145
{
-
 
146
  .app_name	   db 11  dup(?)
-
 
147
		   db 5   dup(?)
-
 
148
  .fpu_save_area   db 108 dup(?)
-
 
149
		   db 3   dup(?)
-
 
150
  .is_fpu_saved    db ?
-
 
151
  .wnd_shape	   dd ?
113
struc BOX {
152
  .wnd_shape_scale dd ?
-
 
153
  .gdt		   dd ?
-
 
154
  .mem_size	   dd ?
114
  .left   dd ?
155
  .saved_box	   BOX
115
  .top    dd ?
156
  .ipc_start	   dd ?
-
 
157
  .ipc_size	   dd ?
-
 
158
  .event_mask	   dd ?
-
 
159
  .debugger_slot   dd ?
-
 
160
  .int40_handler   dd ?
-
 
161
  .keyboard_mode   db ?
116
  .width  dd ?
162
		   db 3   dup(?)
-
 
163
  .dir_table	   dd ?
-
 
164
  .dbg_event_mem   dd ?
-
 
165
  .dbg_regs:
-
 
166
  .dbg_regs.dr0    dd ?
-
 
167
  .dbg_regs.dr1    dd ?
-
 
168
  .dbg_regs.dr2    dd ?
-
 
169
  .dbg_regs.dr3    dd ?
-
 
170
  .dbg_regs.dr7    dd ?
-
 
171
  .wnd_caption	   dd ?
117
  .height dd ?
172
  .wnd_clientbox   BOX
118
}
173
}
119
virtual at 0
174
virtual at 0
120
 BOX BOX
175
 APPDATA APPDATA
121
end virtual
176
end virtual
122
 
177
 
123
;// mike.dld, 2006-29-01 ]
178
;// mike.dld, 2006-29-01 ]
124
 
179
 
125
 
180
 
126
; Core functions
181
; Core functions
127
include "core/sync.inc"
182
include "core/sync.inc"     ; macros for synhronization objects
128
include "core/sys32.inc"    ; process management
183
include "core/sys32.inc"    ; process management
129
include "core/sched.inc"    ; process scheduling
184
include "core/sched.inc"    ; process scheduling
130
include "core/syscall.inc"  ; system call
185
include "core/syscall.inc"  ; system call
131
include "core/mem.inc"      ; high-level memory management
186
include "core/mem.inc"      ; high-level memory management
132
include "core/newproce.inc" ;new process management
187
include "core/newproce.inc" ;new process management
133
include "core/physmem.inc"  ; access to physical memory for applications
188
include "core/physmem.inc"  ; access to physical memory for applications
134
include "core/sync.inc"     ; macros for synhronization objects
-
 
135
 
189
 
136
; GUI stuff
190
; GUI stuff
137
include "gui/window.inc"
191
include "gui/window.inc"
138
include "gui/event.inc"
192
include "gui/event.inc"
139
include "gui/font.inc"
193
include "gui/font.inc"
140
include "gui/button.inc"
194
include "gui/button.inc"
141
 
195
 
142
; shutdown
196
; shutdown
143
 
197
 
144
include "boot/shutdown.inc" ; shutdown or restart
198
include "boot/shutdown.inc" ; shutdown or restart
145
 
199
 
146
; file system
200
; file system
147
 
201
 
148
include "fs/fs.inc"       ; syscall
202
include "fs/fs.inc"       ; syscall
149
include "fs/fat32.inc"    ; read / write for fat32 filesystem
203
include "fs/fat32.inc"    ; read / write for fat32 filesystem
150
include "fs/fat12.inc"    ; read / write for fat12 filesystem
204
include "fs/fat12.inc"    ; read / write for fat12 filesystem
151
include "blkdev/rd.inc"   ; ramdisk read /write
205
include "blkdev/rd.inc"   ; ramdisk read /write
152
include "fs/fs_lfn.inc"    ; syscall, version 2
206
include "fs/fs_lfn.inc"    ; syscall, version 2
153
include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
207
include "fs/iso9660.inc"  ; read for iso9660 filesystem CD
154
 
208
 
155
; sound
209
; sound
156
 
210
 
157
include "sound/sb16.inc"     ; playback for Sound Blaster 16
211
include "sound/sb16.inc"     ; playback for Sound Blaster 16
158
include "sound/playnote.inc" ; player Note for Speaker PC
212
include "sound/playnote.inc" ; player Note for Speaker PC
159
 
213
 
160
; display
214
; display
161
 
215
 
162
include "video/vesa12.inc"   ; Vesa 1.2 functions
216
include "video/vesa12.inc"   ; Vesa 1.2 functions
163
include "video/vesa20.inc"   ; Vesa 2.0 functions
217
include "video/vesa20.inc"   ; Vesa 2.0 functions
164
include "video/vga.inc"      ; VGA 16 color functions
218
include "video/vga.inc"      ; VGA 16 color functions
165
 
219
 
166
; Network Interface & TCPIP Stack
220
; Network Interface & TCPIP Stack
167
 
221
 
168
include "network/stack.inc"
222
include "network/stack.inc"
169
 
223
 
170
; Mouse pointer
224
; Mouse pointer
171
 
225
 
172
include "gui/mouse.inc"
226
include "gui/mouse.inc"
173
 
227
 
174
; Window skinning
228
; Window skinning
175
 
229
 
176
include "gui/skincode.inc"
230
include "gui/skincode.inc"
177
 
231
 
178
; Pci functions
232
; Pci functions
179
 
233
 
180
include "bus/pci/pci32.inc"
234
include "bus/pci/pci32.inc"
181
 
235
 
182
; Floppy drive controller
236
; Floppy drive controller
183
 
237
 
184
include "blkdev/fdc.inc"
238
include "blkdev/fdc.inc"
185
include "blkdev/flp_drv.inc"
239
include "blkdev/flp_drv.inc"
186
 
240
 
187
; CD drive controller
241
; CD drive controller
188
 
242
 
189
include "blkdev/cdrom.inc"
243
include "blkdev/cdrom.inc"
190
include "blkdev/cd_drv.inc"
244
include "blkdev/cd_drv.inc"
191
 
245
 
192
; Character devices
246
; Character devices
193
 
247
 
194
include "hid/keyboard.inc"
248
include "hid/keyboard.inc"
195
include "hid/mousedrv.inc"
249
include "hid/mousedrv.inc"
196
 
250
 
197
; setting date,time,clock and alarm-clock
251
; setting date,time,clock and alarm-clock
198
 
252
 
199
include "hid/set_dtc.inc"
253
include "hid/set_dtc.inc"
200
 
254
 
201
;% -include
255
;% -include