Subversion Repositories Kolibri OS

Rev

Rev 9056 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9056 Rev 9924
1
; Macroinstructions for making import section
1
; Macroinstructions for making import section
2
; Based on import32.inc from FASM, with small modifications
2
; Based on import32.inc from FASM, with small modifications
3
; and list of actual kernel exports.
3
; and list of actual kernel exports.
4
 
4
 
5
macro library [name,string]
5
macro library [name,string]
6
 { common
6
 { common
7
    import.data:
7
    import.data:
8
   forward
8
   forward
9
    local _label
9
    local _label
10
    if defined name#.redundant
10
    if defined name#.redundant
11
     if ~ name#.redundant
11
     if ~ name#.redundant
12
      dd 0,0,0,RVA _label,RVA name#.address
12
      dd 0,0,0,RVA _label,RVA name#.address
13
     end if
13
     end if
14
    end if
14
    end if
15
    name#.referred = 1
15
    name#.referred = 1
16
   common
16
   common
17
    dd 0,0,0,0,0
17
    dd 0,0,0,0,0
18
   forward
18
   forward
19
    if defined name#.redundant
19
    if defined name#.redundant
20
     if ~ name#.redundant
20
     if ~ name#.redundant
21
      _label db string,0
21
      _label db string,0
22
     end if
22
     end if
23
    end if }
23
    end if }
24
 
24
 
25
macro import name,[label]
25
macro import name,[label]
26
 { common
26
 { common
27
    rb (- rva $) and 3
27
    rb (- rva $) and 3
28
    if defined name#.referred
28
    if defined name#.referred
29
     name#.address:
29
     name#.address:
30
   forward
30
   forward
31
     if used label
31
     if used label
32
       local _label
32
       local _label
33
       label dd RVA _label
33
       label dd RVA _label
34
       label#._pe_import = 1
34
       label#._pe_import = 1
35
     end if
35
     end if
36
   common
36
   common
37
     if $ > name#.address
37
     if $ > name#.address
38
      name#.redundant = 0
38
      name#.redundant = 0
39
      dw 0
39
      dw 0
40
     else
40
     else
41
      name#.redundant = 1
41
      name#.redundant = 1
42
     end if
42
     end if
43
   forward
43
   forward
44
     if used label
44
     if used label
45
     _label dw 0
45
     _label dw 0
46
            db `label
46
            db `label
47
     end if
47
     end if
48
   common
48
   common
49
     db 0
49
     db 0
50
    end if }
50
    end if }
51
 
51
 
52
align 4
52
align 4
53
data import
53
data import
54
library core,'core.dll'
54
library core,'core.dll'
55
import core,\
55
import core,\
56
              RegService,\
56
              RegService,\
57
              GetService,\
57
              GetService,\
58
              ServiceHandler,\
58
              ServiceHandler,\
59
              AttachIntHandler,\
59
              AttachIntHandler,\
60
              GetIntHandler,\
60
              GetIntHandler,\
61
              FpuSave,\
61
              FpuSave,\
62
              FpuRestore,\
62
              FpuRestore,\
63
              ReservePortArea,\
63
              ReservePortArea,\
64
              Boot_Log,\
64
              Boot_Log,\
65
\
65
\
66
              MutexInit,\
66
              FsRead32Sys,\
-
 
67
              FsRead32App,\
-
 
68
              FsRead64Sys,\
-
 
69
              FsRead64App,\
-
 
70
\
-
 
71
              FsWrite32Sys,\
-
 
72
              FsWrite32App,\
-
 
73
              FsWrite64Sys,\
-
 
74
              FsWrite64App,\
-
 
75
\
-
 
76
              FsAdd,\
-
 
77
\
-
 
78
              DiskSync,\
-
 
79
\
-
 
80
              MutexInit,\
67
              MutexLock,\
81
              MutexLock,\
68
              MutexUnlock,\
82
              MutexUnlock,\
69
\
83
\
70
              PciApi,\
84
              PciApi,\
71
              PciRead32,\
85
              PciRead32,\
72
              PciRead16,\
86
              PciRead16,\
73
              PciRead8,\
87
              PciRead8,\
74
              PciWrite8,\
88
              PciWrite8,\
75
              PciWrite16,\
89
              PciWrite16,\
76
              PciWrite32,\
90
              PciWrite32,\
77
\
91
\
78
              AllocPage,\
92
              AllocPage,\
79
              AllocPages,\
93
              AllocPages,\
80
              FreePage,\
94
              FreePage,\
81
              MapPage,\
95
              MapPage,\
82
              MapSpace,\
96
              MapSpace,\
