name	user
id	2

1   pascal16 MessageBox(word ptr ptr word) MessageBox
2   stub OldExitWindows
3   stub EnableOEMLayer
4   stub DisableOEMLayer
5   pascal16 InitApp(word) USER_InitApp
6   pascal16 PostQuitMessage(word) PostQuitMessage
7   pascal16 ExitWindows(long word) ExitWindows
10  pascal16 SetTimer(word word word segptr) SetTimer
11  pascal16 SetSystemTimer(word word word segptr) SetSystemTimer
12  pascal16 KillTimer(word word) KillTimer
13  pascal   GetTickCount() GetTickCount
14  pascal   GetTimerResolution() GetTimerResolution
15  pascal   GetCurrentTime() GetTickCount
16  pascal16 ClipCursor(ptr) ClipCursor
17  pascal16 GetCursorPos(ptr) GetCursorPos
18  pascal16 SetCapture(word) SetCapture
19  pascal16 ReleaseCapture() ReleaseCapture
20  pascal16 SetDoubleClickTime(word) SetDoubleClickTime
21  pascal16 GetDoubleClickTime() GetDoubleClickTime
22  pascal16 SetFocus(word) SetFocus
23  pascal16 GetFocus() GetFocus
24  pascal16 RemoveProp(word segptr) RemoveProp
25  pascal16 GetProp(word segptr) GetProp
26  pascal16 SetProp(word segptr word) SetProp
27  pascal16 EnumProps(word segptr) EnumProps
28  pascal16 ClientToScreen(word ptr) ClientToScreen
29  pascal16 ScreenToClient(word ptr) ScreenToClient
30  pascal16 WindowFromPoint(long) WindowFromPoint
31  pascal16 IsIconic(word) IsIconic
32  pascal16 GetWindowRect(word ptr) GetWindowRect
33  pascal16 GetClientRect(word ptr) GetClientRect
34  pascal16 EnableWindow(word word) EnableWindow
35  pascal16 IsWindowEnabled(word) IsWindowEnabled
36  pascal16 GetWindowText(word segptr word) WIN16_GetWindowText
37  pascal16 SetWindowText(word segptr) WIN16_SetWindowText
38  pascal16 GetWindowTextLength(word) GetWindowTextLength
39  pascal16 BeginPaint(word ptr) BeginPaint
40  pascal16 EndPaint(word ptr) EndPaint
41  pascal16 CreateWindow(segptr segptr long s_word s_word s_word s_word
	                  word word word segptr) CreateWindow
