• How to Use the SMP Programming Addendum
  • Introduction to OS/2 Warp Server Version 4 Advanced
    • What's New Since OS/2 for SMP 2.11
    • Exploiting SMP-Specific Features
    • Notation Conventions
    • Conventions Used in Function Descriptions
    • Error Severities
    • Header Files
    • Addressing Elements in Arrays
    • Implicit Pointer Data Types
    • Storage Mapping of Data Types
    • Double-Byte Character Set (DBCS)
      • C++ Considerations
        • C++ Header Files
        • LINK386
  • Platform Specific Drivers (PSDs)
    • Platform Specific Driver Architecture and Structure
    • OS/2 Initialization
    • PSD Function Glossary
    • PSD Functions
      • PSD_INSTALL
      • PSD_DEINSTALL
      • PSD_INIT
      • PSD_PROC_INIT
      • PSD_START_PROC
      • PSD_GET_NUM_OF_PROCS
      • PSD_GEN_IPI
      • PSD_END_IPI
      • PSD_PORT_IO
      • PSD_IRQ_MASK
      • PSD_IRQ_REG
      • PSD_IRQ_EOI
      • PSD_APP_COMM
      • PSD_SET_ADV_INT_MODE
    • PSD Helps
      • PSDHLP_VMALLOC
      • PSDHLP_VMFREE
      • PSDHLP_SET_IRQ
      • PSDHLP_CALL_REAL_MODE
      • PSDHLP_VMLINTOPHYS
    • Application Programming Interface
      • DosTestPSD
  • High Memory Support
    • VIRTUALADDRESSLIMIT Parameter in CONFIG.SYS
    • New OBJ_ANY Memory Attribute
    • Implementation Details
    • High Memory Support Functions
    • DosAllocMem
    • DosAllocSharedMem
    • DosQuerySysInfo
  • Raw File System
    • Programming Recommendations
    • DosClose
    • DosDevIOCtl
    • DosListIO
    • DosOpen
    • DosPhysicalDisk
    • DosRead
    • DosSetFilePtr
    • DosWrite
  • Processor Management and Performance Functions
    • DosGetProcessorStatus
    • DosPerfSysCall
    • DosQuerySysInfo
    • DosSetProcessorStatus
  • Application Considerations
    • Application Compatibility Requirements
  • Device Drivers In OS/2 Warp Server for SMP
  • New Device Helper (DevHlp) Routines
    • DevHlp_PerfSysTrace
    • DevHlp_SetIRQMask
    • DevHlp_GetIRQMask
    • Virtual Device Driver Helps
      • VDHPortIO
  • Kernel Debugger
    • New and Changed Commands
    • KDB Communications Protocol
      • Raw Mode
      • Packet Mode
        • Packet Format
        • Packet Header Format
        • Packet Data Format
        • Maximum Packet Size
      • General Considerations
      • Kernel Debugger Packet Responses
      • Events Reported by the Kernel Debugger
        • CVK_RET_GPF Events
        • CVK_RET_TBT Event
        • CVK_RET_BPT Event
        • CVK_RET_NMI Event
        • CVK_RET_SUC Event
        • CVK_RET_ASYNC Event
        • CVK_RET_LIB and CVK_RET_KIL Events
        • CVK_RET_TNEW and CVK_RET_TEND Events
        • CVK_RET_PAGEIN Events
      • Kernel Debugger Packet Commands
        • Read Memory (CVK_CMD_RMEM)
        • Read Registers (CVK_CMD_RREG)
        • Write Memory (CVK_CMD_WMEM)
        • Write Registers (CVK_CMD_WREG)
        • Resume Execution (CVK_CMD_RUN)
        • Reboot Victim (CVK_CMD_KILL)
        • Single Step (CVK_CMD_STEP)
        • Get Object/Segment Information (CVK_CMD_NUMTOBASE)
        • Get Module Information (CVK_CMD_LIBNAME)
        • Perform Kernel Debugger Command (CVK_CMD_RAW)
        • Get Selector Information (CVK_CMD_DBIT)
        • Range Step (CVK_CMD_RSTEP)
        • Scan Module Table (CVK_CMD_SCANMTE)
        • Scan Thread Control Blocks (CVK_CMD_SCANTCB)
        • Convert Selector:Offset to Linear Address (CVK_CMD_SEL2LIN)
        • Convert Linear Address to Selector:Offset (CVK_CMD_LIN2SEL)
        • Get Number of Objects/Segments in Module (CVK_CMD_OBJCOUNT)
        • Scan Object/Segment Table (CVK_CMD_SCANOBJ)
        • Get Selector Information (CVK_CMD_SELINFO)
        • Read NPX Information (CVK_CMD_RNPX)
        • Write NPX Information (CVK_CMD_WNPX)
        • Enable Optional Features (CVK_CMD_ENA)
        • Disable Optional Features (CVK_CMD_DIS)
        • Register for PAGEIN Notification (CVK_CMD_PIREG)
        • Deregister for PAGEIN Notification (CVK_CMD_PIDRG)
        • Scan Processor Control Blocks (CVK_CMD_SCANPCB)
  • The ICAT Debugger
    • What is the ICAT Debugger
    • Before You Begin
      • Hardware Requirements
      • Software Requirements
      • Compiling and Linking Your Program
      • Setting Environment Variables
      • Finding Source Files
      • Limitations
      • Helpful Tips and Hints
      • When Things Go Wrong
      • Using the Demo
    • Getting Started
      • Starting the Debugger from OS/2
      • Using the Initialization Window
      • Ending the Debugging Session
    • Frequently Used Features of the Debugger
      • Using the Tool Buttons
      • Executing a Program
      • Setting Breakpoints
    • Introducing the Main Debugging Windows
      • Using the Debug Session Control Window
        • File Menu Choices
          • Open new source...
          • Find function...
          • Where is execution point
          • Save thread list in file
          • Save component list in file
          • Initialization...
          • Close debugger
        • Breakpoints Menu Choices
          • Set line...
          • Set function...
          • Set address...
          • Set watchpoint...
          • Set load occurrence...
          • List
          • Delete All
        • Monitors Menu Choices
        • Run Menu Choices
          • Run
          • Halt
          • Hide Debugger on Run
        • Options Menu Choices
          • Window settings->
          • Debugger settings->
          • Debugger properties...
          • Monitor properties...
          • Default data representation->
          • Program profiles->
          • Save debugger window positions
          • Global font change
          • Enable window cascading
          • Display tool buttons
          • Display hover help
          • Display infoarea
          • Display tool buttons on title bar
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Source Windows
        • File Menu Choices
        • View Menu Choices
          • Find Window
          • Find next
          • Scroll to line number...
          • Select include file
          • Change text file
          • Source
          • Disassembly
          • Mixed
        • Breakpoints Menu Choices
        • Monitors Menu Choices
          • Monitor expression...
          • Call stack
          • Registers
          • Storage
          • Local variables
          • Passthru
        • Run Menu Choices
          • Step over
          • Step into
          • Step debug
          • Step return
          • Run
          • Halt
          • Run to location
          • Jump to location
          • Hide Debugger on Run
        • Options Menu Choices
          • Window settings->
          • Debugger settings->
        • Windows Menu Choices
        • Help Menu Choices
    • Introducing the Other Debugging Windows
      • Using the Call Stack Window
        • File Menu Choice
        • Options Menu Choices
          • Fonts...
          • Display style...
          • Restore defaults
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Registers Window
        • File Menu Choices
        • Options Menu Choice
          • Fonts...
          • Display style...
          • Restore defaults
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Storage Window
        • File Menu Choice
        • Options Menu Choices
          • Fonts...
          • Display style...
          • Fill Storage...
          • Monitor expression...
          • Restore defaults
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Local Variables Window
        • File Menu Choice
        • Edit Menu Choices
          • Delete
          • Select all
          • Deselect all
          • Other elements...
          • Representation->
          • Copy to clipboard
          • Save window in file
        • Options Menu Choices
          • Fonts...
          • Restore defaults
          • Show context
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Passthru Window
        • REXX Command Files
        • File Menu Choice
        • Edit Menu Choices
          • Edit
          • Delete
          • Delete all
          • Find
          • Find Next
        • Options Menu Choices
          • Fonts...
          • Display style...
          • Restore defaults
          • Add custom tool buttons
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
      • Using the Monitor Windows
      • Using the Breakpoints List Window
        • File Menu Choice
        • Edit Menu Choices
          • Delete
          • Disable
          • Modify
          • Delete all
          • Disable all
          • Enable all
        • Set Menu Choices
        • Options Menu Choices
          • Fonts...
          • Display style...
          • Sort
          • Restore defaults
          • Tool buttons
          • Hover help
          • Infoarea
        • Windows Menu Choices
        • Help Menu Choices
    • Expressions Supported
      • Supported Expression Operands
      • Supported Expression Operators
      • Supported Data Types
  • Software Trace Facility (STRACE)
    • STRACE Overview
    • STRACE Syntax
      • STRACE Arguments
      • STRACE Options
      • STRACE Command Examples
      • Sample Use of STRACE
    • STRACE POST Processing
    • STRACE ASCII Dump Format
      • Hook Types
        • Timer high order 32 bits change hook (SFT_HOOK_TIMEHI)
        • Startup Hook (SFT_HOOK_STARTUP)
        • Module Table Entry Hook (SFT_HOOK_MTE)
        • Hook logging 1 32-bit value
        • Hook logging 4 32-bit values
        • Hook logging 3 2-byte buffers
    • STRACE MTE Dump Format
    • Differences Between TRACE and STRACE
      • OS/2 Trace Facility
      • How STRACE is Different
    • System Trace Hook Definitions
      • Exceptions and Interrupts
      • Dos Functions - 1 of 12
      • Dos Functions - 2 of 12
      • Dos Functions - 3 of 12
      • Dos Functions - 4 of 12
      • Dos Functions - 5 of 12
      • Dos Functions - 6 of 12
      • Dos Functions - 7 of 12
      • Dos Functions - 8 of 12
      • Dos Functions - 9 of 12
      • Dos Functions - 10 of 12
      • Dos Functions - 11 of 12
      • Dos Functions - 12 of 12
      • DevHlp Functions - 1 of 2
      • DevHlp Functions - 2 of 2
      • Kbd Functions
      • Mouse Functions
      • VIO Functions
      • Miscellaneous Kernel Functions
      • VDH Functions
      • Vpic, WinOS2 and STRACE Functions
      • Hooks Reserved for Customer Use
  • View and Set Program Type For Executable File (MARKEXE)
    • Command-Line Syntax
      • Syntax Definitions
      • Viewing Program Type
      • Setting Program Type
      • Requirements for Multi-Processing
  • Data Types
    • AddrS
    • APIRET
    • BIOSPARAMETERBLOCK
    • BOOL
    • BOOL32
    • BYTE
    • CHAR
    • CPUUTIL
    • cvkcmd_s
    • DosDebug Buffer
    • DTR
    • DWORD
    • EAOP2
    • EASIZEBUF
    • ERRORID
    • EXCEPTIONREGISTRATIONRECORD
    • EXCEPTIONREPORTRECORD
    • FATTRS
    • FDATE
    • FEA2
    • FEA2LIST
    • FHLOCK
    • FILEFINDBUF
    • FILEFINDBUF3
    • FILEFINDBUF4
    • FILELOCK
    • FILESTATUS
    • FILESTATUS3
    • FILESTATUS4
    • FPREG
    • FRAME
    • FSALLOCATE
    • FSINFO
    • FSQBUFFER2
    • FTIME
    • GEA2
    • GEA2LIST
    • HDC
    • HDIR
    • HEV
    • HFILE
    • HKBD
    • HMODULE
    • HMTX
    • HMUX
    • HOOKDATA
    • HOTKEY
    • HPIPE
    • HQUEUE
    • HRGN
    • HSEM
    • HSPINLOCK
    • HTIMER
    • HVDD
    • LISTIO
    • LONG
    • PCH
    • PCSZ
    • PFHLOCK
    • PFN
    • PFNEXITLIST
    • PFNSIGHANDLER
    • PFNTHREAD
    • PIB
    • PID
    • PIPEINFO
    • PSZ
    • PVOID
    • QWORD
    • RegSA_struc
    • REQUESTDATA
    • RESULTCODES
    • SEL
    • SEMRECORD
    • SFTSTARTUP
    • SHORT
    • STATUSDATA
    • STRINGINBUF
    • TIB
    • TIB2
    • TID
    • TRACKLAYOUT
    • UCHAR
    • ULONG
    • USHORT
    • VOID
    • VOLUMELABEL
    • WORD
  • Errors
  • Generic IOCtl Commands
    • Category 08h Logical Disk Control IOCtl Commands
      • DSK_LOCKDRIVE (00h) - Lock Drive
      • DSK_UNLOCKDRIVE (01h) - Unlock Drive
      • DSK_REDETERMINEMEDIA (02h) - Redetermine Media
      • DSK_SETLOGICALMAP (03h) - Set Logical Map
      • DSK_BEGINFORMAT (04h) - Begin Format
      • DSK_BLOCKREMOVABLE (20h) - Block Removable
      • DSK_GETLOGICALMAP (21h) - Query Logical Map
      • DSK_UNLOCKEJECTMEDIA (40h) - Removable Media Control
      • DSK_SETDEVICEPARAMS (43h) - Set Device Parameters
      • DSK_WRITETRACK (44h) - Write Logical Track
      • DSK_FORMATVERIFY (45h) - Format and Verify Track
      • DSK_DISKETTECONTROL (5Dh) - Diskette Control
      • DSK_QUERYMEDIASENSE (60h) - Query Media Sense
      • DSK_GETDEVICEPARAMS (63h) - Query Device Parameters
      • DSK_READTRACK (64h) - Read Logical Track
      • DSK_VERIFYTRACK (65h) - Verify Logical Track
      • DSK_GETLOCKSTATUS (66h) - Status
    • Category 09h Physical Disk Control IOCtl Commands
      • PDSK_LOCKPHYSDRIVE (00h) - Lock Physical Drive
      • PDSK_UNLOCKPHYSDRIVE (01h) - Unlock Physical Drive
      • PDSK_WRITEPHYSTRACK (44h) - Write Physical Track
      • PDSK_GETPHYSDEVICEPARAMS (63h) - Query Physical Device Parameters
      • PDSK_READPHYSTRACK (64h) - Read Physical Track
      • PDSK_VERIFYPHYSTRACK (65h) - Verify Physical Track
  • Sample Source Code for a PSD
    • Main program
    • Entry stub
    • PSD.H
    • Specific header
    • Makefile
  • Comments, Please!
  • Glossary
  • Notices
    • Copyright Notices
    • Disclaimers
    • Trademarks