name	user
type	win16
heap	65520
file	user.exe

1   pascal16 MessageBox(word str str word) MessageBox16
2   stub OldExitWindows
3   stub EnableOEMLayer
4   stub DisableOEMLayer
5   pascal16 InitApp(word) InitApp16
6   pascal16 PostQuitMessage(word) PostQuitMessage16
7   pascal16 ExitWindows(long word) ExitWindows16
10  pascal16 SetTimer(word word word segptr) SetTimer16
11  pascal16 SetSystemTimer(word word word segptr) SetSystemTimer16
12  pascal16 KillTimer(word word) KillTimer16
13  pascal   GetTickCount() GetTickCount
14  pascal   GetTimerResolution() GetTimerResolution16
15  pascal   GetCurrentTime() GetCurrentTime16
16  pascal16 ClipCursor(ptr) ClipCursor16
17  pascal16 GetCursorPos(ptr) GetCursorPos16
18  pascal16 SetCapture(word) SetCapture16
19  pascal16 ReleaseCapture() ReleaseCapture
20  pascal16 SetDoubleClickTime(word) SetDoubleClickTime16
21  pascal16 GetDoubleClickTime() GetDoubleClickTime16
22  pascal16 SetFocus(word) SetFocus16
23  pascal16 GetFocus() GetFocus16
24  pascal16 RemoveProp(word ptr) RemoveProp16
25  pascal16 GetProp(word ptr) GetProp16
26  pascal16 SetProp(word ptr word) SetProp16
27  pascal16 EnumProps(word segptr) THUNK_EnumProps16
28  pascal16 ClientToScreen(word ptr) ClientToScreen16
29  pascal16 ScreenToClient(word ptr) ScreenToClient16
30  pascal16 WindowFromPoint(long) WindowFromPoint16
31  pascal16 IsIconic(word) IsIconic16
32  pascal16 GetWindowRect(word ptr) GetWindowRect16
33  pascal16 GetClientRect(word ptr) GetClientRect16
34  pascal16 EnableWindow(word word) EnableWindow16
35  pascal16 IsWindowEnabled(word) IsWindowEnabled16
36  pascal16 GetWindowText(word segptr word) GetWindowText16
37  pascal16 SetWindowText(word segstr) SetWindowText16
38  pascal16 GetWindowTextLength(word) GetWindowTextLength16
39  pascal16 BeginPaint(word ptr) BeginPaint16
40  pascal16 EndPaint(word ptr) EndPaint16
41  pascal16 CreateWindow(str str long s_word s_word s_word s_word
	                  word word word segptr) CreateWindow16