42  pascal16 ShowWindow(word word) ShowWindow
43  pascal16 CloseWindow(word) CloseWindow
44  pascal16 OpenIcon(word) OpenIcon
45  pascal16 BringWindowToTop(word) BringWindowToTop
46  pascal16 GetParent(word) GetParent
47  pascal16 IsWindow(word) IsWindow
48  pascal16 IsChild(word word) IsChild
49  pascal16 IsWindowVisible(word) IsWindowVisible
50  pascal16 FindWindow(segptr ptr) FindWindow
#51 BEAR51
52  pascal16 AnyPopup() AnyPopup
53  pascal16 DestroyWindow(word) DestroyWindow
54  pascal16 EnumWindows(segptr long) EnumWindows
55  pascal16 EnumChildWindows(word segptr long) EnumChildWindows
56  pascal16 MoveWindow(word word word word word word) MoveWindow
57  pascal16 RegisterClass(ptr) RegisterClass
58  pascal16 GetClassName(word ptr word) GetClassName
59  pascal16 SetActiveWindow(word) SetActiveWindow
60  pascal16 GetActiveWindow() GetActiveWindow
61  pascal16 ScrollWindow(word s_word s_word ptr ptr) ScrollWindow
62  pascal16 SetScrollPos(word word s_word word) SetScrollPos
63  pascal16 GetScrollPos(word word) GetScrollPos
64  pascal16 SetScrollRange(word word s_word s_word word) SetScrollRange
65  pascal16 GetScrollRange(word word ptr ptr) GetScrollRange
66  pascal16 GetDC(word) GetDC
67  pascal16 GetWindowDC(word) GetWindowDC
68  pascal16 ReleaseDC(word word) ReleaseDC
69  pascal16 SetCursor(word) SetCursor
70  pascal16 SetCursorPos(word word) SetCursorPos
71  pascal16 ShowCursor(word) ShowCursor
72  pascal16 SetRect(ptr s_word s_word s_word s_word) SetRect
73  pascal16 SetRectEmpty(ptr) SetRectEmpty
74  pascal16 CopyRect(ptr ptr) CopyRect
75  pascal16 IsRectEmpty(ptr) IsRectEmpty
76  pascal16 PtInRect(ptr long) PtInRect
77  pascal16 OffsetRect(ptr s_word s_word) OffsetRect
78  pascal16 InflateRect(ptr s_word s_word) InflateRect
79  pascal16 IntersectRect(ptr ptr ptr) IntersectRect
80  pascal16 UnionRect(ptr ptr ptr) UnionRect
81  pascal16 FillRect(word ptr word) FillRect
82  pascal16 InvertRect(word ptr) InvertRect
83  pascal16 FrameRect(word ptr word) FrameRect
84  pascal16 DrawIcon(word s_word s_word word) DrawIcon
85  pascal16 DrawText(word ptr s_word ptr word) DrawText
87  pascal16 DialogBox(word segptr word segptr) DialogBox
88  pascal16 EndDialog(word s_word) EndDialog
89  pascal16 CreateDialog(word segptr word segptr) CreateDialog
90  pascal16 IsDialogMessage(word ptr) IsDialogMessage
91  pascal16 GetDlgItem(word word) GetDlgItem
92  pascal16 SetDlgItemText(word word segptr) SetDlgItemText
93  pascal16 GetDlgItemText(word word segptr word) GetDlgItemText
94  pascal16 SetDlgItemInt(word word word word) SetDlgItemInt
95  pascal16 GetDlgItemInt(word word ptr word) GetDlgItemInt
96  pascal16 CheckRadioButton(word word word word) CheckRadioButton
97  pascal16 CheckDlgButton(word word word) CheckDlgButton
98  pascal16 IsDlgButtonChecked(word word) IsDlgButtonChecked
99  pascal16 DlgDirSelect(word ptr word) DlgDirSelect
100 pascal16 DlgDirList(word ptr word word word) DlgDirList
101 pascal   SendDlgItemMessage(word word word word long) SendDlgItemMessage
102 pascal16 AdjustWindowRect(ptr long word) AdjustWindowRect
103 pascal16 MapDialogRect(word ptr) MapDialogRect
104 pascal16 MessageBeep(word) MessageBeep
105 pascal16 FlashWindow(word word) FlashWindow
106 pascal16 GetKeyState(word) GetKeyState
107 pascal   DefWindowProc(word word word long) DefWindowProc
108 pascal16 GetMessage(segptr word word word) GetMessage
109 pascal16 PeekMessage(ptr word word word word) PeekMessage
110 pascal16 PostMessage(word word word long) PostMessage
111 pascal   SendMessage(word word word long) SendMessage
112 pascal16 WaitMessage() WaitMessage
113 pascal16 TranslateMessage(ptr) TranslateMessage
114 pascal   DispatchMessage(ptr) DispatchMessage
115 stub ReplyMessage
116 pascal16 PostAppMessage(word word word long) PostAppMessage
118 pascal16 RegisterWindowMessage(long) RegisterWindowMessage
117 stub WindowFromDC
119 pascal   GetMessagePos() GetMessagePos
120 pascal   GetMessageTime() GetMessageTime
121 pascal   SetWindowsHook(s_word segptr) SetWindowsHook
122 pascal   CallWindowProc(segptr word word word long) CallWindowProc
123 pascal16 CallMsgFilter(segptr s_word) CallMsgFilter
124 pascal16 UpdateWindow(word) UpdateWindow
125 pascal16 InvalidateRect(word ptr word) InvalidateRect
126 pascal16 InvalidateRgn(word word word) InvalidateRgn
127 pascal16 ValidateRect(word ptr) ValidateRect
128 pascal16 ValidateRgn(word word) ValidateRgn
129 pascal16 GetClassWord(word s_word) GetClassWord
130 pascal16 SetClassWord(word s_word word) SetClassWord
131 pascal   GetClassLong(word s_word) GetClassLong
132 pascal   SetClassLong(word s_word long) SetClassLong
133 pascal16 GetWindowWord(word s_word) GetWindowWord
134 pascal16 SetWindowWord(word s_word word) SetWindowWord
135 pascal   GetWindowLong(word s_word) GetWindowLong
136 pascal   SetWindowLong(word s_word long) SetWindowLong
137 pascal16 OpenClipboard(word) OpenClipboard
138 pascal16 CloseClipboard() CloseClipboard
139 pascal16 EmptyClipboard() EmptyClipboard
140 pascal16 GetClipboardOwner() GetClipboardOwner
141 pascal16 SetClipboardData(word word) SetClipboardData
142 pascal16 GetClipboardData(word) GetClipboardData
143 pascal16 CountClipboardFormats() CountClipboardFormats
144 pascal16 EnumClipboardFormats(word) EnumClipboardFormats
145 pascal16 RegisterClipboardFormat(ptr) RegisterClipboardFormat
146 pascal16 GetClipboardFormatName(word ptr s_word) GetClipboardFormatName
147 pascal16 SetClipboardViewer(word) SetClipboardViewer
148 pascal16 GetClipboardViewer() GetClipboardViewer
149 pascal16 ChangeClipboardChain(word ptr) ChangeClipboardChain
150 pascal16 LoadMenu(word segptr) LoadMenu
151 pascal16 CreateMenu() CreateMenu
152 pascal16 DestroyMenu(word) DestroyMenu
153 pascal16 ChangeMenu(word word ptr word word) ChangeMenu
154 pascal16 CheckMenuItem(word word word) CheckMenuItem
155 pascal16 EnableMenuItem(word word word) EnableMenuItem
156 pascal16 GetSystemMenu(word word) GetSystemMenu
157 pascal16 GetMenu(word) GetMenu
158 pascal16 SetMenu(word word) SetMenu
159 pascal16 GetSubMenu(word word) GetSubMenu
160 pascal16 DrawMenuBar(word) DrawMenuBar
161 pascal16 GetMenuString(word word ptr s_word word) GetMenuString
162 pascal16 HiliteMenuItem(word word word word) HiliteMenuItem
163 pascal16 CreateCaret(word word word word) CreateCaret
164 pascal16 DestroyCaret() DestroyCaret
165 pascal16 SetCaretPos(word word) SetCaretPos
166 pascal16 HideCaret(word) HideCaret
167 pascal16 ShowCaret(word) ShowCaret
168 pascal16 SetCaretBlinkTime(word) SetCaretBlinkTime
169 pascal16 GetCaretBlinkTime() GetCaretBlinkTime
170 pascal16 ArrangeIconicWindows(word) ArrangeIconicWindows
171 pascal16 WinHelp(word ptr word long) WinHelp
172 stub SwitchToThisWindow
173 pascal16 LoadCursor(word segptr) LoadCursor
174 pascal16 LoadIcon(word segptr) LoadIcon
175 pascal16 LoadBitmap(word segptr) LoadBitmap
176 pascal16 LoadString(word word ptr s_word) LoadString
177 pascal16 LoadAccelerators(word segptr) LoadAccelerators
178 pascal16 TranslateAccelerator(word word ptr) TranslateAccelerator
179 pascal16 GetSystemMetrics(word) GetSystemMetrics
180 pascal   GetSysColor(word) GetSysColor
181 pascal16 SetSysColors(word ptr ptr) SetSysColors
182 pascal16 KillSystemTimer(word word) KillSystemTimer
183 pascal16 GetCaretPos(ptr) GetCaretPos
184 stub QuerySendMessage
185 pascal16 GrayString(word word ptr ptr word word word word word) GrayString
186 pascal16 SwapMouseButton(word) SwapMouseButton
187 pascal16 EndMenu() EndMenu
188 pascal16 SetSysModalWindow(word) SetSysModalWindow
189 pascal16 GetSysModalWindow() GetSysModalWindow
190 pascal16 GetUpdateRect(word ptr word) GetUpdateRect
191 pascal16 ChildWindowFromPoint(word long) ChildWindowFromPoint
192 pascal16 InSendMessage() InSendMessage
193 pascal16 IsClipboardFormatAvailable(word) IsClipboardFormatAvailable
194 pascal16 DlgDirSelectComboBox(word ptr word) DlgDirSelectComboBox
195 pascal16 DlgDirListComboBox(word segptr word word word) DlgDirListComboBox
196 pascal   TabbedTextOut(word s_word s_word ptr s_word s_word ptr s_word)
             TabbedTextOut
