Subversion Repositories Kolibri OS

Rev

Rev 9832 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;                                                              ;;
  3. ;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
  4. ;; Distributed under terms of the GNU General Public License    ;;
  5. ;;                                                              ;;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7.  
  8. $Revision: 9894 $
  9.  
  10.  align 4
  11. __exports:
  12.           export 'KERNEL',   \
  13.           alloc_kernel_space,    'AllocKernelSpace',   \      ; stdcall
  14.           alloc_page,            'AllocPage',          \      ; gcc ABI
  15.           alloc_pages,           'AllocPages',         \      ; stdcall
  16.           commit_pages,          'CommitPages',        \      ; eax, ebx, ecx
  17. \
  18.           disk_add,              'DiskAdd',            \      ;stdcall
  19.           disk_del,              'DiskDel',            \
  20.           disk_media_changed,    'DiskMediaChanged',   \      ;stdcall
  21. \
  22.           fs_read32_sys,         'FsRead32Sys',        \
  23.           fs_read32_app,         'FsRead32App',        \
  24.           fs_read64_sys,         'FsRead64Sys',        \
  25.           fs_read64_app,         'FsRead64App',        \
  26. \
  27.           fs_write32_sys,        'FsWrite32Sys',       \
  28.           fs_write32_app,        'FsWrite32App',       \
  29.           fs_write64_sys,        'FsWrite64Sys',       \
  30.           fs_write64_app,        'FsWrite64App',       \
  31. \
  32.           fs_add,                'FsAdd',              \
  33. \         ;fs_del,                'FsDel',              \
  34. \
  35.           disk_sync,             'DiskSync',           \
  36. \
  37.           create_event,          'CreateEvent',        \      ; ecx, esi
  38.           destroy_event,         'DestroyEvent',       \      ;
  39.           raise_event,           'RaiseEvent',         \      ; eax, ebx, edx, esi
  40.           wait_event,            'WaitEvent',          \      ; eax, ebx
  41.           wait_event_timeout,    'WaitEventTimeout',   \      ; eax, ebx, ecx
  42.           get_event_ex,          'GetEvent',           \      ; edi
  43.           clear_event,           'ClearEvent',         \      ;see EVENT.inc for specification
  44.           send_event,            'SendEvent',          \      ;see EVENT.inc for specification
  45. \
  46.           create_kernel_object,  'CreateObject',       \
  47.           create_ring_buffer,    'CreateRingBuffer',   \      ; stdcall
  48.           destroy_kernel_object, 'DestroyObject',      \
  49.           free_kernel_space,     'FreeKernelSpace',    \      ; stdcall
  50.           free_page,             'FreePage',           \      ; eax
  51.           kernel_alloc,          'KernelAlloc',        \      ; stdcall
  52.           kernel_free,           'KernelFree',         \      ; stdcall
  53.           malloc,                'Kmalloc',            \
  54.           free,                  'Kfree',              \
  55.           map_io_mem,            'MapIoMem',           \      ; stdcall
  56.           map_page,              'MapPage',            \      ; stdcall
  57.           get_pg_addr,           'GetPgAddr',          \      ; eax
  58.           get_phys_addr,         'GetPhysAddr',        \      ; eax
  59.           map_space,             'MapSpace',           \
  60.           release_pages,         'ReleasePages',       \
  61.           alloc_dma24,           'AllocDMA24',         \      ; stdcall
  62. \
  63.           init_rwsem,            'InitRwsem',          \      ; gcc fastcall
  64.           down_read,             'DownRead',           \      ; gcc fastcall
  65.           down_write,            'DownWrite',          \      ; gcc fastcall
  66.           up_read,               'UpRead',             \      ; gcc fastcall
  67.           up_write,              'UpWrite',            \      ; gcc fastacll
  68.           mutex_init,            'MutexInit',          \      ; gcc fastcall
  69.           mutex_lock,            'MutexLock',          \      ; gcc fastcall
  70.           mutex_unlock,          'MutexUnlock',        \      ; gcc fastcall
  71. \
  72.           get_display,           'GetDisplay',         \
  73.           set_screen,            'SetScreen',          \
  74.           set_framebuffer,       'SetFramebuffer',     \      ; gcc fastcall
  75.           window._.get_rect,     'GetWindowRect',      \      ; gcc fastcall
  76.           pci_api_drv,           'PciApi',             \
  77.           pci_read8,             'PciRead8',           \      ; stdcall
  78.           pci_read16,            'PciRead16',          \      ; stdcall
  79.           pci_read32,            'PciRead32',          \      ; stdcall
  80.           pci_write8,            'PciWrite8',          \      ; stdcall
  81.           pci_write16,           'PciWrite16',         \      ; stdcall
  82.           pci_write32,           'PciWrite32',         \      ; stdcall
  83. \
  84.           get_pid,               'GetPid',             \
  85.           get_service,           'GetService',         \      ;
  86.           reg_service,           'RegService',         \      ; stdcall
  87.           attach_int_handler,    'AttachIntHandler',   \      ; stdcall
  88.           user_alloc,            'UserAlloc',          \      ; stdcall
  89.           user_alloc_at,         'UserAllocAt',        \      ; stdcall
  90.           user_free,             'UserFree',           \      ; stdcall
  91.           unmap_pages,           'UnmapPages',         \      ; eax, ecx
  92.           sys_msg_board_str,     'SysMsgBoardStr',     \
  93.           sys_msg_board,         'SysMsgBoard',        \
  94.           get_clock_ns,          'GetClockNs',         \      ;retval edx:eax 64-bit value
  95.           get_timer_ticks,       'GetTimerTicks',      \
  96.           get_stack_base,        'GetStackBase',       \
  97.           delay_hs,              'Delay',              \      ; ebx
  98.           set_mouse_data,        'SetMouseData',       \      ;
  99.           set_keyboard_data,     'SetKeyboardData',    \      ; gcc fastcall
  100.           register_keyboard,     'RegKeyboard',        \
  101.           delete_keyboard,       'DelKeyboard',        \
  102.           get_cpu_freq,          'GetCpuFreq',         \
  103. \
  104.           new_sys_threads,       'CreateThread',       \      ; ebx, ecx, edx
  105. \
  106.           srv_handler,           'ServiceHandler',     \
  107.           fpu_save,              'FpuSave',            \
  108.           fpu_restore,           'FpuRestore',         \
  109.           avx_save_size,         'AvxSaveSize',        \
  110.           avx_save,              'AvxSave',            \
  111.           avx_restore,           'AvxRestore',         \
  112.           r_f_port_area,         'ReservePortArea',    \
  113.           boot_log,              'Boot_Log',           \
  114. \
  115.           load_cursor,           'LoadCursor',         \      ;stdcall
  116. \
  117.           get_curr_slot,         'GetCurrSlot',        \
  118.           change_task,           'ChangeTask',         \
  119.           load_file,             'LoadFile',           \      ;retval eax, ebx
  120.           delay_ms,              'Sleep',              \
  121. \
  122.           strncat,               'strncat',            \
  123.           strncpy,               'strncpy',            \
  124.           strncmp,               'strncmp',            \
  125.           strnlen,               'strnlen',            \
  126.           strchr,                'strchr',             \
  127.           strrchr,               'strrchr',            \
  128. \
  129.           timer_hs,              'TimerHS',            \
  130.           timer_hs,              'TimerHs',            \      ; shit happens
  131.           cancel_timer_hs,       'CancelTimerHS',      \
  132. \
  133.           reg_usb_driver,        'RegUSBDriver',       \
  134.           usb_open_pipe,         'USBOpenPipe',        \
  135.           usb_close_pipe,        'USBClosePipe',       \
  136.           usb_normal_transfer_async, 'USBNormalTransferAsync', \
  137.           usb_control_async,     'USBControlTransferAsync', \
  138.           usb_get_param,         'USBGetParam',        \
  139.           usb_hc_func,           'USBHCFunc',          \
  140. \
  141. \         ; The intrakernel function of working with the file system.
  142. \         ; Duplicates system call 70.
  143.           file_system_lfn_protected_registers, 'FS_Service', \
  144. \
  145.           net_add_device,        'NetRegDev',          \
  146.           net_remove_device,     'NetUnRegDev',        \
  147.           net_ptr_to_num,        'NetPtrToNum',        \
  148.           net_link_changed,      'NetLinkChanged',     \
  149.           eth_input,             'EthInput',           \
  150.           net_buff_alloc,        'NetAlloc',           \
  151.           net_buff_free,         'NetFree',            \
  152. \
  153.           get_pcidev_list,       'GetPCIList',         \
  154. \
  155.           acpi_get_root_ptr,     'AcpiGetRootPtr',     \
  156. \
  157.           0,                     'LFBAddress' ; must be the last one
  158.  
  159. load kernel_exports_count dword from __exports + 24
  160. load kernel_exports_addresses dword from __exports + 28
  161. exp_lfb = OS_BASE + kernel_exports_addresses + (kernel_exports_count - 1) * 4 - 4
  162.