42  pascal16 ShowWindow(word word) ShowWindow16
43  pascal16 CloseWindow(word) CloseWindow16
44  pascal16 OpenIcon(word) OpenIcon16
45  pascal16 BringWindowToTop(word) BringWindowToTop16
46  pascal16 GetParent(word) GetParent16
47  register IsWindow(word) WIN16_IsWindow16
48  pascal16 IsChild(word word) IsChild16
49  pascal16 IsWindowVisible(word) IsWindowVisible16
50  pascal16 FindWindow(segstr str) FindWindow16
51  stub BEAR51 # IsTwoByteCharPrefix
52  pascal16 AnyPopup() AnyPopup16
53  pascal16 DestroyWindow(word) DestroyWindow16
54  pascal16 EnumWindows(segptr long) THUNK_EnumWindows16
55  pascal16 EnumChildWindows(word segptr long) THUNK_EnumChildWindows16
56  pascal16 MoveWindow(word word word word word word) MoveWindow16
57  pascal16 RegisterClass(ptr) RegisterClass16
58  pascal16 GetClassName(word ptr word) GetClassName16
59  pascal16 SetActiveWindow(word) SetActiveWindow16
60  pascal16 GetActiveWindow() GetActiveWindow16
61  pascal16 ScrollWindow(word s_word s_word ptr ptr) ScrollWindow16
62  pascal16 SetScrollPos(word word s_word word) SetScrollPos16
63  pascal16 GetScrollPos(word word) GetScrollPos16
64  pascal16 SetScrollRange(word word s_word s_word word) SetScrollRange16
65  pascal16 GetScrollRange(word word ptr ptr) GetScrollRange16
66  pascal16 GetDC(word) GetDC16
67  pascal16 GetWindowDC(word) GetWindowDC16
68  pascal16 ReleaseDC(word word) ReleaseDC16
69  pascal16 SetCursor(word) SetCursor16
70  pascal16 SetCursorPos(word word) SetCursorPos16
71  pascal16 ShowCursor(word) ShowCursor16
72  pascal16 SetRect(ptr s_word s_word s_word s_word) SetRect16
73  pascal16 SetRectEmpty(ptr) SetRectEmpty16
74  pascal16 CopyRect(ptr ptr) CopyRect16
75  pascal16 IsRectEmpty(ptr) IsRectEmpty16
76  pascal16 PtInRect(ptr long) PtInRect16
77  pascal16 OffsetRect(ptr s_word s_word) OffsetRect16
78  pascal16 InflateRect(ptr s_word s_word) InflateRect16
79  pascal16 IntersectRect(ptr ptr ptr) IntersectRect16
80  pascal16 UnionRect(ptr ptr ptr) UnionRect16
81  pascal16 FillRect(word ptr word) FillRect16
82  pascal16 InvertRect(word ptr) InvertRect16
83  pascal16 FrameRect(word ptr word) FrameRect16
84  pascal16 DrawIcon(word s_word s_word word) DrawIcon16
85  pascal16 DrawText(word str s_word ptr word) DrawText16
86  stub BEAR86 # IconSize
87  pascal16 DialogBox(word segstr word segptr) DialogBox16
88  pascal16 EndDialog(word s_word) EndDialog16
89  pascal16 CreateDialog(word segstr word segptr) CreateDialog16
90  pascal16 IsDialogMessage(word segptr) WIN16_IsDialogMessage16
91  pascal16 GetDlgItem(word word) GetDlgItem16
92  pascal16 SetDlgItemText(word word segstr) SetDlgItemText16
93  pascal16 GetDlgItemText(word word segptr word) GetDlgItemText16
94  pascal16 SetDlgItemInt(word word word word) SetDlgItemInt16
95  pascal16 GetDlgItemInt(word s_word ptr word) GetDlgItemInt16
96  pascal16 CheckRadioButton(word word word word) CheckRadioButton16
97  pascal16 CheckDlgButton(word word word) CheckDlgButton16
98  pascal16 IsDlgButtonChecked(word word) IsDlgButtonChecked16
99  pascal16 DlgDirSelect(word ptr word) DlgDirSelect16
100 pascal16 DlgDirList(word ptr word word word) DlgDirList16
101 pascal   SendDlgItemMessage(word word word word long) SendDlgItemMessage16
102 pascal16 AdjustWindowRect(ptr long word) AdjustWindowRect16
103 pascal16 MapDialogRect(word ptr) MapDialogRect16
104 pascal16 MessageBeep(word) MessageBeep16
105 pascal16 FlashWindow(word word) FlashWindow16
106 pascal16 GetKeyState(word) GetKeyState16
107 pascal   DefWindowProc(word word word long) DefWindowProc16
108 pascal16 GetMessage(segptr word word word) GetMessage16
109 pascal16 PeekMessage(ptr word word word word) PeekMessage16
110 pascal16 PostMessage(word word word long) PostMessage16
111 pascal   SendMessage(word word word long) SendMessage16
112 pascal16 WaitMessage() WaitMessage
113 pascal16 TranslateMessage(ptr) TranslateMessage16
114 pascal   DispatchMessage(ptr) DispatchMessage16
115 pascal16 ReplyMessage(long) ReplyMessage16
116 pascal16 PostAppMessage(word word word long) PostAppMessage16
118 pascal16 RegisterWindowMessage(segstr) RegisterWindowMessage16
117 pascal16 WindowFromDC(word) WindowFromDC16
119 pascal   GetMessagePos() GetMessagePos
120 pascal   GetMessageTime() GetMessageTime
121 pascal   SetWindowsHook(s_word segptr) THUNK_SetWindowsHook16
122 pascal   CallWindowProc(segptr word word word long) CallWindowProc16
123 pascal16 CallMsgFilter(segptr s_word) CallMsgFilter16
124 pascal16 UpdateWindow(word) UpdateWindow16
125 pascal16 InvalidateRect(word ptr word) InvalidateRect16
126 pascal16 InvalidateRgn(word word word) InvalidateRgn16
127 pascal16 ValidateRect(word ptr) ValidateRect16
128 pascal16 ValidateRgn(word word) ValidateRgn16
129 pascal16 GetClassWord(word s_word) GetClassWord16
130 pascal16 SetClassWord(word s_word word) SetClassWord16
131 pascal   GetClassLong(word s_word) GetClassLong16
132 pascal   SetClassLong(word s_word long) SetClassLong16
133 pascal16 GetWindowWord(word s_word) GetWindowWord16
134 pascal16 SetWindowWord(word s_word word) SetWindowWord16
135 pascal   GetWindowLong(word s_word) GetWindowLong16
136 pascal   SetWindowLong(word s_word long) SetWindowLong16
137 pascal16 OpenClipboard(word) OpenClipboard16
138 pascal16 CloseClipboard() CloseClipboard16
139 pascal16 EmptyClipboard() EmptyClipboard16
140 pascal16 GetClipboardOwner() GetClipboardOwner16
141 pascal16 SetClipboardData(word word) SetClipboardData16
142 pascal16 GetClipboardData(word) GetClipboardData16
143 pascal16 CountClipboardFormats() CountClipboardFormats16
144 pascal16 EnumClipboardFormats(word) EnumClipboardFormats16
145 pascal16 RegisterClipboardFormat(ptr) RegisterClipboardFormat16
146 pascal16 GetClipboardFormatName(word ptr s_word) GetClipboardFormatName16
147 pascal16 SetClipboardViewer(word) SetClipboardViewer16
148 pascal16 GetClipboardViewer() GetClipboardViewer16
149 pascal16 ChangeClipboardChain(word word) ChangeClipboardChain16
150 pascal16 LoadMenu(word segstr) LoadMenu16
151 pascal16 CreateMenu() CreateMenu16
152 pascal16 DestroyMenu(word) DestroyMenu16
153 pascal16 ChangeMenu(word word segstr word word) ChangeMenu16
154 pascal16 CheckMenuItem(word word word) CheckMenuItem16
155 pascal16 EnableMenuItem(word word word) EnableMenuItem16
156 pascal16 GetSystemMenu(word word) GetSystemMenu16
157 pascal16 GetMenu(word) GetMenu16
158 pascal16 SetMenu(word word) SetMenu16
159 pascal16 GetSubMenu(word word) GetSubMenu16
160 pascal16 DrawMenuBar(word) DrawMenuBar16
161 pascal16 GetMenuString(word word ptr s_word word) GetMenuString16
162 pascal16 HiliteMenuItem(word word word word) HiliteMenuItem16
163 pascal16 CreateCaret(word word word word) CreateCaret16
164 pascal16 DestroyCaret() DestroyCaret16
165 pascal16 SetCaretPos(word word) SetCaretPos16
166 pascal16 HideCaret(word) HideCaret16
167 pascal16 ShowCaret(word) ShowCaret16
168 pascal16 SetCaretBlinkTime(word) SetCaretBlinkTime16
169 pascal16 GetCaretBlinkTime() GetCaretBlinkTime16
170 pascal16 ArrangeIconicWindows(word) ArrangeIconicWindows16
171 pascal16 WinHelp(word str word long) WinHelp16
172 pascal16 SwitchToThisWindow(word word) SwitchToThisWindow16
173 pascal16 LoadCursor(word segstr) LoadCursor16
174 pascal16 LoadIcon(word segstr) LoadIcon16
175 pascal16 LoadBitmap(word segstr) LoadBitmap16
176 pascal16 LoadString(word word ptr s_word) LoadString16
177 pascal16 LoadAccelerators(word segstr) LoadAccelerators16
178 pascal16 TranslateAccelerator(word word ptr) TranslateAccelerator16
179 pascal16 GetSystemMetrics(s_word) GetSystemMetrics16
180 pascal   GetSysColor(word) GetSysColor16
181 pascal16 SetSysColors(word ptr ptr) SetSysColors16
182 pascal16 KillSystemTimer(word word) KillSystemTimer16
183 pascal16 GetCaretPos(ptr) GetCaretPos16
184 stub QuerySendMessage
185 pascal16 GrayString(word word segptr segptr s_word s_word s_word s_word s_word) THUNK_GrayString16
186 pascal16 SwapMouseButton(word) SwapMouseButton16
187 pascal16 EndMenu() EndMenu
188 pascal16 SetSysModalWindow(word) SetSysModalWindow16
189 pascal16 GetSysModalWindow() GetSysModalWindow16
190 pascal16 GetUpdateRect(word ptr word) GetUpdateRect16
191 pascal16 ChildWindowFromPoint(word long) ChildWindowFromPoint16
192 pascal16 InSendMessage() InSendMessage16
193 pascal16 IsClipboardFormatAvailable(word) IsClipboardFormatAvailable16
194 pascal16 DlgDirSelectComboBox(word ptr word) DlgDirSelectComboBox16
195 pascal16 DlgDirListComboBox(word ptr word word word) DlgDirListComboBox16
196 pascal   TabbedTextOut(word s_word s_word ptr s_word s_word ptr s_word)
             TabbedTextOut16
