179,8 → 179,6 |
_io_map_1 rb 4096 |
ends |
|
TSS_SIZE equ (128+8192) |
|
OS_BASE equ 0x80000000 |
|
window_data equ (OS_BASE+0x0001000) |
397,381 → 395,256 |
|
EV_INTR equ 1 |
|
struc THR_DATA |
{ |
struct THR_DATA |
rb (8192-512) |
.pl0_stack: |
.fpu_state rb 512 |
.tls_page rb 4096 |
.pdbr rb 4096 |
} |
; pl0_stack |
fpu_state rb 512 |
tls_page rb 4096 |
pdbr rb 4096 |
ends |
|
THR_DATA_SIZE equ 4096*4 |
|
virtual at (OS_BASE-THR_DATA_SIZE) |
virtual at (OS_BASE-sizeof.THR_DATA) |
thr_data THR_DATA |
end virtual |
|
struc SYS_VARS |
{ .bpp dd ? |
.scanline dd ? |
.vesa_mode dd ? |
.x_res dd ? |
.y_res dd ? |
} |
struct SYS_VARS |
bpp dd ? |
scanline dd ? |
vesa_mode dd ? |
x_res dd ? |
y_res dd ? |
ends |
|
struc APPOBJ ;common object header |
{ |
.magic dd ? ; |
.destroy dd ? ;internal destructor |
.fd dd ? ;next object in list |
.bk dd ? ;prev object in list |
.pid dd ? ;owner id |
}; |
struct APPOBJ ; common object header |
magic dd ? ; |
destroy dd ? ; internal destructor |
fd dd ? ; next object in list |
bk dd ? ; prev object in list |
pid dd ? ; owner id |
ends |
|
virtual at 0 |
APPOBJ APPOBJ |
end virtual |
|
APP_OBJ_OFFSET equ 48 |
APP_EV_OFFSET equ 40 |
|
struc CURSOR |
{ |
;common object header |
.magic dd ? ;'CURS' |
.destroy dd ? ;internal destructor |
.fd dd ? ;next object in list |
.bk dd ? ;prev object in list |
.pid dd ? ;owner id |
struct CURSOR APPOBJ |
base dd ? ;allocated memory |
hot_x dd ? ;hotspot coords |
hot_y dd ? |
|
;cursor data |
.base dd ? ;allocated memory |
.hot_x dd ? ;hotspot coords |
.hot_y dd ? |
list_next dd ? ;next cursor in cursor list |
list_prev dd ? ;prev cursor in cursor list |
dev_obj dd ? ;device depended data |
ends |
|
.list_next dd ? ;next cursor in cursor list |
.list_prev dd ? ;prev cursor in cursor list |
.dev_obj dd ? ;device depended data |
|
.sizeof: |
} |
virtual at 0 |
CURSOR CURSOR |
end virtual |
|
|
struc EVENT |
{ |
.magic dd ? ;'EVNT' |
.destroy dd ? ;internal destructor |
.fd dd ? ;next object in list |
.bk dd ? ;prev object in list |
.pid dd ? ;owner id |
|
.id dd ? ;event uid |
.state dd ? ;internal flags |
.code dd ? |
struct EVENT APPOBJ |
id dd ? ;event uid |
state dd ? ;internal flags |
code dd ? |
rd 5 |
.size = $ - .magic |
.codesize = $ - .code |
} |
ends |
|
virtual at 0 |
EVENT EVENT |
end virtual |
|
struct SMEM |
bk dd ? |
fd dd ? ;+4 |
base dd ? ;+8 |
size dd ? ;+12 |
access dd ? ;+16 |
refcount dd ? ;+20 |
name rb 32 ;+24 |
ends |
|
struc SMEM |
{ |
.bk dd ? |
.fd dd ? ;+4 |
.base dd ? ;+8 |
.size dd ? ;+12 |
.access dd ? ;+16 |
.refcount dd ? ;+20 |
.name rb 32 ;+24 |
.sizeof: |
} |
struct SMAP APPOBJ |
base dd ? ;mapped base |
parent dd ? ;SMEM |
ends |
|
struc SMAP |
{ |
.magic dd ? ; SMAP |
.destroy dd ? ;internal destructor |
.fd dd ? ;next object in list |
.bk dd ? ;prev object in list |
.pid dd ? ;owner id |
struct DLLDESCR |
bk dd ? |
fd dd ? ;+4 |
data dd ? ;+8 |
size dd ? ;+12 |
timestamp dq ? |
refcount dd ? |
defaultbase dd ? |
coff_hdr dd ? |
symbols_ptr dd ? |
symbols_num dd ? |
symbols_lim dd ? |
exports dd ? ;export table |
name rb 260 |
ends |
|
.base dd ? ;mapped base |
.parent dd ? ;SMEM |
.sizeof: |
} |
struct HDLL |
fd dd ? ;next object in list |
bk dd ? ;prev object in list |
pid dd ? ;owner id |
|
virtual at 0 |
SMEM SMEM |
end virtual |
base dd ? ;mapped base |
size dd ? ;mapped size |
refcount dd ? ;reference counter for this process and this lib |
parent dd ? ;DLLDESCR |
ends |
|
virtual at 0 |
SMAP SMAP |
end virtual |
struct display_t |
x dd ? |
y dd ? |
width dd ? |
height dd ? |
bpp dd ? |
vrefresh dd ? |
pitch dd ? |
lfb dd ? |
|
struc DLLDESCR |
{ |
.bk dd ? |
.fd dd ? ;+4 |
.data dd ? ;+8 |
.size dd ? ;+12 |
.timestamp dq ? |
.refcount dd ? |
.defaultbase dd ? |
.coff_hdr dd ? |
.symbols_ptr dd ? |
.symbols_num dd ? |
.symbols_lim dd ? |
.exports dd ? ;export table |
.name: |
.sizeof: |
} |
modes dd ? |
ddev dd ? |
connector dd ? |
crtc dd ? |
|
struc HDLL |
{ |
.fd dd ? ;next object in list |
.bk dd ? ;prev object in list |
.pid dd ? ;owner id |
cr_list.next dd ? |
cr_list.prev dd ? |
|
.base dd ? ;mapped base |
.size dd ? ;mapped size |
.refcount dd ? ;reference counter for this process and this lib |
.parent dd ? ;DLLDESCR |
.sizeof: |
} |
cursor dd ? |
|
virtual at 0 |
DLLDESCR DLLDESCR |
end virtual |
init_cursor dd ? |
select_cursor dd ? |
show_cursor dd ? |
move_cursor dd ? |
restore_cursor dd ? |
disable_mouse dd ? |
ends |
|
virtual at 0 |
HDLL HDLL |
end virtual |
struct BOOT_DATA |
bpp dd ? |
scanline dd ? |
vesa_mode dd ? |
x_res dd ? |
y_res dd ? |
mouse_port dd ? |
bank_switch dd ? |
lfb dd ? |
vesa_mem dd ? |
log dd ? |
direct_lfb dd ? |
pci_data dd ? |
dd ? |
vrr dd ? |
ide_base dd ? |
mem_amount dd ? |
pages_count dd ? |
pagemap_size dd ? |
kernel_max dd ? |
kernel_pages dd ? |
kernel_tables dd ? |
|
struc display_t |
{ |
.x dd ? |
.y dd ? |
.width dd ? |
.height dd ? |
.bpp dd ? |
.vrefresh dd ? |
.pitch dd ? |
.lfb dd ? |
|
.modes dd ? |
.ddev dd ? |
.connector dd ? |
.crtc dd ? |
|
.cr_list.next dd ? |
.cr_list.prev dd ? |
|
.cursor dd ? |
|
.init_cursor dd ? |
.select_cursor dd ? |
.show_cursor dd ? |
.move_cursor dd ? |
.restore_cursor dd ? |
.disable_mouse dd ? |
} |
|
virtual at 0 |
display_t display_t |
end virtual |
|
struc BOOT_DATA |
{ .bpp dd ? |
.scanline dd ? |
.vesa_mode dd ? |
.x_res dd ? |
.y_res dd ? |
.mouse_port dd ? |
.bank_switch dd ? |
.lfb dd ? |
.vesa_mem dd ? |
.log dd ? |
.direct_lfb dd ? |
.pci_data dd ? |
; dd ? |
.vrr dd ? |
.ide_base dd ? |
.mem_amount dd ? |
.pages_count dd ? |
.pagemap_size dd ? |
.kernel_max dd ? |
.kernel_pages dd ? |
.kernel_tables dd ? |
|
.cpu_vendor dd ? |
cpu_vendor dd ? |
dd ? |
dd ? |
.cpu_sign dd ? |
.cpu_info dd ? |
.cpu_caps dd ? |
cpu_sign dd ? |
cpu_info dd ? |
cpu_caps dd ? |
dd ? |
dd ? |
} |
ends |
|
virtual at 0 |
BOOT_DATA BOOT_DATA |
end virtual |
struct LHEAD |
next dd ? ;next object in list |
prev dd ? ;prev object in list |
ends |
|
struc MEM_STATE |
{ .mutex MUTEX |
.smallmap rd 1 |
.treemap rd 1 |
.topsize rd 1 |
.top rd 1 |
.smallbins rd 4*32 |
.treebins rd 32 |
} |
struct MUTEX |
lhead LHEAD |
count dd ? |
ends |
|
struc PG_DATA |
{ .mem_amount dd ? |
.vesa_mem dd ? |
.pages_count dd ? |
.pages_free dd ? |
.pages_faults dd ? |
.pagemap_size dd ? |
.kernel_pages dd ? |
.kernel_tables dd ? |
.sys_page_dir dd ? |
.mutex MUTEX |
} |
struct MEM_STATE |
mutex MUTEX |
smallmap dd ? |
treemap dd ? |
topsize dd ? |
top dd ? |
smallbins rd 4*32 |
treebins rd 32 |
ends |
|
;struc LIB |
;{ .lib_name rb 16 |
; .lib_base dd ? |
; .lib_start dd ? |
; .export dd ? |
; .import dd ? |
;} |
struct PG_DATA |
mem_amount dd ? |
vesa_mem dd ? |
pages_count dd ? |
pages_free dd ? |
pages_faults dd ? |
pagemap_size dd ? |
kernel_pages dd ? |
kernel_tables dd ? |
sys_page_dir dd ? |
mutex MUTEX |
ends |
|
struc SRV |
{ |
.srv_name rb 16 ;ASCIIZ string |
.magic dd ? ;+0x10 ;'SRV ' |
.size dd ? ;+0x14 ;size of structure SRV |
.fd dd ? ;+0x18 ;next SRV descriptor |
.bk dd ? ;+0x1C ;prev SRV descriptor |
.base dd ? ;+0x20 ;service base address |
.entry dd ? ;+0x24 ;service START function |
.srv_proc dd ? ;+0x28 ;user mode service handler |
.srv_proc_ex dd ? ;+0x2C ;kernel mode service handler |
.sizeof: |
} |
struct SRV |
srv_name rb 16 ;ASCIIZ string |
magic dd ? ;+0x10 ;'SRV ' |
size dd ? ;+0x14 ;size of structure SRV |
fd dd ? ;+0x18 ;next SRV descriptor |
bk dd ? ;+0x1C ;prev SRV descriptor |
base dd ? ;+0x20 ;service base address |
entry dd ? ;+0x24 ;service START function |
srv_proc dd ? ;+0x28 ;user mode service handler |
srv_proc_ex dd ? ;+0x2C ;kernel mode service handler |
ends |
|
SRV_FD_OFFSET equ 0x18 |
|
DRV_ENTRY equ 1 |
DRV_EXIT equ -1 |
|
struc COFF_HEADER |
{ .machine dw ? |
.nSections dw ? |
.DataTime dd ? |
.pSymTable dd ? |
.nSymbols dd ? |
.optHeader dw ? |
.flags dw ? |
}; |
struct COFF_HEADER |
machine dw ? |
nSections dw ? |
DataTime dd ? |
pSymTable dd ? |
nSymbols dd ? |
optHeader dw ? |
flags dw ? |
ends |
|
struct COFF_SECTION |
Name rb 8 |
VirtualSize dd ? |
VirtualAddress dd ? |
SizeOfRawData dd ? |
PtrRawData dd ? |
PtrReloc dd ? |
PtrLinenumbers dd ? |
NumReloc dw ? |
NumLinenum dw ? |
Characteristics dd ? |
ends |
|
struc COFF_SECTION |
{ .Name rb 8 |
.VirtualSize dd ? |
.VirtualAddress dd ? |
.SizeOfRawData dd ? |
.PtrRawData dd ? |
.PtrReloc dd ? |
.PtrLinenumbers dd ? |
.NumReloc dw ? |
.NumLinenum dw ? |
.Characteristics dd ? |
} |
COFF_SECTION_SIZE equ 40 |
struct COFF_RELOC |
VirtualAddress dd ? |
SymIndex dd ? |
Type dw ? |
ends |
|
struc COFF_RELOC |
{ .VirtualAddress dd ? |
.SymIndex dd ? |
.Type dw ? |
} |
struct COFF_SYM |
Name rb 8 |
Value dd ? |
SectionNumber dw ? |
Type dw ? |
StorageClass db ? |
NumAuxSymbols db ? |
ends |
|
struc COFF_SYM |
{ .Name rb 8 |
.Value dd ? |
.SectionNumber dw ? |
.Type dw ? |
.StorageClass db ? |
.NumAuxSymbols db ? |
} |
CSYM_SIZE equ 18 |
struct IOCTL |
handle dd ? |
io_code dd ? |
input dd ? |
inp_size dd ? |
output dd ? |
out_size dd ? |
ends |
|
struc IOCTL |
{ .handle dd ? |
.io_code dd ? |
.input dd ? |
.inp_size dd ? |
.output dd ? |
.out_size dd ? |
} |
|
virtual at 0 |
IOCTL IOCTL |
end virtual |
|
;virtual at 0 |
; LIB LIB |
;end virtual |
|
virtual at 0 |
SRV SRV |
end virtual |
|
virtual at 0 |
CFH COFF_HEADER |
end virtual |
|
virtual at 0 |
CFS COFF_SECTION |
end virtual |
|
virtual at 0 |
CRELOC COFF_RELOC |
end virtual |
|
virtual at 0 |
CSYM COFF_SYM |
end virtual |
|
struc LHEAD |
{ |
.next dd ? ;next object in list |
.prev dd ? ;prev object in list |
.sizeof: |
} |
|
virtual at 0 |
LHEAD LHEAD |
end virtual |
|
struc IRQH |
{ |
.list LHEAD |
.handler dd ? ;handler roututine |
.data dd ? ;user-specific data |
.sizeof: |
} |
|
virtual at 0 |
IRQH IRQH |
end virtual |
|
struct IRQH |
list LHEAD |
handler dd ? ;handler roututine |
data dd ? ;user-specific data |
ends |