Subversion Repositories Kolibri OS

Rev

Rev 9832 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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