forked from KolibriOS/kolibrios
9b2048f146
- Added the function of working with the file system in the export for the driver. (However, feature 70 vulnerability should not be fixed until the drivers using it are rebuilt). git-svn-id: svn://kolibrios.org@9055 a494cfbc-eb01-0410-851d-a64ba20cac60
146 lines
7.9 KiB
PHP
146 lines
7.9 KiB
PHP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;; ;;
|
|
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
|
;; Distributed under terms of the GNU General Public License ;;
|
|
;; ;;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
$Revision$
|
|
|
|
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
|
|
\
|
|
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
|
|
get_phys_addr, 'GetPhysAddr', \ ; eax
|
|
map_space, 'MapSpace', \
|
|
release_pages, 'ReleasePages', \
|
|
alloc_dma24, 'AllocDMA24', \ ; stdcall
|
|
\
|
|
init_rwsem, 'InitRwsem', \ ; gcc fastcall
|
|
down_read, 'DownRead', \ ; gcc fastcall
|
|
down_write, 'DownWrite', \ ; gcc fastcall
|
|
up_read, 'UpRead', \ ; gcc fastcall
|
|
up_write, 'UpWrite', \ ; gcc fastacll
|
|
mutex_init, 'MutexInit', \ ; gcc fastcall
|
|
mutex_lock, 'MutexLock', \ ; gcc fastcall
|
|
mutex_unlock, 'MutexUnlock', \ ; gcc fastcall
|
|
\
|
|
get_display, 'GetDisplay', \
|
|
set_screen, 'SetScreen', \
|
|
set_framebuffer, 'SetFramebuffer', \ ; gcc fastcall
|
|
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
|
|
user_alloc_at, 'UserAllocAt', \ ; stdcall
|
|
user_free, 'UserFree', \ ; stdcall
|
|
unmap_pages, 'UnmapPages', \ ; eax, ecx
|
|
sys_msg_board_str, 'SysMsgBoardStr', \
|
|
sys_msg_board, 'SysMsgBoard', \
|
|
get_clock_ns, 'GetClockNs', \ ;retval edx:eax 64-bit value
|
|
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', \
|
|
\
|
|
new_sys_threads, 'CreateThread', \ ; ebx, ecx, edx
|
|
\
|
|
srv_handler, 'ServiceHandler', \
|
|
fpu_save, 'FpuSave', \
|
|
fpu_restore, 'FpuRestore', \
|
|
avx_save_size, 'AvxSaveSize', \
|
|
avx_save, 'AvxSave', \
|
|
avx_restore, 'AvxRestore', \
|
|
r_f_port_area, 'ReservePortArea', \
|
|
boot_log, 'Boot_Log', \
|
|
\
|
|
load_cursor, 'LoadCursor', \ ;stdcall
|
|
\
|
|
get_curr_task, 'GetCurrentTask', \
|
|
change_task, 'ChangeTask', \
|
|
load_file, 'LoadFile', \ ;retval eax, ebx
|
|
delay_ms, 'Sleep', \
|
|
\
|
|
strncat, 'strncat', \
|
|
strncpy, 'strncpy', \
|
|
strncmp, 'strncmp', \
|
|
strnlen, 'strnlen', \
|
|
strchr, 'strchr', \
|
|
strrchr, 'strrchr', \
|
|
\
|
|
timer_hs, 'TimerHS', \
|
|
timer_hs, 'TimerHs', \ ; shit happens
|
|
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', \
|
|
usb_hc_func, 'USBHCFunc', \
|
|
\
|
|
file_system_lfn_protected, 'FS_Service', \ ; The intrakernel function of working with the file system is exported.
|
|
\ ; Duplicates system call 70.
|
|
\
|
|
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', \
|
|
\
|
|
get_pcidev_list, 'GetPCIList', \
|
|
\
|
|
acpi_get_root_ptr, 'AcpiGetRootPtr', \
|
|
\
|
|
0, 'LFBAddress' ; must be the last one
|
|
|
|
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
|