New pages
Appearance
24 May 2025
- 23:1223:12, 24 May 2025 WpclsQueryDefaultView (hist | edit) [1,837 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryDefaultView}} This class method is called to allow the class object to specify the default open view for its instances. ==Syntax== <PRE> ulView = wpclsQueryDefaultView(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ==Returns== ;''ulView'' (ULONG) - returns :Default open view. :{| class="wikitable" ! Value !! Description |- | OPEN_CONTENTS || Open contents view. |- | OPEN_D...")
- 23:0723:07, 24 May 2025 WpclsQueryDefaultHelp (hist | edit) [1,922 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryDefaultHelp}} This class method is called to allow the class object to specify its default help panel for its instances. ==Syntax== <PRE> rc = _wpclsQueryDefaultHelp(somSelf, HelpPanelId, HelpLibrary); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''HelpPanelId'' (PULONG) - output :Pointer to the help panel which provides help for this class. ;''HelpLibrary'' (PSZ) - output :...")
- 23:0523:05, 24 May 2025 WpclsQueryButtonAppearance (hist | edit) [883 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryButtonAppearance}} This class method returns the system button appearance. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> ulButtonType = _wpclsQueryButtonAppearance(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ==Returns== ;''ulButtonType'' (ULONG) - returns :Flag indicating the system default button appearance. :{| class="wikitable"...")
- 23:0423:04, 24 May 2025 WpclsQueryAwakeObject (hist | edit) [1,192 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryAwakeObject}} This class method determines if the given object is already awake. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> Object = _wpclsQueryAwakeObject(somSelf, pszInputPath); </PRE> ==Parameters== ;''somSelf'' (M_WPFileSystem *) - input :Pointer to the WPFileSystem class object. ;''pszInputPath'' (PSZ) - input :Fully-qualified input path. Note: This parameter must be a valid path. The...")
- 23:0323:03, 24 May 2025 WpclsQueryActiveDesktopHWND (hist | edit) [815 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryActiveDesktopHWND}} This class method returns the handle of the active WPDesktop object. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> hwndDesktop = _wpclsQueryActiveDesktopHWND(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPDesktop *) - input :Pointer to the WPDesktop class object. ==Returns== ;''hwndDesktop'' (HWND) - returns :Handle of the active desktop object's frame window. :{| cl...")
- 22:5922:59, 24 May 2025 WpclsQueryActiveDesktop (hist | edit) [875 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsQueryActiveDesktop}} This class method returns a pointer to the active WPDesktop object. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> WPDesktop = _wpclsQueryActiveDesktop(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPDesktop *) - input :Pointer to the WPDesktop class object. ==Returns== ;''WPDesktop'' (WPDesktop *) - returns :Pointer to the active desktop object. :{| class="wikitable" ! Va...")
- 22:5722:57, 24 May 2025 WpclsObjectFromHandle (hist | edit) [1,084 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsObjectFromHandle}} This class method extracts the object pointer for an instance represented by the given handle. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> pObject = _wpclsObjectFromHandle(somSelf, hObject); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''hObject'' (HOBJECT) - input :Persistent object handle. ==Returns== ;''pObject'' (WPObj...")
- 22:5222:52, 24 May 2025 WpclsNew (hist | edit) [2,059 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsNew}} This class method creates a new instance of a given class of object. ==Syntax== <PRE> wpclsNew = _wpclsNew(somSelf, pszTitle, pszSetupEnv, Folder, fLock); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''pszTitle'' (PSZ) - input :Pointer to a null-terminated string which contains the initial title of the object as it is to appear when displayed on the user interface underneath an...")
- 22:5022:50, 24 May 2025 WpclsMakeAwake (hist | edit) [2,674 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsMakeAwake}} This class method is called to allow the specified class to awaken an object. ==Syntax== <PRE> _wpclsMakeAwake(somSelf, pTitle, ulStyle, hptrIcon, pObjData, Folder, ulUser); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''pTitle'' (`PSZ`) - input :Pointer to a string containing a title to set on the object. If this value is NULL, the class default value is used. ;''ulStyle''...")
- 22:4722:47, 24 May 2025 WpclsInsertMultipleObjects (hist | edit) [1,793 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsInsertMultipleObjects}} This class method inserts multiple objects into a container at one time. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> rc = _wpclsInsertMultipleObjects(somSelf, hwndCnr, pptlIcon, pObjectArray, pRecordParent, NumRecords); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''hwndCnr'' (HWND) - input :Handle to the container windo...")
- 22:4522:45, 24 May 2025 WpclsInitData (hist | edit) [1,719 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsInitData}} This class method is called to allow the class object to initialize its instance data. ==Syntax== <PRE> wpclsInitData(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ==Returns== There is no return value for this method. ==Remarks== This method is called immediately after the class object is first awakened. When the class object is made dormant, the wpclsUnInitData me...")
- 22:4422:44, 24 May 2025 WpclsIncUsage (hist | edit) [600 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsIncUsage}} This class method increments the class usage count. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> wpclsIncUsage(somSelf); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ==Returns== There is no return value for this method. ==Remarks== The class usage count is used by the system to dynamically load and unload DLLs containing classes. ==How to Ov...")
- 22:4222:42, 24 May 2025 WpclsFindOneObject (hist | edit) [3,174 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsFindOneObject}} This class method finds an object matching a predefined set of properties. It is specific to version 3 or higher of the OS/2 operating system. ==Syntax== <PRE> Object = _wpclsFindOneObject(somSelf, hwndOwner, pszFindParams); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''hwndOwner'' (HWND) - input :Handle of the owner window for any dialogs presented during the search. ;'...")
- 22:4022:40, 24 May 2025 WpclsFindObjectNext (hist | edit) [5,266 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:wpclsFindObjectNext}} This class method finds the next set of objects matching the criteria established by a previous call to wpclsFindObjectFirst. ==Syntax== <PRE> rc = _wpclsFindObjectNext(somSelf, hfind, pBuffer, pCount); </PRE> ==Parameters== ;''somSelf'' (M_WPObject *) - input :Pointer to the WPObject class object. ;''hfind'' (HFIND) - input :Handle associated with a previous wpclsFindObjectFirst or `wpclsFindObjectNext` method...")
- 19:2719:27, 24 May 2025 SMPV211 - Appendix A (hist | edit) [31,895 bytes] Martini (talk | contribs) (Created page with "The following is the source code for an actual PSD.")
- 19:2619:26, 24 May 2025 SMPV211 - OS/2 for SMP V2.11 Tools (hist | edit) [17,691 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} A Multiprocessor CPU Performance Monitor will be shipped with this product. This tool will display CPU utilization for each processor in bar graph and histogram modes. It will be written as a PM application and will display each processor's bar or line as a different color. This tool will also have the capability of placing each processor offline or online. This is useful to show the scalability of OS/2 for SMP V2.11. It may also be used for debug purposes....")
- 19:2519:25, 24 May 2025 SMPV211 - The Single Processor Utility Program (hist | edit) [1,551 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} As explained previously, some applications written for uniprocessor OS/2 may experience problems running under OS/2 for SMP V2.11 because they rely upon priorities between threads for accessing shared resources, or use the CLI/STI method for protecting resources like semaphores or memory. These types of application are called MP-safe. These programs will still run fine under OS/2 for SMP V2.11 if they are run in a uniprocessor mode. The EXECMODE program is a...")
- 19:2319:23, 24 May 2025 SMPV211 - New Kernel Debugger Commands (hist | edit) [2,730 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} The Kernel debugger architecture is such that only one thread can be in the debugger at any given time, so it uses a spinlock to serialize its access. If entered, the debugger must inform the user as to the state of all the processors, even though the other processors are still executing code. It accomplishes this by sending a spin command using and IPI (interprocessor interrupt) to all the other processors. When a processor receives a spin command sent by t...")
- 19:2119:21, 24 May 2025 SMPV211 - New Device Helper (DevHlp) Routines (hist | edit) [791 bytes] Martini (talk | contribs) (Created page with "Following are the new physical and virtual DevHlp routines. ==Physical DevHlps== The OS/2 kernel will provide new DevHlps for OS/2 for SMP V2.11 as follows. {| class="wikitable" |+ DevHlp Functions |- ! Function Name ! EQU Value ! Description |- | DevHlp_CreateSpinLock | 111 | Create a spinlock - SMP |- | DevHlp_FreeSpinLock | 112 | Free a spinlock - SMP |- | DevHlp_AcquireSpinLock | 113 | Acquire a spinlock - SMP |- | DevHlp_ReleaseSpinLock | 114 | Rel...")
- 19:1919:19, 24 May 2025 SMPV211 - Avoiding Device Driver Deadlocks (hist | edit) [12,146 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} Deadlock can be defined as an unresolved contention for use of a resource. Whenever any mutual exclusion primitive is used, the possibility of deadlock is introduced. This is evident even in uniprocessor system such as OS/2 with the use of semaphores. The possibilities of deadlock are greater in a multiprocessor environment because of the large requirement for mutual exclusion. The method of mutual exclusion for device drivers and the OS/2 SMP kernel is the s...")
- 19:1719:17, 24 May 2025 SMPV211 - Application Considerations (hist | edit) [5,473 bytes] Martini (talk | contribs) (Created page with "The following sections discuss application considerations of OS/2 for SMP V2.11. ==Application Compatibility Requirements== * An Application or associated subsystem must not use the 'INC' instruction as a semaphore without prepending a 'LOCK' prefix. On a UniProcessor (UP) system this instruction can be used as high performance semaphore without calling any other OS service if the semaphore is free and when the semaphore is clear and there are no waiters for the semaph...")
- 18:5818:58, 24 May 2025 SMPV211 - Device Drivers In OS/2 for SMP V2.11 (hist | edit) [2,236 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} This chapter describes the impacts to driver writers when writing device drivers for OS/2 for SMP V2.11. Existing device drivers should run on OS/2 for SMP V2.11 without modifications providing two simple rules are followed: *The driver must call DevHlp EOI to perform an EOI. *The driver must not mask or unmask interrupts directly. OS/2 2.x device drivers were written with only 8259 architecture in mind. The code that is most commonly executed in a device...")
- 18:5718:57, 24 May 2025 SMPV211 - Understanding Spinlocks (hist | edit) [6,224 bytes] Martini (talk | contribs) (Created page with "OS/2 for SMP V2.11 provides synchronization and serialization using spinlocks. A spinlock is simply a section of code that executes in a tight loop waiting for a variable to be cleared. ==Spinlocks== The defined mechanism for protection of critical resources in OS/2 MP is a spinlock. A spinlock is a serialization mechanism that is used to restrict access to a critical resource to the owner of the spinlock. Spinlocks are implemented in the LockManager, which is part of...")
- 18:0318:03, 24 May 2025 SMPV211 - Platform Specific Drivers (PSDs) (hist | edit) [12,081 bytes] Martini (talk | contribs) (Created page with "In OS/2 for SMP V2.11, all of the platform specific code has been removed from the operating system, and placed into a Platform Specific Driver. These drivers provide an abstraction layer for the underlying hardware by allowing the operating system to call generic functions to perform platform-specific operations without worrying about the actual hardware implementation. This allows OS/2 for SMP V2.11 to support new MP hardware platforms without modifying the operating s...")
- 17:5517:55, 24 May 2025 SMPV211 - Overview of OS/2 for SMP Version 2.11 (hist | edit) [1,141 bytes] Martini (talk | contribs) (Created page with "==Architectural Design Objectives== The architectural design objectives for a multiprocessor (MP) version of OS/2 were as follows: * Transparent support for two or more CPUs (16 CPUs max). * Support for applications and device drivers which are not MP safe and aware. * Support for various MP hardware platforms (eg. Compaq, APIC, EBI2, Corollary, etc) via a Platform Specific Driver (PSD) layer. * Small footprint - 4MB for OS/2 and DOS applications; 6MB for WINOS2 * Perf...")
- 17:5017:50, 24 May 2025 SMPV211 - Notices (hist | edit) [3,906 bytes] Martini (talk | contribs) (Created page with "{{SMPV211}} ;First Edition (June 1994) The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied...")
- 16:4716:47, 24 May 2025 DosOpLockWait (hist | edit) [660 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Category:Dos")
- 16:4716:47, 24 May 2025 DosOpLockRelease (hist | edit) [43 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Category:Dos")
- 16:4516:45, 24 May 2025 DosFindFromName (hist | edit) [2,193 bytes] Martini (talk | contribs) (Created page with "DosFindFromName finds the next set of entries that match the criteria specified in a previous call to DosFindFirst, continuing a directory search from a given position. ==Syntax== DosFindFromName(hDir, pfindbuf, cbBuf, pcFileNames, ulPosition, pszFileSpec) ==Parameters== ;''hDir'' (HDIR) - input :The open directory handle associated with this search request. :This handle is the same one used by DosFindFirst. ;''pfindbuf'' (PVOID) - in/out :Pointer to the directo...")
- 16:3616:36, 24 May 2025 DosDynamicTrace (hist | edit) [76 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented ==Syntax== DosDynamicTrace(void) Category:Dos")
- 16:3116:31, 24 May 2025 DosCreateVDM (hist | edit) [43 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Category:Dos")
- 16:3116:31, 24 May 2025 DosRetForward (hist | edit) [76 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented ==Syntax== DosRetForward(void) Category:Dos")
- 16:2316:23, 24 May 2025 KbdShellInit (hist | edit) [114 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Request the shell to identify itself to the keyboard routing software Category:Kbd")
- 16:1616:16, 24 May 2025 VioShieldTerm (hist | edit) [43 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Category:Vio")
- 16:1616:16, 24 May 2025 VioShieldInit (hist | edit) [43 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Category:Vio")
- 16:1416:14, 24 May 2025 VioGetPSAddress (hist | edit) [217 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented This function appears to be used to retrieve the address of a specific structure or buffer in memory (probably related to video display). ==Syntax== VioGetPSAddress(void) Category:Vio")
23 May 2025
- 18:4918:49, 23 May 2025 DevHlp PhysToSysHook (hist | edit) [116 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Address conversion for the AOX. Category:DevHlps")
- 18:4818:48, 23 May 2025 DevHlp PhysToSys (hist | edit) [79 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Address conversion for the AOX. Category:DevHlps")
- 18:4418:44, 23 May 2025 DevHlp ModifyPriority (hist | edit) [74 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Undocumented (used by PM). Category:DevHlps")
- 18:3318:33, 23 May 2025 DevHlp Profiling Kernel (hist | edit) [119 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Reserved for Profiling Kernel. Category:DevHlps")
- 18:3118:31, 23 May 2025 DevHlp GetWaitingQueue (hist | edit) [82 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Get I/O request from waiting queue Category:DevHlps")
- 18:2318:23, 23 May 2025 DevHlp PutWaitingQueue (hist | edit) [347 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Put I/O request on waiting queue. Category:DevHlps")
- 18:2018:20, 23 May 2025 DevHlp AddTraceEvent (hist | edit) [144 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented")
- 17:4817:48, 23 May 2025 DevHlp ReallocSeg (hist | edit) [161 bytes] Martini (talk | contribs) (Created page with "Category:Undocumented Realloc DD protect mode segment. ==Alternative Names== DevHelp_SegRealloc, DevHlp_SegRealloc, DevHlp_ReallocSeg. Category:DevHlps")
- 03:5003:50, 23 May 2025 DevHlp LogEntry (hist | edit) [1,222 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_LogEntry}} DevHlp_LogEntry provides a device driver interface to the logging facility. ==Parameters== ;log_data_address :is the address of a buffer that contains a variable length Error Log entry. (See the section on the LogAddEntries high level API for further details.) level API for further details.) service the class of logging facility: :;0x0 ::Reserved :;0x1 ::"Old-Style" Error Logging call ("old" 16-bit (DosLogEntry-style) data packet provid...")
22 May 2025
- 23:3223:32, 22 May 2025 DevHlp ABIOSGetParms (hist | edit) [570 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_ABIOSGetParms}} Get ABIOS parameters for LID ==Mode== Kernel, Interrupt, Init ==Remarks== Refer to the IBM Personal System/2 and Personal Computer BIOS Interface Technical Reference, part number S68X-2341-00, for more detailed information on the use of ABIOS and its associated data structures. ==Example Code== ;C Calling Convention if (ABIOSGetParms(USHORT Lid,(FARPOINTER) &ABIOSParmBlock)) error Lid = The LID obtained by a previous GetLIDEnt...")
- 22:1322:13, 22 May 2025 DevHlp PortIO (hist | edit) [1,942 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_PortIO}} Perform IO to a specified port. This function is used to perform input/output operations to a specified local port. ==Parameters== Pointer to a PORT_IO structure. ;Structures <pre> typedef struct port_io_s{ ulong_t port; (Input) ulong_t data; (Input/Output) ulong_t flags; (Input) } PORT_IO; </pre> ;port :indicates which port to read to, or write from. ;data :contains the data read from a read request,...")
- 22:0122:01, 22 May 2025 DevHlp ReleaseSpinLock (hist | edit) [868 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_ReleaseSpinLock}} Release a subsystem spinlock. This function releases ownership of a subsystem spinlock. ==Parameters== Spinlock handle. ==Return code== Exit ==Example Code== ;Assembly language ; dh_ReleaseSpinLock - Release a subsystem spinlock. ; ; Releases ownership of a subsystem spinlock. Used by device drivers. ; ; ENTRY: AX:BX = spinlock handle ; ; EXIT: None ; ;...")
- 22:0022:00, 22 May 2025 DevHlp AcquireSpinLock (hist | edit) [860 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_AcquireSpinLock}} Acquire a subsystem spinlock. This function obtains ownership of a subsystem spinlock. ==Parameters== Spinlock handle. ==Return code== Exit ==Example Code== ;Assembly language ; dh_AcquireSpinLock - Acquire a subsystem spinlock ; ; Obtains ownership of a subsystem spinlock. Used by device drivers. ; ; ENTRY: AX:BX = spinlock handle ; ; EXIT: None ; ; USES...")
- 21:5721:57, 22 May 2025 DevHlp FreeSpinLock (hist | edit) [803 bytes] Martini (talk | contribs) (Created page with "{{DISPLAYTITLE:DevHlp_FreeSpinLock}} Free a subsystem spinlock. This function frees a subsystem spinlock. ==Parameters== Spinlock handle. ==Return code== Exit ==Example Code== ;Assembly language ; dh_FreeSpinLock - Free a subsystem spinlock ; ; This routine frees a subsystem spinlock. ; ; ENTRY: AX:BX = spinlock handle ; ; EXIT: None ; ; USES: Flags ; hSpinLock dd ?...")