197 pascal   GetTabbedTextExtent(word ptr word word ptr) GetTabbedTextExtent
198 pascal16 CascadeChildWindows(word word) CascadeChildWindows
199 pascal16 TileChildWindows(word word) TileChildWindows
200 pascal16 OpenComm(ptr word word) OpenComm
201 pascal16 SetCommState(ptr) SetCommState
202 pascal16 GetCommState(word ptr) GetCommState
203 pascal16 GetCommError(word ptr) GetCommError
204 pascal16 ReadComm(word ptr word) ReadComm
205 pascal16 WriteComm(word ptr word) WriteComm
206 pascal16 TransmitCommChar(word byte) TransmitCommChar 
207 pascal16 CloseComm(word) CloseComm
208 pascal   SetCommEventMask(word word) SetCommEventMask
209 pascal16 GetCommEventMask(word word) GetCommEventMask
210 pascal16 SetCommBreak(word) SetCommBreak
211 pascal16 ClearCommBreak(word) ClearCommBreak
212 pascal16 UngetCommChar(word byte) UngetCommChar
213 pascal16 BuildCommDCB(ptr ptr) BuildCommDCB
214 pascal   EscapeCommFunction(word word) EscapeCommFunction
215 pascal16 FlushComm(word word) FlushComm
#216 USERSEEUSERDO
217 pascal16 LookupMenuHandle(word s_word) LookupMenuHandle
218 pascal16 DialogBoxIndirect(word word word segptr) DialogBoxIndirect
219 pascal16 CreateDialogIndirect(word segptr word segptr) CreateDialogIndirect
220 pascal16 LoadMenuIndirect(ptr) LoadMenuIndirect
221 pascal16 ScrollDC(word s_word s_word ptr ptr word ptr) ScrollDC
222 pascal16 GetKeyboardState(ptr) GetKeyboardState
223 pascal16 SetKeyboardState(ptr) SetKeyboardState
224 pascal16 GetWindowTask(word) GetWindowTask
225 pascal16 EnumTaskWindows(word segptr long) EnumTaskWindows
226 stub LockInput
227 pascal16 GetNextDlgGroupItem(word word word) GetNextDlgGroupItem
228 pascal16 GetNextDlgTabItem(word word word) GetNextDlgTabItem
229 pascal16 GetTopWindow(word) GetTopWindow
230 pascal16 GetNextWindow(word word) GetNextWindow
231 stub GetSystemDebugState
232 pascal16 SetWindowPos(word word word word word word word) SetWindowPos
233 pascal16 SetParent(word word) SetParent
234 pascal16 UnhookWindowsHook(s_word segptr) UnhookWindowsHook
235 pascal   DefHookProc(s_word word long ptr) DefHookProc
236 pascal16 GetCapture() GetCapture
237 pascal16 GetUpdateRgn(word word word) GetUpdateRgn
238 pascal16 ExcludeUpdateRgn(word word) ExcludeUpdateRgn
239 pascal16 DialogBoxParam(word segptr word segptr long) DialogBoxParam
240 pascal16 DialogBoxIndirectParam(word word word segptr long)
             DialogBoxIndirectParam