197 pascal   GetTabbedTextExtent(word ptr word word ptr) GetTabbedTextExtent16
198 pascal16 CascadeChildWindows(word word) CascadeChildWindows16
199 pascal16 TileChildWindows(word word) TileChildWindows16
200 pascal16 OpenComm(str word word) OpenComm16
201 pascal16 SetCommState(ptr) SetCommState16
202 pascal16 GetCommState(word ptr) GetCommState16
203 pascal16 GetCommError(word ptr) GetCommError16
204 pascal16 ReadComm(word ptr word) ReadComm16
205 pascal16 WriteComm(word ptr word) WriteComm16
206 pascal16 TransmitCommChar(word word) TransmitCommChar16
207 pascal16 CloseComm(word) CloseComm16
208 pascal   SetCommEventMask(word word) SetCommEventMask16
209 pascal16 GetCommEventMask(word word) GetCommEventMask16
210 pascal16 SetCommBreak(word) SetCommBreak16
211 pascal16 ClearCommBreak(word) ClearCommBreak16
212 pascal16 UngetCommChar(word word) UngetCommChar16
213 pascal16 BuildCommDCB(ptr ptr) BuildCommDCB16
214 pascal   EscapeCommFunction(word word) EscapeCommFunction16
215 pascal16 FlushComm(word word) FlushComm16
216 pascal   UserSeeUserDo(word word word word) UserSeeUserDo16
217 pascal16 LookupMenuHandle(word s_word) LookupMenuHandle16
218 pascal16 DialogBoxIndirect(word word word segptr) DialogBoxIndirect16
219 pascal16 CreateDialogIndirect(word ptr word segptr) CreateDialogIndirect16
220 pascal16 LoadMenuIndirect(ptr) LoadMenuIndirect16
221 pascal16 ScrollDC(word s_word s_word ptr ptr word ptr) ScrollDC16
222 pascal16 GetKeyboardState(ptr) GetKeyboardState
223 pascal16 SetKeyboardState(ptr) SetKeyboardState
224 pascal16 GetWindowTask(word) GetWindowTask16
225 pascal16 EnumTaskWindows(word segptr long) THUNK_EnumTaskWindows16
226 stub LockInput
227 pascal16 GetNextDlgGroupItem(word word word) GetNextDlgGroupItem16
228 pascal16 GetNextDlgTabItem(word word word) GetNextDlgTabItem16
229 pascal16 GetTopWindow(word) GetTopWindow16
230 pascal16 GetNextWindow(word word) GetNextWindow16
231 return GetSystemDebugState 0 0  #FIXME
232 pascal16 SetWindowPos(word word word word word word word) SetWindowPos16
233 pascal16 SetParent(word word) SetParent16
234 pascal16 UnhookWindowsHook(s_word segptr) THUNK_UnhookWindowsHook16
235 pascal   DefHookProc(s_word word long ptr) DefHookProc16
236 pascal16 GetCapture() GetCapture16
237 pascal16 GetUpdateRgn(word word word) GetUpdateRgn16
238 pascal16 ExcludeUpdateRgn(word word) ExcludeUpdateRgn16
239 pascal16 DialogBoxParam(word segstr word segptr long) DialogBoxParam16
240 pascal16 DialogBoxIndirectParam(word word word segptr long)
             DialogBoxIndirectParam16
