xframe_t

Contains information about an exception.

Defined In:netware.h

Structure

  typedef struct exceptionframe
  {
     uint32_t    xfReserved[7];
     uint32_t   *xfCR3;
     uint32_t    xfEIP;
     uint32_t    xfSystemFlags;
     uint32_t    xfEAX;
     uint32_t    xfECX;
     uint32_t    xfEDX;
     uint32_t    xfEBX;
     uint32_t    xfESP;
     uint32_t    xfEBP;
     uint32_t    xfESI;
     uint32_t    xfEDI;
     uint16_t    xfES[2];
     uint16_t    xfCS[2];
     uint16_t    xfSS[2];
     uint16_t    xfDS[2];
     uint16_t    xfFS[2];
     uint16_t    xfGS[2];
     uint16_t    xfLDT[2];
     uint16_t    xfSpecial[2];
     uint32_t    xfNumber;
     char       *xfDescription;
     uint32_t    xfFlags;
     uint32_t    xfErrorCode;
     uint32_t    xfPageFaultCR2;
     uint32_t    xfFPUState;
     uint32_t    xfHistogram;
     uint32_t    xfProcessorID;
  } xframe_t;
  

Fields

xfReserved

Reserved.

xfCR3

Contains the CR3 register value at the time of the exception.

xfEIP

Contains the EIP register value at the time of the exception.

xfSystemFlags

Contains the system flags at the time of the exception.

xfEAX

Contains the EAX register value at the time of the exception.

xfECX

Contains the ECX register value at the time of the exception.

xfEDX

Contains the EDX register value at the time of the exception.

xfEBX

Contains the EBX register value at the time of the exception.

xfESP

Contains the ESP register value at the time of the exception.

xfEBP

Contains the EBP register value at the time of the exception.

xfESI

Contains the ESI register value at the time of the exception.

xfEDI

Contains the EDI register value at the time of the exception.

xfES

Contains the ES segment register value at the time of the exception.

xfCS

Contains the CS segment register value at the time of the exception.

xfSS

Contains the SS segment register value at the time of the exception.

xfDS

Contains the DS segment register value at the time of the exception.

xfFS

Contains the FS segment register value at the time of the exception.

xfGS

Contains the GS segment register value at the time of the exception.

xfLDT

Contains the Local Descriptor Table value at the time of the exception.

xfSpecial

Contains less useful information which can be ignored.

xfNumber

Contains exception defintion numbers.

Range

Value

Description

0 - 31

Hardware exception numbers

0

Divide error exception, raised as SIGFPE for POSIX-compliant NLMs.

6

Invalid opcode exception, raised as SIGILL for POSIX-compliant NLMs.

8

Double fault exception. Not raised as an exception.

13

General protection exception, raised as SIGSEGV for POSIX-compliant NLMs.

14

Page fault exception, raised as SIGSEGV for POSIX-compliant NLMs.

32 - 999

Internal NetWare OS exceptions.

256

Enter debugger.

257

Keyboard break.

258

Invalid interrupt abend.

260

Assembly abend.

1000 - 4999

Available for signal debug event exceptions.

5000 - up

Reserved

xfDescription

Contains less useful information which can be ignored.

xfFlags

Contains less useful information which can be ignored.

xfErrorCode

Contains less useful information which can be ignored.

xfPageFaultCR2

Contains less useful information which can be ignored.

xfFPUState

Contains less useful information which can be ignored.

xfHistogram

Contains less useful information which can be ignored.

xfProcessorID

Specifies the ID of the processor that handled the exception.

Remarks

The RegisterDebugCommandParser function and the callback routine for the AddSoftBreakpoint function use this debug structure.