241 pascal16 CreateDialogParam(word segptr word segptr long) CreateDialogParam
242 pascal16 CreateDialogIndirectParam(word segptr word segptr long)
             CreateDialogIndirectParam
243 pascal   GetDialogBaseUnits() GetDialogBaseUnits
244 pascal16 EqualRect(ptr ptr) EqualRect
245 stub EnableCommNotification
246 stub ExitWindowsExec
247 pascal16 GetCursor() GetCursor
248 pascal16 GetOpenClipboardWindow() GetOpenClipboardWindow
249 pascal16 GetAsyncKeyState(word) GetAsyncKeyState
250 pascal16 GetMenuState(word word word) GetMenuState
251 pascal   SendDriverMessage(word word long long) SendDriverMessage
252 pascal16 OpenDriver(ptr ptr long) OpenDriver
253 pascal   CloseDriver(word long long) CloseDriver
254 pascal16 GetDriverModuleHandle(word) GetDriverModuleHandle
255 pascal   DefDriverProc(long word word long long) DefDriverProc
256 pascal16 GetDriverInfo(word ptr) GetDriverInfo
257 pascal16 GetNextDriver(word long) GetNextDriver
258 pascal16 MapWindowPoints(word word ptr word) MapWindowPoints
259 pascal16 BeginDeferWindowPos(s_word) BeginDeferWindowPos
260 pascal16 DeferWindowPos(word word word s_word s_word s_word s_word word)
             DeferWindowPos
