Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
1 ha 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                            ;;
3
;; KERNEL32.INC                                               ;;
4
;;                                                            ;;
5
;; Included 32 bit kernel files for MenuetOS                  ;;
6
;;                                                            ;;
7
;; This file is kept separate as it will be easier to         ;;
8
;; maintain and compile with an automated SETUP program       ;;
9
;; in the future.                                             ;;
10
;;                                                            ;;
11
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
 
13
; structure definition helper
14
macro struct name, [arg]
15
 {
16
  common
43 halyavin 17
   name@struct equ name
1 ha 18
   struc name arg {
19
 }
20
 
21
macro struct_helper name
22
 {
43 halyavin 23
  match xname,name
24
  \{
1 ha 25
   virtual at 0
43 halyavin 26
   xname xname
27
   sizeof.#xname = $ - xname
28
   name equ sizeof.#xname
1 ha 29
   end virtual
43 halyavin 30
  \}
1 ha 31
 }
32
 
33
ends fix } struct_helper name@struct
34
 
41 mikedld 35
;// mike.dld, 2006-29-01 [
1 ha 36
 
41 mikedld 37
; macros definition
38
macro diff16 title,l1,l2
39
{
40
  local s,d
41
  s = l2-l1
42
  display title,': 0x'
43
  repeat 8
44
    d = 48 + s shr ((8-%) shl 2) and $0F
45
    if d > 57
46
      d = d + 65-57-1
47
    end if
48
    display d
49
  end repeat
50
  display 13,10
51
}
52
 
53
struc db [a] { common . db a
54
  if ~used .
55
    display 'not used db: ',`.,13,10
56
  end if }
57
struc dw [a] { common . dw a
58
  if ~used .
59
    display 'not used dw: ',`.,13,10
60
  end if }
61
struc dd [a] { common . dd a
62
  if ~used .
63
    display 'not used dd: ',`.,13,10
64
  end if }
65
struc dp [a] { common . dp a
66
  if ~used .
67
    display 'not used dp: ',`.,13,10
68
  end if }
69
struc dq [a] { common . dq a
70
  if ~used .
71
    display 'not used dq: ',`.,13,10
72
  end if }
73
struc dt [a] { common . dt a
74
  if ~used .
75
    display 'not used dt: ',`.,13,10
76
  end if }
77
 
78
; constants definition
79
WSTATE_NORMAL    = 00000000b
80
WSTATE_MAXIMIZED = 00000001b
81
WSTATE_MINIMIZED = 00000010b
82
WSTATE_ROLLEDUP  = 00000100b
83
 
84
; structures definition
85
struc WDATA {
86
  .left        dd ?
87
  .top         dd ?
88
  .width       dd ?
89
  .height      dd ?
90
  .cl_workarea dd ?
91
  .cl_titlebar dd ?
92
  .cl_frames   dd ?
93
  .reserved    db ?
94
  .fl_wstate   db ?
95
  .fl_wdrawn   db ?
96
  .fl_redraw   db ?
97
}
98
virtual at 0
99
 WDATA WDATA
100
end virtual
101
label WDATA.fl_wstyle byte at 0x13 ; WDATA.cl_workarea+3
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
 
113
struc BOX {
114
  .left   dd ?
115
  .top    dd ?
116
  .width  dd ?
117
  .height dd ?
118
}
119
virtual at 0
120
 BOX BOX
121
end virtual
122
 
123
;// mike.dld, 2006-29-01 ]
124
 
125
 
1 ha 126
; Core functions
127
include "core/sync.inc"
128
include "core/sys32.inc"    ; process management
129
include "core/sched.inc"    ; process scheduling
130
include "core/syscall.inc"  ; system call
131
include "core/mem.inc"      ; high-level memory management
132
include "core/newproce.inc" ;new process management
133
include "core/physmem.inc"  ; access to physical memory for applications
134
include "core/sync.inc"     ; macros for synhronization objects
135
 
136
; GUI stuff
137
include "gui/window.inc"
138
include "gui/event.inc"
139
include "gui/font.inc"
140
include "gui/button.inc"
141
 
142
; shutdown
143
 
144
include "boot/shutdown.inc" ; shutdown or restart
145
 
146
; file system
147
 
148
include "fs/fs.inc"       ; syscall
149
include "fs/fat32.inc"    ; read / write for fat32 filesystem
150
include "fs/fat12.inc"    ; read / write for fat12 filesystem
70 mario79 151
include "blkdev/rd.inc"   ; ramdisk read /write
73 diamond 152
include "fs/fs_lfn.inc"    ; syscall, version 2
1 ha 153
 
154
; sound
155
 
156
include "sound/sb16.inc"     ; playback for Sound Blaster 16
157
include "sound/playnote.inc" ; player Note for Speaker PC
158
 
159
; display
160
 
161
include "video/vesa12.inc"   ; Vesa 1.2 functions
162
include "video/vesa20.inc"   ; Vesa 2.0 functions
163
include "video/vga.inc"      ; VGA 16 color functions
164
 
165
; Network Interface & TCPIP Stack
166
 
167
include "network/stack.inc"
168
 
169
; Mouse pointer
170
 
171
include "gui/mouse.inc"
172
 
173
; Window skinning
174
 
175
include "gui/skincode.inc"
176
 
177
; Pci functions
178
 
179
include "bus/pci/pci32.inc"
180
 
181
; Floppy drive controller
182
 
183
include "blkdev/fdc.inc"
184
include "blkdev/flp_drv.inc"
185
 
186
; CD drive controller
187
 
188
include "blkdev/cdrom.inc"
189
 
190
; Character devices
191
 
192
include "hid/keyboard.inc"
33 mario79 193
include "hid/mousedrv.inc"
1 ha 194
 
195
; setting date,time,clock and alarm-clock
196
 
197
include "hid/set_dtc.inc"
198
 
199
;% -include