;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; KERNEL32.INC ;; ;; ;; ;; Included 32 bit kernel files for MenuetOS ;; ;; ;; ;; This file is kept separate as it will be easier to ;; ;; maintain and compile with an automated SETUP program ;; ;; in the future. ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; structure definition helper macro struct name, [arg] { common name@struct equ name struc name arg { } macro struct_helper name { match xname,name \{ virtual at 0 xname xname sizeof.#xname = $ - xname name equ sizeof.#xname end virtual \} } ends fix } struct_helper name@struct ;// mike.dld, 2006-29-01 [ ; macros definition macro diff16 title,l1,l2 { local s,d s = l2-l1 display title,': 0x' repeat 8 d = 48 + s shr ((8-%) shl 2) and $0F if d > 57 d = d + 65-57-1 end if display d end repeat display 13,10 } ;struc db [a] { common . db a ; if ~used . ; display 'not used db: ',`.,13,10 ; end if } ;struc dw [a] { common . dw a ; if ~used . ; display 'not used dw: ',`.,13,10 ; end if } ;struc dd [a] { common . dd a ; if ~used . ; display 'not used dd: ',`.,13,10 ; end if } ;struc dp [a] { common . dp a ; if ~used . ; display 'not used dp: ',`.,13,10 ; end if } ;struc dq [a] { common . dq a ; if ~used . ; display 'not used dq: ',`.,13,10 ; end if } ;struc dt [a] { common . dt a ; if ~used . ; display 'not used dt: ',`.,13,10 ; end if } struc RECT { .left dd ? .top dd ? .right dd ? .bottom dd ? } virtual at 0 RECT RECT end virtual struc BOX { .left dd ? .top dd ? .width dd ? .height dd ? } virtual at 0 BOX BOX end virtual ; constants definition WSTATE_NORMAL = 00000000b WSTATE_MAXIMIZED = 00000001b WSTATE_MINIMIZED = 00000010b WSTATE_ROLLEDUP = 00000100b WSTATE_REDRAW = 00000001b WSTATE_WNDDRAWN = 00000010b WSTYLE_HASCAPTION = 00010000b WSTYLE_CLIENTRELATIVE = 00100000b struc TASKDATA { .event_mask dd ? .pid dd ? dw ? .state db ? db ? dw ? .wnd_number db ? db ? .mem_start dd ? .counter_sum dd ? .counter_add dd ? .cpu_usage dd ? } virtual at 0 TASKDATA TASKDATA end virtual ; structures definition struc WDATA { .box BOX .cl_workarea dd ? .cl_titlebar dd ? .cl_frames dd ? .reserved db ? .fl_wstate db ? .fl_wdrawn db ? .fl_redraw db ? } virtual at 0 WDATA WDATA end virtual label WDATA.fl_wstyle byte at 0x13 struc APPDATA { .app_name db 11 dup(?) db 5 dup(?) .fpu_save_area: db 108 dup(?) db 3 dup(?) .is_fpu_saved db ? .wnd_shape dd ? .wnd_shape_scale dd ? dd ? .mem_size dd ? .saved_box BOX .ipc_start dd ? .ipc_size dd ? .event_mask dd ? .debugger_slot dd ? dd ? .keyboard_mode db ? db 3 dup(?) .dir_table dd ? .dbg_event_mem dd ? .dbg_regs: .dbg_regs.dr0 dd ? .dbg_regs.dr1 dd ? .dbg_regs.dr2 dd ? .dbg_regs.dr3 dd ? .dbg_regs.dr7 dd ? .wnd_caption dd ? .wnd_clientbox BOX } virtual at 0 APPDATA APPDATA end virtual ;// mike.dld, 2006-29-01 ] ; Core functions include "core/sync.inc" ; macros for synhronization objects include "core/sys32.inc" ; process management include "core/sched.inc" ; process scheduling include "core/syscall.inc" ; system call include "core/mem.inc" ; high-level memory management include "core/newproce.inc" ;new process management include "core/physmem.inc" ; access to physical memory for applications ; GUI stuff include "gui/window.inc" include "gui/event.inc" include "gui/font.inc" include "gui/button.inc" ; shutdown include "boot/shutdown.inc" ; shutdown or restart ; file system include "fs/fs.inc" ; syscall include "fs/fat32.inc" ; read / write for fat32 filesystem include "fs/fat12.inc" ; read / write for fat12 filesystem include "blkdev/rd.inc" ; ramdisk read /write include "fs/fs_lfn.inc" ; syscall, version 2 include "fs/iso9660.inc" ; read for iso9660 filesystem CD ; sound include "sound/sb16.inc" ; playback for Sound Blaster 16 include "sound/playnote.inc" ; player Note for Speaker PC ; display include "video/vesa12.inc" ; Vesa 1.2 functions include "video/vesa20.inc" ; Vesa 2.0 functions include "video/vga.inc" ; VGA 16 color functions ; Network Interface & TCPIP Stack include "network/stack.inc" ; Mouse pointer include "gui/mouse.inc" ; Window skinning include "gui/skincode.inc" ; Pci functions include "bus/pci/pci32.inc" ; Floppy drive controller include "blkdev/fdc.inc" include "blkdev/flp_drv.inc" ; CD drive controller include "blkdev/cdrom.inc" include "blkdev/cd_drv.inc" ; Character devices include "hid/keyboard.inc" include "hid/mousedrv.inc" ; setting date,time,clock and alarm-clock include "hid/set_dtc.inc" ;% -include