261 pascal16 EndDeferWindowPos(word) EndDeferWindowPos
262 pascal16 GetWindow(word word) GetWindow
263 pascal16 GetMenuItemCount(word) GetMenuItemCount
264 pascal16 GetMenuItemID(word word) GetMenuItemID
265 pascal16 ShowOwnedPopups(word word) ShowOwnedPopups
266 pascal16 SetMessageQueue(word) SetMessageQueue
267 pascal16 ShowScrollBar(word word word) ShowScrollBar
268 pascal16 GlobalAddAtom(segptr) GlobalAddAtom
269 pascal16 GlobalDeleteAtom(word) GlobalDeleteAtom
270 pascal16 GlobalFindAtom(segptr) GlobalFindAtom
271 pascal16 GlobalGetAtomName(word ptr s_word) GlobalGetAtomName
272 pascal16 IsZoomed(word) IsZoomed
273 stub ControlPanelInfo
274 stub GetNextQueueWindow
275 stub RepaintScreen
276 stub LockMyTask
277 pascal16 GetDlgCtrlID(word) GetDlgCtrlID
278 pascal16 GetDeskTopHwnd() GetDesktopWindow
279 stub OldSetDeskPattern
280 stub SetSystemMenu
281 pascal16 GetSysColorBrush(word) GetSysColorBrush
282 pascal16 SelectPalette(word word word) SelectPalette
283 pascal16 RealizePalette(word) RealizePalette
284 pascal16 GetFreeSystemResources(word) GetFreeSystemResources
#285 BEAR285
286 pascal16 GetDesktopWindow() GetDesktopWindow
287 pascal16 GetLastActivePopup(word) GetLastActivePopup
288 pascal   GetMessageExtraInfo() GetMessageExtraInfo
#289 KEYB_EVENT
290 pascal16 RedrawWindow(word ptr word word) RedrawWindow
291 pascal   SetWindowsHookEx(s_word segptr word word) SetWindowsHookEx
292 pascal16 UnhookWindowsHookEx(segptr) UnhookWindowsHookEx
293 pascal   CallNextHookEx(segptr s_word word long) CallNextHookEx
294 stub LockWindowUpdate
#299 MOUSE_EVENT
300 stub UnloadInstalledDrivers
#301 BOZOSLIVEHERE :-))
#306 BEAR306
308 pascal   DefDlgProc(word word word long) DefDlgProc
309 pascal16 GetClipCursor(ptr) GetClipCursor
314 stub SignalProc
319 pascal16 ScrollWindowEx(word s_word s_word ptr ptr word ptr word)
             ScrollWindowEx