241 pascal16 CreateDialogParam(word segstr word segptr long) CreateDialogParam16
242 pascal16 CreateDialogIndirectParam(word ptr word segptr long)
             CreateDialogIndirectParam16
243 pascal   GetDialogBaseUnits() GetDialogBaseUnits
244 pascal16 EqualRect(ptr ptr) EqualRect16
245 pascal16 EnableCommNotification(s_word word s_word s_word) EnableCommNotification16
246 pascal16 ExitWindowsExec(str str) ExitWindowsExec16
247 pascal16 GetCursor() GetCursor16
248 pascal16 GetOpenClipboardWindow() GetOpenClipboardWindow16
249 pascal16 GetAsyncKeyState(word) GetAsyncKeyState16
250 pascal16 GetMenuState(word word word) GetMenuState16
251 pascal   SendDriverMessage(word word long long) SendDriverMessage16
252 pascal16 OpenDriver(str str long) OpenDriver16
253 pascal   CloseDriver(word long long) CloseDriver16
254 pascal16 GetDriverModuleHandle(word) GetDriverModuleHandle16
255 pascal   DefDriverProc(long word word long long) DefDriverProc16
256 pascal16 GetDriverInfo(word ptr) GetDriverInfo16
257 pascal16 GetNextDriver(word long) GetNextDriver16
258 pascal16 MapWindowPoints(word word ptr word) MapWindowPoints16
259 pascal16 BeginDeferWindowPos(s_word) BeginDeferWindowPos16
260 pascal16 DeferWindowPos(word word word s_word s_word s_word s_word word)
             DeferWindowPos16
