Jump to content

Cvkcmd s: Difference between revisions

From EDM2
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== cvkcmd_s ==
{{DISPLAYTITLE:cvkcmd_s}}
 
Data associated with the kernel debugger communications protocol.
Data associated with the kernel debugger communications protocol.
   
   
=== Type ===
=== Type ===
 
  [[USHORT]]      Cmd
  [[OS2 API:DataType:USHORT|USHORT]]      Cmd
  [[ULONG]]        Value
  [[OS2 API:DataType:ULONG|ULONG]]        Value
  ULONG        OffV
  [[OS2 API:DataType:ULONG|ULONG]]       OffV
  USHORT      SegV
  [[OS2 API:DataType:USHORT|USHORT]]       SegV
  USHORT      MTE
  [[OS2 API:DataType:USHORT|USHORT]]       MTE
  USHORT      PID
  [[OS2 API:DataType:USHORT|USHORT]]       PID
  USHORT      TID
  [[OS2 API:DataType:USHORT|USHORT]]       TID
  USHORT      DBit
  [[OS2 API:DataType:USHORT|USHORT]]       DBit
  RegSA_struc  Reg
  [[OS2 API:DataType:RegSA_struc|RegSA_struc]] Reg
  [[UCHAR]]        MemCache
  [[OS2 API:DataType:UCHAR|UCHAR]]        MemCache


==== C Declaration Method ====
==== C Declaration Method ====
typedef struct
typedef struct


=== Fields ===
=== Fields ===
 
;Cmd:Command, One of the following:  
Cmd     Command, One of the following:  
{| class="wikitable"
 
! Command !!Code !! Description !! CVK_CMDSIZE_ !! CVK_RETSIZE_
          ┌────────────────────┬─────┬────────────────────┬────────┬────────┐
|-
          │Command            │Code │Description        │CVK_    │CVK_    │
| CVK_CMD_RMEM || 1 || Read memory || 18 || 20
          │                    │    │                    │CMDSIZE_│RETSIZE_│
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_RREG || 3 || Read registers || 18 || 24 +<br />sizeof(<br />RegSa_<br />struc)
          │CVK_CMD_RMEM        │ 1   │Read memory         │18      │20      │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_WMEM || 4 || Write memory || 20 || 6
          │CVK_CMD_RREG        │ 3   │Read registers     │18      │24 +   │
|-
          │                    │    │                    │        │sizeof(
| CVK_CMD_WREG || 6 || Write registers || 20 +<br />sizeof(<br />RegSa_<br />struc) || 2
          │                    │    │                    │        │RegSa_  │
|-
          │                    │    │                    │        │struc)
| CVK_CMD_RUN || 7 || Resume execution || 6 || 0
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_WMEM        │ 4   │Write memory       │20      │6      │
| CVK_CMD_KILL || 8 || Reboot victim<br />machine || 2 || 0
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_WREG        │ 6   │Write registers     │20 +   │2      │
| CVK_CMD_STEP || 9 || Single step || 2 || 0
          │                    │    │                    │sizeof( │        │
|-
          │                    │    │                    │RegSa_  │        │
| CVK_CMD_NUMTOBASE || 13 || Get object/segment<br />information || 14 || 14
          │                    │    │                    │struc) │        │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_LIBNAME || 16 || Get module<br />information || 6 || 6
          │CVK_CMD_RUN        │ 7   │Resume execution   │6      │0      │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_RAW || 20 || Perform kernel<br />debugger command || 6 ||
          │CVK_CMD_KILL        │ 8   │Reboot victim       │2      │0      │
|-
          │                    │    │machine            │        │        │
| CVK_CMD_DBIT || 22 || Get selector<br />information || 20 ||
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_STEP        │ 9   │Single step         │2      │0      │
| CVK_CMD_RSTEP || 23 || Range step || 10 || 0
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_NUMTOBASE  │13  │Get object/segment │14      │14      │
| CVK_CMD_SCANMTE || 24 || Scan module table || 2 || 6
          │                    │    │information        │        │        │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_SCANTCB || 25 || Scan thread control<br />blocks || 6 || 10
          │CVK_CMD_LIBNAME    │16  │Get module         │6      │6      │
|-
          │                    │    │information        │        │        │
| CVK_CMD_SEL2LIN || 26 || Convert<br />selector:offset to<br />linear address. || 18 || 6
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_RAW        │20  │Perform kernel     │6      │        │
| CVK_CMD_LIN2SEL || 27 || Convert linear<br />address to<br />selector:offset. || 18 || 12
          │                    │    │debugger command   │        │        │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_OBJCOUNT || 28 || Get number of<br />objects/segments in<br />module || 6 || 6
          │CVK_CMD_DBIT        │22  │Get selector       │20      │        │
|-
          │                    │    │information        │        │        │
| CVK_CMD_SCANOBJ || 29 || Scan object/segment<br />table || 14 || 10
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_RSTEP      │23  │Range step         │10      │0      │
| CVK_CMD_SELINFO || 30 || Get selector<br />information || 18 || 20
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_SCANMTE    │24  │Scan module table   │2      │6      │
| CVK_CMD_RNPX || 31 || Read NPX state || 18 || 128
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
          │CVK_CMD_SCANTCB    │25  │Scan thread control │6      │10      │
| CVK_CMD_WNPX || 32 || Write NPX state || 128 || 60
          │                    │    │blocks              │        │        │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_ENA || 33 || Enable optional<br />features || 6 || 2
          │CVK_CMD_SEL2LIN    │26  │Convert            │18      │6      │
|-
          │                    │    │selector:offset to │        │        │
| CVK_CMD_DIS || 34 || Disable optional<br />features || 6 || 2
          │                    │    │linear address.     │        │        │
|-
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_PIREG || 35 || Register for PAGEIN<br />notification || 14 || 2
          │CVK_CMD_LIN2SEL    │27  │Convert linear     │18      │12      │
|-
          │                    │    │address to         │        │        │
| CVK_CMD_PIDRG || 36 || Deregister for<br />PAGEIN notification || 14 || 2
          │                    │    │selector:offset.   │        │        │
|}
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_OBJCOUNT    │28  │Get number of       │6      │6      │
          │                    │    │objects/segments in │        │        │
          │                    │    │module              │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_SCANOBJ    │29  │Scan object/segment │14      │10      │
          │                    │    │table              │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_SELINFO    │30  │Get selector       │18      │20      │
          │                    │    │information        │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_RNPX        │31  │Read NPX state     │18      │128    │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_WNPX        │32  │Write NPX state     │128    │60      │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_ENA        │33  │Enable optional     │6      │2      │
          │                    │    │features            │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_DIS        │34  │Disable optional   │6      │2      │
          │                    │    │features            │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_PIREG      │35  │Register for PAGEIN │14      │2      │
          │                    │    │notification        │        │        │
          ├────────────────────┼─────┼────────────────────┼────────┼────────┤
          │CVK_CMD_PIDRG      │36  │Deregister for     │14      │2      │
          │                    │    │PAGEIN notification │        │        │
          └────────────────────┴─────┴────────────────────┴────────┴────────┘
   