320 stub SysErrorBox
321 stub SetEventHook
322 stub WinOldAppHackOMatic
323 stub GetMessage2
324 pascal16 FillWindow(word word word word) FillWindow
325 pascal16 PaintRect(word word word word ptr) PaintRect
326 pascal16 GetControlBrush(word word word) GetControlBrush
331 pascal16 EnableHardwareInput(word) EnableHardwareInput
332 return UserYield 0 0
333 stub IsUserIdle
334 pascal   GetQueueStatus(word) GetQueueStatus
335 pascal16 GetInputState() GetInputState
336 stub LoadCursorIconHandler
337 stub GetMouseEventProc
#341 _FFFE_FARFRAME
343 stub GetFilePortName
356 stub LoadDIBCursorHandler
357 stub LoadDIBIconHandler
358 pascal16 IsMenu(word) IsMenu
359 pascal16 GetDCEx(word word long) GetDCEx
362 stub DCHook
364 stub LookupIconIDFromDirectoryEx
368 pascal16 CopyIcon(word word) CopyIcon
369 pascal16 CopyCursor(word word) CopyCursor
370 pascal16 GetWindowPlacement(word ptr) GetWindowPlacement
371 pascal16 SetWindowPlacement(word ptr) SetWindowPlacement
372 stub GetInternalIconHeader
373 pascal16 SubtractRect(ptr ptr ptr) SubtractRect
375 stub DrawTextEx
376 stub SetMessageExtraInfo
378 stub SetPropEx
379 stub GetPropEx
380 stub RemovePropEx
381 stub UsrMPR_ThunkData16
382 stub SetWindowContextHelpID
383 stub GetWindowContextHelpID
384 stub SetMenuContextHelpID
385 stub GetMenuContextHelpID
389 stub LoadImage
390 stub CopyImage
391 stub SignalProc32
394 stub DrawIconEx
395 stub GetIconInfo
397 stub RegisterClassEx
398 stub GetClassInfoEx
399 stub ChildWindowFromPointEx
400 stub FinalUserInit
402 pascal16 GetPriorityClipboardFormat(word ptr s_word)
             GetPriorityClipboardFormat
403 pascal16 UnregisterClass(segptr word) UnregisterClass
404 pascal16 GetClassInfo(word segptr ptr) GetClassInfo
406 pascal16 CreateCursor(word word word word word ptr ptr) CreateCursor
407 pascal16 CreateIcon(word word word word word ptr ptr) CreateIcon
408 pascal16 CreateCursorIconIndirect(word ptr ptr ptr)
	     CreateCursorIconIndirect
