DOSEXTERR(DOS) XENIX System V DOSEXTERR(DOS)
Name
dosexterr - Gets DOS error messages
Summary
#include <dos.h>
int dosexterr (buffer);
struct DOSERROR *buffer;
Description
The dosexterr function obtains the register values returned
by the
MS-DOS system call 59H and stores the values in the
structure pointed to by buffer. This function is useful
when making system calls under MS-DOS Version 3.0 or later,
which offers extended error handling. See your MS-DOS
reference for details on MS-DOS system calls.
The structure type DOSERROR is defined in dos.h as follows:
struct DOSERROR {
int exterror;
char class;
char action;
char locus;
};
Giving a NULL pointer argument causes dosexterr to return
the value in AX without filling in the structure fields.
Return Value
The dosexterr function returns the value in the AX register
(identical to the value in the exterror structure field).
See Also
perror(S)
Page 1 (printed 8/7/87)
DOSEXTERR(DOS) XENIX System V DOSEXTERR(DOS)
Example
#include <dos.h> #include <fcntl.h> #include <stdio.h>
struct DOSERROR doserror; int fd;
if ((fd = open ("test.dat", ORDONLY)) == -1) {
dosexterr (&doserror); printf ("error=%d,
class=%d, action=%d, locus=%d\n",
doserror.exterror, doserror.class,
doserror.action, doserror.locus); }
Notes
The dosexterr function should only be used under MS-DOS
Version 3.0 or later.
This call must be compiled with the -dos flag.
Page 2 (printed 8/7/87)