83
              MapIoMem,\
97
              MapIoMem,\
84
              GetPgAddr,\
98
              GetPgAddr,\
85
              GetPhysAddr,\
99
              GetPhysAddr,\
86
              CommitPages,\
100
              CommitPages,\
87
              ReleasePages,\
101
              ReleasePages,\
88
\
102
\
89
              AllocKernelSpace,\
103
              AllocKernelSpace,\
90
              FreeKernelSpace,\
104
              FreeKernelSpace,\
91
              KernelAlloc,\
105
              KernelAlloc,\
92
              KernelFree,\
106
              KernelFree,\
93
              UserAlloc,\
107
              UserAlloc,\
94
              UserFree,\
108
              UserFree,\
95
              Kmalloc,\
109
              Kmalloc,\
96
              Kfree,\
110
              Kfree,\
97
              CreateRingBuffer,\
111
              CreateRingBuffer,\
98
              AllocDMA24,\
112
              AllocDMA24,\
99
\
113
\
100
              GetPid,\
114
              GetPid,\
101
              CreateThread,\
115
              CreateThread,\
102
              CreateObject,\
116
              CreateObject,\
103
              DestroyObject,\
117
              DestroyObject,\
104
              CreateEvent,\
118
              CreateEvent,\
105
              RaiseEvent,\
119
              RaiseEvent,\
106
              WaitEvent,\
120
              WaitEvent,\
107
              DestroyEvent,\
121
              DestroyEvent,\
108
              ClearEvent,\
122
              ClearEvent,\
109
\
123
\
110
              LoadCursor,\
124
              LoadCursor,\
111
              SelectHwCursor,\
125
              SelectHwCursor,\
112
              SetHwCursor,\
126
              SetHwCursor,\
113
              HwCursorRestore,\
127
              HwCursorRestore,\
114
              HwCursorCreate,\
128
              HwCursorCreate,\
115
\
129
\
116
              SysMsgBoardStr,\
130
              SysMsgBoardStr,\
117
              SysMsgBoard,\
131
              SysMsgBoard,\
118
              GetCurrentTask,\
132
              GetCurrentTask,\
119
              LoadFile,\
133
              LoadFile,\
120
              SendEvent,\
134
              SendEvent,\
121
              SetMouseData,\
135
              SetMouseData,\
122
              SetKeyboardData,\
136
              SetKeyboardData,\
123
              RegKeyboard,\
137
              RegKeyboard,\
124
              DelKeyboard,\
138
              DelKeyboard,\
125
              Sleep,\
139
              Sleep,\
126
              GetTimerTicks,\
140
              GetTimerTicks,\
127
\
141
\
128
              strncat,\
142
              strncat,\
129
              strncpy,\
143
              strncpy,\
130
              strncmp,\
144
              strncmp,\
131
              strnlen,\
145
              strnlen,\
132
              strchr,\
146
              strchr,\
133
              strrchr,\
147
              strrchr,\
134
\
148
\
135
              LFBAddress,\
149
              LFBAddress,\
136
              GetDisplay,\
150
              GetDisplay,\
137
              SetScreen,\
151
              SetScreen,\
138
\
152
\
139
              RegUSBDriver,\
153
              RegUSBDriver,\
140
              USBOpenPipe,\
154
              USBOpenPipe,\
141
              USBNormalTransferAsync,\
155
              USBNormalTransferAsync,\
142
              USBControlTransferAsync,\
156
              USBControlTransferAsync,\
143
              USBGetParam,\
157
              USBGetParam,\
144
              USBHCFunc,\
158
              USBHCFunc,\
145
\
159
\
146
              DiskAdd,\
160
              DiskAdd,\
147
              DiskMediaChanged,\
161
              DiskMediaChanged,\
148
              DiskDel,\
162
              DiskDel,\
149
\
163
\
150
              TimerHS,\
164
              TimerHS,\
151
              CancelTimerHS,\
165
              CancelTimerHS,\
152
\
166
\
153
              NetRegDev,\
167
              NetRegDev,\
154
              NetUnRegDev,\
168
              NetUnRegDev,\
155
              NetPtrToNum,\
169
              NetPtrToNum,\
156
              NetLinkChanged,\
170
              NetLinkChanged,\
157
              EthInput,\
171
              EthInput,\
158
              NetAlloc,\
172
              NetAlloc,\
159
              NetFree,\
173
              NetFree,\
160
\
174
\
161
              GetPCIList, \
175
              GetPCIList, \
162
\
176
\
163
              FS_Service
177
              FS_Service
164
 
178
 
165
end data
179
end data