Value    Value, command dependent.
OffV    Command dependent, usually a linear address.
SegV    Command dependent.  Usually slot number of thread.
MTE      Module Table Entry
PID      Process Identifier
TID      Thread Identifier
DBit    Flags from the CS selector.
Reg      Register save area
MemCache Data area used for variable length data in a command or response. Maximum size of the data is CVK_MEMCACHE_SIZE (512).
 
 
 
[[OS2_API | Back to OS/2 API]]


;Value:Value, command dependent.
;OffV:Command dependent, usually a linear address.
;SegV:Command dependent.  Usually slot number of thread.
;MTE:Module Table Entry
;PID:Process Identifier
;TID:Thread Identifier
;DBit:Flags from the CS selector.
;Reg:Register save area
MemCache Data area used for variable length data in a command or response. Maximum size of the data is CVK_MEMCACHE_SIZE (512).


[[Category:The OS/2 API Project]]
[[Category:Data type]]

Latest revision as of 17:40, 19 May 2025

Data associated with the kernel debugger communications protocol.

Type

USHORT       Cmd
ULONG        Value
ULONG        OffV
USHORT       SegV
USHORT       MTE
USHORT       PID
USHORT       TID
USHORT       DBit
RegSA_struc  Reg
UCHAR        MemCache

C Declaration Method

typedef struct

Fields

Cmd
Command, One of the following:
Command Code Description CVK_CMDSIZE_ CVK_RETSIZE_
CVK_CMD_RMEM 1 Read memory 18 20
CVK_CMD_RREG 3 Read registers 18 24 +
sizeof(
RegSa_
struc)
CVK_CMD_WMEM 4 Write memory 20 6
CVK_CMD_WREG 6 Write registers 20 +
sizeof(
RegSa_
struc)
2
CVK_CMD_RUN 7 Resume execution 6 0
CVK_CMD_KILL 8 Reboot victim
machine
2 0
CVK_CMD_STEP 9 Single step 2 0
CVK_CMD_NUMTOBASE 13 Get object/segment
information
14 14
CVK_CMD_LIBNAME 16 Get module
information
6 6
CVK_CMD_RAW 20 Perform kernel
debugger command
6
CVK_CMD_DBIT 22 Get selector
information
20
CVK_CMD_RSTEP 23 Range step 10 0
CVK_CMD_SCANMTE 24 Scan module table 2 6
CVK_CMD_SCANTCB 25 Scan thread control
blocks
6 10
CVK_CMD_SEL2LIN 26 Convert
selector:offset to
linear address.
18 6
CVK_CMD_LIN2SEL 27 Convert linear
address to
selector:offset.
18 12
CVK_CMD_OBJCOUNT 28 Get number of
objects/segments in
module
6 6
CVK_CMD_SCANOBJ 29 Scan object/segment
table
14 10
CVK_CMD_SELINFO 30 Get selector
information
18 20
CVK_CMD_RNPX 31 Read NPX state 18 128
CVK_CMD_WNPX 32 Write NPX state 128 60
CVK_CMD_ENA 33 Enable optional
features
6 2
CVK_CMD_DIS 34 Disable optional
features
6 2
CVK_CMD_PIREG 35 Register for PAGEIN
notification
14 2
CVK_CMD_PIDRG 36 Deregister for
PAGEIN notification
14 2
Value
Value, command dependent.
OffV
Command dependent, usually a linear address.
SegV
Command dependent. Usually slot number of thread.
MTE
Module Table Entry
PID
Process Identifier
TID
Thread Identifier
DBit
Flags from the CS selector.
Reg
Register save area

MemCache Data area used for variable length data in a command or response. Maximum size of the data is CVK_MEMCACHE_SIZE (512).