409 stub InitThreadInput
410 pascal16 InsertMenu(word word word word ptr) InsertMenu
411 pascal16 AppendMenu(word word word ptr) AppendMenu
412 pascal16 RemoveMenu(word word word) RemoveMenu
413 pascal16 DeleteMenu(word word word) DeleteMenu
414 pascal16 ModifyMenu(word word word word ptr) ModifyMenu
415 pascal16 CreatePopupMenu() CreatePopupMenu
416 pascal16 TrackPopupMenu(word word word word word word ptr) TrackPopupMenu
417 pascal   GetMenuCheckMarkDimensions() GetMenuCheckMarkDimensions
418 pascal16 SetMenuItemBitmaps(word word word word word) SetMenuItemBitmaps
420 pascal16 wsprintf() windows_wsprintf
# windows_wsprintf() handles arguments itself, as libc can't handle an
# 16-bit stack. DLLRelay() will pass 16-bit stack pointer as 1st arg.
421 pascal16 wvsprintf(ptr ptr ptr) wvsprintf
422 stub DlgDirSelectEx
423 stub DlgDirSelectComboBoxEx
427 stub FindWindowEx
428 stub TileWindows
429 stub CascadeWindows
430 pascal16 lstrcmp(ptr ptr) lstrcmp
431 pascal   AnsiUpper(segptr) WIN16_AnsiUpper
432 pascal   AnsiLower(segptr) WIN16_AnsiLower
433 pascal16 IsCharAlpha(byte) IsCharAlpha
434 pascal16 IsCharAlphanumeric(byte) IsCharAlphanumeric
435 pascal16 IsCharUpper(byte) IsCharUpper
436 pascal16 IsCharLower(byte) IsCharLower
437 pascal16 AnsiUpperBuff(ptr word) AnsiUpperBuff
438 pascal16 AnsiLowerBuff(ptr word) AnsiLowerBuff
441 stub InsertMenuItem
443 stub GetMenuItemInfo
445 pascal   DefFrameProc(word word word word long) DefFrameProc
446 stub SetMenuItemInfo
447 pascal   DefMDIChildProc(word word word long) DefMDIChildProc
448 stub DrawAnimatedRects
449 stub DrawState
450 stub CreateIconFromResourceEx
451 pascal16 TranslateMDISysAccel(word ptr) TranslateMDISysAccel
452 pascal16 CreateWindowEx(long segptr segptr long s_word s_word s_word s_word
                            word word word segptr) CreateWindowEx
