RAS API Prototypes

The following is a sample C language header file that contains sample prototype definitions for the RAS APIs.

/* definitions for DosDumpProcess */
#define DDP_DISABLEPROCDUMP     0x00000000L     /* disable process dumps */
#define DDP_ENABLEPROCDUMP      0x00000001L     /* enable process dumps */
#define DDP_PERFORMPROCDUMP     0x00000002L     /* perform process dump */

/* definitions for DosSuppressPopUps */
#define SPU_DISABLESUPPRESSION  0x00000000L     /* disable popup suppression */
#define SPU_ENABLESUPPRESSION   0x00000001L     /* enable popup suppression */

/* 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);

APIRET  APIENTRY        DosForceSystemDump(ULONG reserved);

APIRET  APIENTRY        DosDumpProcess(ULONG Flag, ULONG Drive, PID Pid);

APIRET  APIENTRY        DosSuppressPopUps(ULONG Flag, ULONG Drive);

APIRET16  APIENTRY16    DosSysTrace(USHORT Majorcode, USHORT Length,
                                    USHORT Minorcode, PCHAR pData);

APIRET16 APIENTRY16 DosGetSTDA(SEL, SHORT, SHORT );

/* 32-bit Logging Facility Function Prototypes                   */

/*--------------------------------------------*/
/* Logging Defines                            */
/*--------------------------------------------*/
#define ERRLOG_SERVICE        1L
#define ERRLOG_VERSION        1

/*--------------------------------------------*/
/* LogRecord status bits                      */
/*--------------------------------------------*/
#define LF_BIT_PROCNAME     0x0001L
#define LF_BIT_ORIGIN_256   0x0002L
#define LF_BIT_DATETIME     0x0004L
#define LF_BIT_SUSPEND      0x0008L
#define LF_BIT_RESUME       0x0010L
#define LF_BIT_REDIRECT     0x0020L
#define LF_BIT_GETSTATUS    0x0040L
#define LF_BIT_REGISTER     0x0080L
#define LF_BIT_REMOTE_FAIL  0x0100L

/*--------------------------------------------*/
/*    Log Entry Record Header for 2.X         */
/*    This is format used by 2.0 device       */
/*     drivers and callers of LogAddEntries   */
/*--------------------------------------------*/
typedef struct LogRecord
{
  USHORT   len ;                   /* this record length(includes len field)*/
  USHORT   rec_id ;                /* record id                             */
  ULONG    status ;                /* record status bits(see LF_BIT_)       */
  UCHAR    qualifier[4] ;          /* qualifier tag                         */
  ULONG    reserved ;
  ULONG    time ;                  /* hours minutes seconds hundreds        */
  ULONG    date ;                  /* day month (USHORT)year                */
  UCHAR    data[1] ;               /* begin of variable data that includes: */
                               /* Originator(256 bytes if LF_BIT_ORIGIN_256)*/
                               /* else 8 bytes long                         */
                               /* Processname(260 bytes) only if status     */
                               /* LF_BIT_PROCNMAME set                      */
                               /* FormatDLLName(12 bytes)                   */
                               /* Variable data                             */
} LOGRECORD ;
typedef LOGRECORD far *PLOGREC ;

/*----------------------------------------------*/
/* Format of buffer sent to LogAddEntries       */
/*----------------------------------------------*/
typedef struct LogEntryRec
{
  USHORT    version ;                            /* this version is 1       */
  USHORT    count   ;                /* number of log records in this buffer*/
  LOGRECORD logrec  ;                            /* repeated count times    */
} LOGENTRYREC ;
typedef LOGENTRYREC far *PLOGENTRYREC ;

/*--------------------------------------------------*/
/* Logging facility Function prototypes             */
/*--------------------------------------------------*/
APIRET APIENTRY LogOpen( PHFILE phf );

APIRET APIENTRY LogClose( HFILE hf );

APIRET APIENTRY  LogAddEntries( HFILE hf, ULONG ulService, PVOID pLogEntries );


/* 16-bit Logging Facility Function Prototypes                   */


APIRET16 APIENTRY16     DosLogRegister(PUSHORT LogHandle,
                                       PVOID LogRegList,
                                       PUSHORT RequestID);


APIRET16 APIENTRY16     DosLogEntry(USHORT Function,
                                    PVOID LogData);

APIRET16 APIENTRY16     DosLogRead(USHORT LogHandle,
                                   USHORT Length,
                                   PVOID LogBuffer,
                                   PUSHORT ReadSize);


[Back: DevHlp_LogEntry Device Driver Interface]
[Next: OS/2 System Control Block Reference]