2011-10-14 23:38:50 +02:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
;; ;;
|
2024-05-22 17:15:14 +02:00
|
|
|
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
2011-10-14 23:38:50 +02:00
|
|
|
;; Distributed under terms of the GNU General Public License ;;
|
|
|
|
;; ;;
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
|
|
|
2013-07-04 23:14:34 +02:00
|
|
|
align 4
|
|
|
|
__exports:
|
|
|
|
export 'KERNEL', \
|
|
|
|
alloc_kernel_space, 'AllocKernelSpace', \ ; stdcall
|
|
|
|
alloc_page, 'AllocPage', \ ; gcc ABI
|
|
|
|
alloc_pages, 'AllocPages', \ ; stdcall
|
|
|
|
commit_pages, 'CommitPages', \ ; eax, ebx, ecx
|
|
|
|
\
|
|
|
|
disk_add, 'DiskAdd', \ ;stdcall
|
|
|
|
disk_del, 'DiskDel', \
|
|
|
|
disk_media_changed, 'DiskMediaChanged', \ ;stdcall
|
2023-01-21 19:07:32 +01:00
|
|
|
\
|
|
|
|
fs_read32_sys, 'FsRead32Sys', \
|
|
|
|
fs_read32_app, 'FsRead32App', \
|
|
|
|
fs_read64_sys, 'FsRead64Sys', \
|
|
|
|
fs_read64_app, 'FsRead64App', \
|
|
|
|
\
|
|
|
|
fs_write32_sys, 'FsWrite32Sys', \
|
|
|
|
fs_write32_app, 'FsWrite32App', \
|
|
|
|
fs_write64_sys, 'FsWrite64Sys', \
|
|
|
|
fs_write64_app, 'FsWrite64App', \
|
|
|
|
\
|
|
|
|
fs_add, 'FsAdd', \
|
|
|
|
\ ;fs_del, 'FsDel', \
|
|
|
|
\
|
|
|
|
disk_sync, 'DiskSync', \
|
2013-07-04 23:14:34 +02:00
|
|
|
\
|
|
|
|
create_event, 'CreateEvent', \ ; ecx, esi
|
|
|
|
destroy_event, 'DestroyEvent', \ ;
|
|
|
|
raise_event, 'RaiseEvent', \ ; eax, ebx, edx, esi
|
|
|
|
wait_event, 'WaitEvent', \ ; eax, ebx
|
|
|
|
wait_event_timeout, 'WaitEventTimeout', \ ; eax, ebx, ecx
|
|
|
|
get_event_ex, 'GetEvent', \ ; edi
|
|
|
|
clear_event, 'ClearEvent', \ ;see EVENT.inc for specification
|
|
|
|
send_event, 'SendEvent', \ ;see EVENT.inc for specification
|
|
|
|
\
|
|
|
|
create_kernel_object, 'CreateObject', \
|
|
|
|
create_ring_buffer, 'CreateRingBuffer', \ ; stdcall
|
|
|
|
destroy_kernel_object, 'DestroyObject', \
|
|
|
|
free_kernel_space, 'FreeKernelSpace', \ ; stdcall
|
|
|
|
free_page, 'FreePage', \ ; eax
|
|
|
|
kernel_alloc, 'KernelAlloc', \ ; stdcall
|
|
|
|
kernel_free, 'KernelFree', \ ; stdcall
|
|
|
|
malloc, 'Kmalloc', \
|
|
|
|
free, 'Kfree', \
|
|
|
|
map_io_mem, 'MapIoMem', \ ; stdcall
|
|
|
|
map_page, 'MapPage', \ ; stdcall
|
|
|
|
get_pg_addr, 'GetPgAddr', \ ; eax
|
2013-12-30 12:18:33 +01:00
|
|
|
get_phys_addr, 'GetPhysAddr', \ ; eax
|
2013-07-04 23:14:34 +02:00
|
|
|
map_space, 'MapSpace', \
|
|
|
|
release_pages, 'ReleasePages', \
|
2014-08-25 11:49:27 +02:00
|
|
|
alloc_dma24, 'AllocDMA24', \ ; stdcall
|
2013-07-04 23:14:34 +02:00
|
|
|
\
|
2015-01-04 16:21:46 +01:00
|
|
|
init_rwsem, 'InitRwsem', \ ; gcc fastcall
|
2015-01-04 12:04:39 +01:00
|
|
|
down_read, 'DownRead', \ ; gcc fastcall
|
|
|
|
down_write, 'DownWrite', \ ; gcc fastcall
|
2015-01-04 16:21:46 +01:00
|
|
|
up_read, 'UpRead', \ ; gcc fastcall
|
|
|
|
up_write, 'UpWrite', \ ; gcc fastacll
|
2013-07-04 23:14:34 +02:00
|
|
|
mutex_init, 'MutexInit', \ ; gcc fastcall
|
|
|
|
mutex_lock, 'MutexLock', \ ; gcc fastcall
|
|
|
|
mutex_unlock, 'MutexUnlock', \ ; gcc fastcall
|
|
|
|
\
|
|
|
|
get_display, 'GetDisplay', \
|
|
|
|
set_screen, 'SetScreen', \
|
2016-02-20 10:57:44 +01:00
|
|
|
set_framebuffer, 'SetFramebuffer', \ ; gcc fastcall
|
2013-07-04 23:14:34 +02:00
|
|
|
window._.get_rect, 'GetWindowRect', \ ; gcc fastcall
|
|
|
|
pci_api_drv, 'PciApi', \
|
|
|
|
pci_read8, 'PciRead8', \ ; stdcall
|
|
|
|
pci_read16, 'PciRead16', \ ; stdcall
|
|
|
|
pci_read32, 'PciRead32', \ ; stdcall
|
|
|
|
pci_write8, 'PciWrite8', \ ; stdcall
|
|
|
|
pci_write16, 'PciWrite16', \ ; stdcall
|
|
|
|
pci_write32, 'PciWrite32', \ ; stdcall
|
|
|
|
\
|
|
|
|
get_pid, 'GetPid', \
|
|
|
|
get_service, 'GetService', \ ;
|
|
|
|
reg_service, 'RegService', \ ; stdcall
|
|
|
|
attach_int_handler, 'AttachIntHandler', \ ; stdcall
|
|
|
|
user_alloc, 'UserAlloc', \ ; stdcall
|
2013-07-13 01:47:46 +02:00
|
|
|
user_alloc_at, 'UserAllocAt', \ ; stdcall
|
2013-07-04 23:14:34 +02:00
|
|
|
user_free, 'UserFree', \ ; stdcall
|
|
|
|
unmap_pages, 'UnmapPages', \ ; eax, ecx
|
|
|
|
sys_msg_board_str, 'SysMsgBoardStr', \
|
|
|
|
sys_msg_board, 'SysMsgBoard', \
|
2015-09-03 16:47:08 +02:00
|
|
|
get_clock_ns, 'GetClockNs', \ ;retval edx:eax 64-bit value
|
2013-07-04 23:14:34 +02:00
|
|
|
get_timer_ticks, 'GetTimerTicks', \
|
|
|
|
get_stack_base, 'GetStackBase', \
|
|
|
|
delay_hs, 'Delay', \ ; ebx
|
|
|
|
set_mouse_data, 'SetMouseData', \ ;
|
|
|
|
set_keyboard_data, 'SetKeyboardData', \ ; gcc fastcall
|
|
|
|
register_keyboard, 'RegKeyboard', \
|
|
|
|
delete_keyboard, 'DelKeyboard', \
|
|
|
|
get_cpu_freq, 'GetCpuFreq', \
|
2013-10-26 18:11:59 +02:00
|
|
|
\
|
|
|
|
new_sys_threads, 'CreateThread', \ ; ebx, ecx, edx
|
2013-07-04 23:14:34 +02:00
|
|
|
\
|
|
|
|
srv_handler, 'ServiceHandler', \
|
|
|
|
fpu_save, 'FpuSave', \
|
|
|
|
fpu_restore, 'FpuRestore', \
|
2018-02-27 17:27:26 +01:00
|
|
|
avx_save_size, 'AvxSaveSize', \
|
|
|
|
avx_save, 'AvxSave', \
|
|
|
|
avx_restore, 'AvxRestore', \
|
2013-07-04 23:14:34 +02:00
|
|
|
r_f_port_area, 'ReservePortArea', \
|
|
|
|
boot_log, 'Boot_Log', \
|
|
|
|
\
|
|
|
|
load_cursor, 'LoadCursor', \ ;stdcall
|
|
|
|
\
|
2022-06-06 23:51:08 +02:00
|
|
|
get_curr_slot, 'GetCurrSlot', \
|
2014-05-19 12:01:59 +02:00
|
|
|
change_task, 'ChangeTask', \
|
2013-07-04 23:14:34 +02:00
|
|
|
load_file, 'LoadFile', \ ;retval eax, ebx
|
|
|
|
delay_ms, 'Sleep', \
|
|
|
|
\
|
|
|
|
strncat, 'strncat', \
|
|
|
|
strncpy, 'strncpy', \
|
|
|
|
strncmp, 'strncmp', \
|
|
|
|
strnlen, 'strnlen', \
|
|
|
|
strchr, 'strchr', \
|
|
|
|
strrchr, 'strrchr', \
|
|
|
|
\
|
|
|
|
timer_hs, 'TimerHS', \
|
2013-09-29 13:01:08 +02:00
|
|
|
timer_hs, 'TimerHs', \ ; shit happens
|
2013-07-04 23:14:34 +02:00
|
|
|
cancel_timer_hs, 'CancelTimerHS', \
|
|
|
|
\
|
|
|
|
reg_usb_driver, 'RegUSBDriver', \
|
|
|
|
usb_open_pipe, 'USBOpenPipe', \
|
|
|
|
usb_close_pipe, 'USBClosePipe', \
|
|
|
|
usb_normal_transfer_async, 'USBNormalTransferAsync', \
|
|
|
|
usb_control_async, 'USBControlTransferAsync', \
|
|
|
|
usb_get_param, 'USBGetParam', \
|
2013-12-30 12:18:33 +01:00
|
|
|
usb_hc_func, 'USBHCFunc', \
|
2021-07-13 00:34:27 +02:00
|
|
|
\
|
2021-09-10 00:37:00 +02:00
|
|
|
\ ; The intrakernel function of working with the file system.
|
|
|
|
\ ; Duplicates system call 70.
|
|
|
|
file_system_lfn_protected_registers, 'FS_Service', \
|
2013-07-04 23:14:34 +02:00
|
|
|
\
|
2015-12-27 16:37:31 +01:00
|
|
|
net_add_device, 'NetRegDev', \
|
|
|
|
net_remove_device, 'NetUnRegDev', \
|
|
|
|
net_ptr_to_num, 'NetPtrToNum', \
|
|
|
|
net_link_changed, 'NetLinkChanged', \
|
|
|
|
eth_input, 'EthInput', \
|
|
|
|
net_buff_alloc, 'NetAlloc', \
|
|
|
|
net_buff_free, 'NetFree', \
|
2014-01-14 21:50:19 +01:00
|
|
|
\
|
|
|
|
get_pcidev_list, 'GetPCIList', \
|
2016-10-13 20:03:56 +02:00
|
|
|
\
|
|
|
|
acpi_get_root_ptr, 'AcpiGetRootPtr', \
|
2013-07-04 23:14:34 +02:00
|
|
|
\
|
|
|
|
0, 'LFBAddress' ; must be the last one
|
2021-07-13 00:34:27 +02:00
|
|
|
|
2013-07-04 23:14:34 +02:00
|
|
|
load kernel_exports_count dword from __exports + 24
|
|
|
|
load kernel_exports_addresses dword from __exports + 28
|
|
|
|
exp_lfb = OS_BASE + kernel_exports_addresses + (kernel_exports_count - 1) * 4 - 4
|