261 pascal16 EndDeferWindowPos(word) EndDeferWindowPos16
262 pascal16 GetWindow(word word) GetWindow16
263 pascal16 GetMenuItemCount(word) GetMenuItemCount16
264 pascal16 GetMenuItemID(word word) GetMenuItemID16
265 pascal16 ShowOwnedPopups(word word) ShowOwnedPopups16
266 pascal16 SetMessageQueue(word) SetMessageQueue16
267 pascal16 ShowScrollBar(word word word) ShowScrollBar16
268 pascal16 GlobalAddAtom(segstr) GlobalAddAtom16
269 pascal16 GlobalDeleteAtom(word) GlobalDeleteAtom
270 pascal16 GlobalFindAtom(segstr) GlobalFindAtom16
271 pascal16 GlobalGetAtomName(word ptr s_word) GlobalGetAtomName16
272 pascal16 IsZoomed(word) IsZoomed16
273 stub ControlPanelInfo
274 stub GetNextQueueWindow
275 stub RepaintScreen
276 stub LockMyTask
277 pascal16 GetDlgCtrlID(word) GetDlgCtrlID16
278 pascal16 GetDesktopHwnd() GetDesktopHwnd16
279 pascal16 OldSetDeskPattern() SetDeskPattern
280 pascal16 SetSystemMenu(word word) SetSystemMenu16
281 pascal16 GetSysColorBrush(word) GetSysColorBrush16
282 pascal16 SelectPalette(word word word) SelectPalette16
283 pascal16 RealizePalette(word) RealizePalette16
284 pascal16 GetFreeSystemResources(word) GetFreeSystemResources16
285 pascal16 SetDeskWallPaper(ptr) SetDeskWallPaper16
286 pascal16 GetDesktopWindow() GetDesktopWindow16
287 pascal16 GetLastActivePopup(word) GetLastActivePopup16
288 pascal   GetMessageExtraInfo() GetMessageExtraInfo
289 register keybd_event() WIN16_keybd_event
290 pascal16 RedrawWindow(word ptr word word) RedrawWindow16
291 pascal   SetWindowsHookEx(s_word segptr word word) THUNK_SetWindowsHookEx16
292 pascal16 UnhookWindowsHookEx(segptr) THUNK_UnhookWindowsHookEx16
293 pascal   CallNextHookEx(segptr s_word word long) CallNextHookEx16
294 pascal16 LockWindowUpdate(word) LockWindowUpdate16
299 register mouse_event() WIN16_mouse_event
300 stub UnloadInstalledDrivers
#301 BOZOSLIVEHERE :-))	<- this is actually EditWndProc
#306 BEAR306
308 pascal   DefDlgProc(word word word long) DefDlgProc16
309 pascal16 GetClipCursor(ptr) GetClipCursor16
#310 ContScroll
#312 SendMessage2
#313 PostMessage2
314 pascal16 SignalProc(word word word word word) USER_SignalProc
#315 XCStoDS
#316 CompUpdateRect
#317 CompUpdateRgn
#318 GetWC2
319 pascal16 ScrollWindowEx(word s_word s_word ptr ptr word ptr word) ScrollWindowEx16
320 stub SysErrorBox
321 pascal   SetEventHook(segptr) SetEventHook16
322 stub WinOldAppHackOMatic
323 stub GetMessage2
324 pascal16 FillWindow(word word word word) FillWindow16
325 pascal16 PaintRect(word word word word ptr) PaintRect16
326 pascal16 GetControlBrush(word word word) GetControlBrush16
#327 KillTimer2
#328 SetTimer2
#330 SetGetKbdState
331 pascal16 EnableHardwareInput(word) EnableHardwareInput16
332 pascal16 UserYield() UserYield16
333 pascal16 IsUserIdle() IsUserIdle16
334 pascal   GetQueueStatus(word) GetQueueStatus16
335 pascal16 GetInputState() GetInputState16
336 pascal16 LoadCursorIconHandler(word word word) LoadCursorIconHandler16
337 pascal   GetMouseEventProc() GetMouseEventProc16
#340 WinFarFrame
#341 _FFFE_FARFRAME
343 stub GetFilePortName
#354 TabTheTextOutForWimps
#355 BroadcastMessage
356 pascal16 LoadDIBCursorHandler(word word word) LoadDIBCursorHandler16
357 pascal16 LoadDIBIconHandler(word word word) LoadDIBIconHandler16
358 pascal16 IsMenu(word) IsMenu16
359 pascal16 GetDCEx(word word long) GetDCEx16
362 pascal16 DCHook(word word long long) DCHook16
364 pascal16 LookupIconIdFromDirectoryEx(ptr word word word word) LookupIconIdFromDirectoryEx16
368 pascal16 CopyIcon(word word) CopyIcon16
369 pascal16 CopyCursor(word word) CopyCursor16
370 pascal16 GetWindowPlacement(word ptr) GetWindowPlacement16
371 pascal16 SetWindowPlacement(word ptr) SetWindowPlacement16
372 stub GetInternalIconHeader
373 pascal16 SubtractRect(ptr ptr ptr) SubtractRect16
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 pascal16 SetMenuContextHelpId(word word) SetMenuContextHelpId16
385 pascal16 GetMenuContextHelpId(word) GetMenuContextHelpId16
389 pascal LoadImage(word segstr word word word word) LoadImage16
390 pascal16 CopyImage(word word word word word) CopyImage16
391 stub SignalProc32
394 pascal16 DrawIconEx(word word word word word word word word word) DrawIconEx16
395 pascal16 GetIconInfo(word ptr) GetIconInfo16
397 pascal16 RegisterClassEx(ptr) RegisterClassEx16
398 pascal16 GetClassInfoEx(word segstr ptr) GetClassInfoEx16
399 pascal16 ChildWindowFromPointEx(word long word) ChildWindowFromPointEx16
400 stub FinalUserInit
402 pascal16 GetPriorityClipboardFormat(ptr s_word) GetPriorityClipboardFormat16
403 pascal16 UnregisterClass(segstr word) UnregisterClass16
404 pascal16 GetClassInfo(word segstr ptr) GetClassInfo16
406 pascal16 CreateCursor(word word word word word ptr ptr) CreateCursor16
407 pascal16 CreateIcon(word word word word word ptr ptr) CreateIcon16
408 pascal16 CreateCursorIconIndirect(word ptr ptr ptr)
	     CreateCursorIconIndirect16
