Jump to content

DosQueryRASInfo: Difference between revisions

From EDM2
No edit summary
Line 8: Line 8:


==Parameters==
==Parameters==
;Index ([[ULONG]]) - input:
;Index ([[ULONG]]) - input: One of the sis_* values:
:;sis_MEC_Table
::return the address of the table of actively traced major event codes in the InfoSegGDT. The table is 32 bytes long, each bit represents each major event code from 0 to 255.
:;sis_Sys_Log
::return the address of the SYSLOG status word from the InfoSegGDT. The status may contain a combination of lf_Log* flags defined above.


;Addr (P[[PVOID]]) - input:
;Addr (P[[PVOID]]) - input:

Revision as of 00:23, 25 April 2025

This function is undocumented.

It is believed that RAS is IBMspeak for "reliability and serviceability," meaning MB system trace. Used to be 'reliability, availability, serviceability'. Maybe it is part of the OS/2 event logging facility.

Syntax

APIRET APIENTRY DosQueryRASInfo(ULONG Index, PPVOID Addr);

Parameters

Index (ULONG) - input
One of the sis_* values:
sis_MEC_Table
return the address of the table of actively traced major event codes in the InfoSegGDT. The table is 32 bytes long, each bit represents each major event code from 0 to 255.
sis_Sys_Log
return the address of the SYSLOG status word from the InfoSegGDT. The status may contain a combination of lf_Log* flags defined above.
Addr (PPVOID) - input

Returns

0
NO_ERROR: Success
5
ERROR_DENIED_ACCESS
87
ERROR_INVALID_PARAMETER

Sample Code

/* definitions for DosQueryRASInfo Index */
#define SIS_MMIOADDR            0
#define SIS_MEC_TABLE           1
#define SIS_SYS_LOG             2
#define LF_LOGENABLE    0x0001          /* Logging enabled */
#define LF_LOGAVAILABLE 0x0002          /* Logging available */

APIRET  APIENTRY        DosQueryRASInfo(ULONG Index, PPVOID Addr);