name	user
type	win16
heap	65520

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() GetCurrentTime
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 segptr 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 segptr 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(segptr) 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() GetDesktopHwnd
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 register Mouse_Event() Mouse_Event
300 stub UnloadInstalledDrivers
#301 BOZOSLIVEHERE :-))	<- this is actually EditWndProc
#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 pascal   GetMouseEventProc() 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 segptr) InsertMenu
411 pascal16 AppendMenu(word word word segptr) AppendMenu
412 pascal16 RemoveMenu(word word word) RemoveMenu
413 pascal16 DeleteMenu(word word word) DeleteMenu
414 pascal16 ModifyMenu(word word word word segptr) 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(segptr 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 pascal16 ScrollChildren(word word word long) ScrollChildren
464 pascal   DragObject(word word word word word word) DragObject
465 pascal16 DragDetect(word long) 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 pascal16 DrawFrameControl(word ptr word word) DrawFrameControl
657 stub DrawCaptionTemp
658 stub DispatchInput
659 pascal16 DrawEdge(word ptr word word) 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
# Stubs for Hebrew version
489 pascal16 USER_489() stub_USER_489
490 pascal16 USER_490() stub_USER_490
492 pascal16 USER_492() stub_USER_492
496 pascal16 USER_496() stub_USER_496
902 pascal16 USER_902() stub_USER_902
905 pascal16 USER_905() stub_USER_905
906 pascal16 USER_906() stub_USER_906
907 pascal16 USER_907() stub_USER_907
909 pascal16 USER_909() stub_USER_909
910 pascal16 USER_910() stub_USER_910
911 pascal16 USER_911() stub_USER_911
912 pascal16 USER_912() stub_USER_912
913 pascal16 USER_913() stub_USER_913
914 pascal16 USER_914() stub_USER_914
915 pascal16 USER_915() stub_USER_915
916 pascal16 USER_916() stub_USER_916
918 pascal16 USER_918() stub_USER_918
919 pascal16 USER_919() stub_USER_919
920 pascal16 USER_920() stub_USER_920
922 pascal16 USER_922() stub_USER_922
923 pascal16 USER_923() stub_USER_923