409 pascal16 InitThreadInput(word word) InitThreadInput16
410 pascal16 InsertMenu(word word word word segptr) InsertMenu16
411 pascal16 AppendMenu(word word word segptr) AppendMenu16
412 pascal16 RemoveMenu(word word word) RemoveMenu16
413 pascal16 DeleteMenu(word word word) DeleteMenu16
414 pascal16 ModifyMenu(word word word word segptr) ModifyMenu16
415 pascal16 CreatePopupMenu() CreatePopupMenu16
416 pascal16 TrackPopupMenu(word word s_word s_word s_word word ptr) TrackPopupMenu16
417 pascal   GetMenuCheckMarkDimensions() GetMenuCheckMarkDimensions
418 pascal16 SetMenuItemBitmaps(word word word word word) SetMenuItemBitmaps16
420 pascal16 wsprintf() WIN16_wsprintf16
421 pascal16 wvsprintf(ptr str ptr) wvsprintf16
422 pascal16 DlgDirSelectEx(word ptr word word) DlgDirSelectEx16
423 pascal16 DlgDirSelectComboBoxEx(word ptr word word) DlgDirSelectComboBoxEx16
427 pascal16 FindWindowEx(word word segstr str) FindWindowEx16
428 stub TileWindows
429 stub CascadeWindows
430 pascal16 lstrcmp(str str) lstrcmp16
431 pascal   AnsiUpper(segstr) AnsiUpper16
432 pascal   AnsiLower(segstr) AnsiLower16
433 pascal16 IsCharAlpha(word) IsCharAlpha16
434 pascal16 IsCharAlphaNumeric(word) IsCharAlphaNumeric16
435 pascal16 IsCharUpper(word) IsCharUpper16
436 pascal16 IsCharLower(word) IsCharLower16
437 pascal16 AnsiUpperBuff(str word) AnsiUpperBuff16
438 pascal16 AnsiLowerBuff(str word) AnsiLowerBuff16
441 pascal16 InsertMenuItem(word word word ptr) InsertMenuItem16
443 stub GetMenuItemInfo
445 pascal   DefFrameProc(word word word word long) DefFrameProc16
446 stub SetMenuItemInfo
447 pascal   DefMDIChildProc(word word word long) DefMDIChildProc16
448 pascal16 DrawAnimatedRects(word word ptr ptr) DrawAnimatedRects16
449 stub DrawState
450 pascal16 CreateIconFromResourceEx(ptr long word long word word word) CreateIconFromResourceEx16
451 pascal16 TranslateMDISysAccel(word ptr) TranslateMDISysAccel16
452 pascal16 CreateWindowEx(long str str long s_word s_word s_word s_word
                            word word word segptr) CreateWindowEx16