454 pascal16 AdjustWindowRectEx(ptr long word long) AdjustWindowRectEx
455 pascal16 GetIconID(word long) GetIconID
456 pascal16 LoadIconHandler(word word) LoadIconHandler
457 pascal16 DestroyIcon(word) DestroyIcon
458 pascal16 DestroyCursor(word) DestroyCursor
459 pascal   DumpIcon(ptr ptr ptr ptr) DumpIcon
460 pascal16 GetInternalWindowPos(word ptr ptr) GetInternalWindowPos
461 pascal16 SetInternalWindowPos(word word ptr ptr) SetInternalWindowPos
462 pascal16 CalcChildScroll(word word) CalcChildScroll
463 stub ScrollChildren
464 pascal16 DragObject(word word word word word word) DragObject
465 stub DragDetect
466 pascal16 DrawFocusRect(word ptr) DrawFocusRect
470 stub StringFunc
471 pascal16 lstrcmpi(ptr ptr) lstrcmpi
472 pascal   AnsiNext(segptr) AnsiNext
473 pascal   AnsiPrev(segptr segptr) AnsiPrev
475 stub SetScrollInfo
476 stub GetScrollInfo
477 stub GetKeyboardLayoutName
478 stub LoadKeyboardLayout
479 stub MenuItemFromPoint
480 stub GetUserLocalObjType
#481 HARDWARE_EVENT
482 pascal16 EnableScrollBar(word word word) EnableScrollBar
483 pascal16 SystemParametersInfo(word word ptr word) SystemParametersInfo
#484 __GP
499 pascal16 WNetErrorText(word ptr word) WNetErrorText
501 pascal16 WNetOpenJob(ptr ptr word ptr)  WNetOpenJob
502 pascal16 WNetCloseJob(word ptr ptr) WNetCloseJob
503 pascal16 WNetAbortJob(ptr word) WNetAbortJob
504 pascal16 WNetHoldJob(ptr word) WNetHoldJob
505 pascal16 WNetReleaseJob(ptr word) WNetReleaseJob
506 pascal16 WNetCancelJob(ptr word) WNetCancelJob
507 pascal16 WNetSetJobCopies(ptr word word) WNetSetJobCopies
508 pascal16 WNetWatchQueue(word ptr ptr word) WNetWatchQueue
509 pascal16 WNetUnwatchQueue(word ptr ptr word) WNetUnwatchQueue
510 pascal16 WNetLockQueueData(ptr ptr ptr) WNetLockQueueData
511 pascal16 WNetUnlockQueueData(ptr) WNetUnlockQueueData
512 pascal16 WNetGetConnection(ptr ptr ptr) WNetGetConnection
513 pascal16 WNetGetCaps(word) WNetGetCaps
514 pascal16 WNetDeviceMode(word) WNetDeviceMode
515 pascal16 WNetBrowseDialog(word word ptr) WNetBrowseDialog
516 pascal16 WNetGetUser(ptr ptr ptr) WNetGetUser
517 pascal16 WNetAddConnection(ptr ptr ptr) WNetAddConnection
518 pascal16 WNetCancelConnection(ptr word) WNetCancelConnection
519 pascal16 WNetGetError(ptr) WNetGetError
520 pascal16 WNetGetErrorText(word ptr ptr) WNetGetErrorText
521 stub WNetEnable
522 stub WNetDisable
523 pascal16 WNetRestoreConnection(word ptr) WNetRestoreConnection
524 pascal16 WNetWriteJob(word ptr ptr) WNetWriteJob
525 pascal16 WnetConnectDialog(word word) WNetConnectDialog
526 pascal16 WNetDisconnectDialog(word word) WNetDisconnectDialog
527 pascal16 WNetConnectionDialog(word word) WNetConnectionDialog
528 pascal16 WNetViewQueueDialog(word ptr) WNetViewQueueDialog
529 pascal16 WNetPropertyDialog(word word ptr word) WNetPropertyDialog
530 pascal16 WNetGetDirectoryType(ptr ptr) WNetGetDirectoryType
531 pascal16 WNetDirectoryNotify(word ptr word) WNetDirectoryNotify
532 pascal16 WNetGetPropertyText(word word word ptr word) WNetGetPropertyText
533 stub WNetInitialize
534 stub WNetLogon
669 stub SetWindowRgn
600 stub GetShellWindow
601 stub DoHotkeyStuff
602 stub SetCheckCursorTimer
604 stub BroadcastSystemMessage
605 stub HackTaskMonitor
606 stub FormatMessage
608 stub GetForegroundWindow
609 stub SetForegroundWindow
610 stub DestroyIcon32
620 stub ChangeDisplaySettings
621 stub EnumDisplaySettings
640 stub MsgWaitForMultipleObjects
650 stub ActivateKeyboardLayout
651 stub GetKeyboardLayout
652 stub GetKeyboardLayoutList
654 stub UnloadKeyboardLayout
655 stub PostPostedMessages
656 stub DrawFrameControl
657 stub DrawCaptionTemp
658 stub DispatchInput
659 stub DrawEdge
660 stub DrawCaption
661 stub SetSysColorsTemp
662 stub DrawMenubarTemp
663 stub GetMenuDefaultItem
664 stub SetMenuDefaultItem
665 stub GetMenuItemRect
666 stub CheckMenuRadioItem
667 stub TrackPopupMenuEx
668 stub SetWindowRgn
669 stub GetWindowRgn
800 stub CHOOSEFONT_CALLBACK16
801 stub FINDREPLACE_CALLBACK16
802 stub OPENFILENAME_CALLBACK16
803 stub PRINTDLG_CALLBACK16
804 stub CHOOSECOLOR_CALLBACK16
819 stub PeekMessage32
820 stub GetMessage32
821 stub TranslateMessage32
821 stub IsDialogMessage32
822 stub DispatchMessage32
825 stub PostMessage32
826 stub PostThreadMessage32
827 stub MessageBoxIndirect
823 stub CallMsgFilter32
851 stub MsgThkConnectionDataLS
853 stub FT_USRFTHKTHKCONNECTIONDATA
854 stub FT__USRF2THKTHKCONNECTIONDATA
855 stub Usr32ThkConnectionDataSL
890 stub InstallIMT
891 stub UninstallIMT