454 pascal16 AdjustWindowRectEx(ptr long word long) AdjustWindowRectEx16
455 pascal16 GetIconID(word long) GetIconID16
456 pascal16 LoadIconHandler(word word) LoadIconHandler16
457 pascal16 DestroyIcon(word) DestroyIcon16
458 pascal16 DestroyCursor(word) DestroyCursor16
459 pascal   DumpIcon(segptr ptr ptr ptr) DumpIcon16
460 pascal16 GetInternalWindowPos(word ptr ptr) GetInternalWindowPos16
461 pascal16 SetInternalWindowPos(word word ptr ptr) SetInternalWindowPos16
462 pascal16 CalcChildScroll(word word) CalcChildScroll16
463 pascal16 ScrollChildren(word word word long) ScrollChildren16
464 pascal   DragObject(word word word word word word) DragObject16
465 pascal16 DragDetect(word long) DragDetect16
466 pascal16 DrawFocusRect(word ptr) DrawFocusRect16
470 stub StringFunc
471 pascal16 lstrcmpi(str str) lstrcmpi16
472 pascal   AnsiNext(segptr) AnsiNext16
473 pascal   AnsiPrev(segptr segptr) AnsiPrev16
475 pascal16 SetScrollInfo(word s_word ptr word) SetScrollInfo16
476 pascal16 GetScrollInfo(word s_word ptr) GetScrollInfo16
477 pascal16 GetKeyboardLayoutName(ptr) GetKeyboardLayoutName16
478 stub LoadKeyboardLayout
479 stub MenuItemFromPoint
480 stub GetUserLocalObjType
#481 HARDWARE_EVENT
482 pascal16 EnableScrollBar(word word word) EnableScrollBar16
483 pascal16 SystemParametersInfo(word word ptr word) SystemParametersInfo16
#484 __GP
# 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
499 pascal16 WNetErrorText(word ptr word) WNetErrorText16
500 stub FARCALLNETDRIVER 			# Undocumented Windows
501 pascal16 WNetOpenJob(ptr ptr word ptr)  WNetOpenJob16
502 pascal16 WNetCloseJob(word ptr ptr) WNetCloseJob16
503 pascal16 WNetAbortJob(ptr word) WNetAbortJob16
504 pascal16 WNetHoldJob(ptr word) WNetHoldJob16
505 pascal16 WNetReleaseJob(ptr word) WNetReleaseJob16
506 pascal16 WNetCancelJob(ptr word) WNetCancelJob16
507 pascal16 WNetSetJobCopies(ptr word word) WNetSetJobCopies16
508 pascal16 WNetWatchQueue(word ptr ptr word) WNetWatchQueue16
509 pascal16 WNetUnwatchQueue(word ptr ptr word) WNetUnwatchQueue16
510 pascal16 WNetLockQueueData(ptr ptr ptr) WNetLockQueueData16
511 pascal16 WNetUnlockQueueData(ptr) WNetUnlockQueueData16
512 pascal16 WNetGetConnection(ptr ptr ptr) WNetGetConnection16
513 pascal16 WNetGetCaps(word) WNetGetCaps16
514 pascal16 WNetDeviceMode(word) WNetDeviceMode16
515 pascal16 WNetBrowseDialog(word word ptr) WNetBrowseDialog16
516 pascal16 WNetGetUser(ptr ptr ptr) WNetGetUser16
517 pascal16 WNetAddConnection(str str str) WNetAddConnection16
518 pascal16 WNetCancelConnection(str word) WNetCancelConnection16
519 pascal16 WNetGetError(ptr) WNetGetError16
520 pascal16 WNetGetErrorText(word ptr ptr) WNetGetErrorText16
521 stub WNetEnable
522 stub WNetDisable
523 pascal16 WNetRestoreConnection(word ptr) WNetRestoreConnection16
524 pascal16 WNetWriteJob(word ptr ptr) WNetWriteJob16
525 pascal16 WnetConnectDialog(word word) WNetConnectDialog
526 pascal16 WNetDisconnectDialog(word word) WNetDisconnectDialog16
527 pascal16 WNetConnectionDialog(word word) WNetConnectionDialog16
528 pascal16 WNetViewQueueDialog(word ptr) WNetViewQueueDialog16
529 pascal16 WNetPropertyDialog(word word ptr word) WNetPropertyDialog16
530 pascal16 WNetGetDirectoryType(ptr ptr) WNetGetDirectoryType16
531 pascal16 WNetDirectoryNotify(word ptr word) WNetDirectoryNotify16
532 pascal16 WNetGetPropertyText(word word str str word word) WNetGetPropertyText16
533 stub WNetInitialize
534 stub WNetLogon
600 pascal16 GetShellWindow() GetShellWindow16
601 stub DoHotkeyStuff
602 stub SetCheckCursorTimer
604 stub BroadcastSystemMessage
605 stub HackTaskMonitor
606 pascal FormatMessage(long ptr word word ptr word ptr) FormatMessage16
608 pascal16 GetForegroundWindow() GetForegroundWindow16
609 pascal16 SetForegroundWindow(word) SetForegroundWindow16
610 pascal16 DestroyIcon32(word word) CURSORICON_Destroy
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) DrawFrameControl16
657 pascal16 DrawCaptionTemp(word word ptr word word ptr word) DrawCaptionTemp16
658 stub DispatchInput
659 pascal16 DrawEdge(word ptr word word) DrawEdge16
660 pascal16 DrawCaption(word word ptr word) DrawCaption16
661 stub SetSysColorsTemp
662 stub DrawMenubarTemp
663 stub GetMenuDefaultItem
664 stub SetMenuDefaultItem
665 pascal16 GetMenuItemRect(word word word ptr) GetMenuItemRect16
666 stub CheckMenuRadioItem
667 stub TrackPopupMenuEx
668 pascal16 SetWindowRgn(word word word) SetWindowRgn16
669 stub GetWindowRgn
800 stub CHOOSEFONT_CALLBACK16
801 stub FINDREPLACE_CALLBACK16
802 stub OPENFILENAME_CALLBACK16
803 stub PRINTDLG_CALLBACK16
804 stub CHOOSECOLOR_CALLBACK16
819 pascal16 PeekMessage32(ptr word word word word word) PeekMessage32_16
820 pascal GetMessage32(segptr word word word word) GetMessage32_16
821 pascal16 TranslateMessage32(ptr word) TranslateMessage32_16 
#821 stub IsDialogMessage32		# FIXME: two ordinal 821???
822 pascal DispatchMessage32(ptr word) DispatchMessage32_16
823 pascal16 CallMsgFilter32(segptr word word) CallMsgFilter32_16
825 stub PostMessage32
826 stub PostThreadMessage32
827 pascal16 MessageBoxIndirect(ptr) MessageBoxIndirect16
851 stub MsgThkConnectionDataLS
853 stub FT_USRFTHKTHKCONNECTIONDATA
854 stub FT__USRF2THKTHKCONNECTIONDATA
855 stub Usr32ThkConnectionDataSL
890 stub InstallIMT
891 stub UninstallIMT
# Stubs for Hebrew version
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
924 stub UsrMpr_ThunkData16
