Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — MultiPersonal System R32V2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XSetErrorHandler(3X)                    XSetErrorHandler(3X)



     NAME
          XSetErrorHandler, XGetErrorText, XDisplayName,
          XSetIOErrorHandler, XGetErrorDatabaseText - default
          error handlers

     SYNOPSIS
          XSetErrorHandler(handler)
                int (*handler)(Display *, XErrorEvent *)

          XGetErrorText(display, code, buffer_return, length)
                Display *display;
                int code;
                char *buffer_return;
                int length;

          char *XDisplayName(string)
                char *string;

          XSetIOErrorHandler(handler)
                int (*handler)(Display *);

          XGetErrorDatabaseText(display, name, message,
          default_string, buffer_return, length)
                Display *display;
                char *name, *message;
                char *default_string;
                char *buffer_return;
                int length;

     ARGUMENTS
          buffer_return
                    Returns the error description.

          code      Specifies the error code for which you want
                    to obtain a description.

          default_string
                    Specifies the default error message if none
                    is found in the database.

          display   Specifies the connection to the X server.

          handler   Specifies the program's supplied error
                    handler.

          length    Specifies the size of the buffer.

          message   Specifies the type of the error message.

          name      Specifies the name of the application.

          string    Specifies the character string.



                                - 1 -





     XSetErrorHandler(3X)                    XSetErrorHandler(3X)



     DESCRIPTION
          Xlib generally calls the program's supplied error
          handler whenever an error is received.  It is not
          called on BadName errors from OpenFont, LookupColor, or
          AllocNamedColor protocol requests or on BadFont errors
          from a QueryFont protocol request.  These errors
          generally are reflected back to the program through the
          procedural interface.  Because this condition is not
          assumed to be fatal, it is acceptable for your error
          handler to return.  However, the error handler should
          not call any functions (directly or indirectly) on the
          display that will generate protocol requests or that
          will look for input events.

          The XGetErrorText function copies a null-terminated
          string describing the specified error code into the
          specified buffer.  It is recommended that you use this
          function to obtain an error description because
          extensions to Xlib may define their own error codes and
          error strings.

          The XDisplayName function returns the name of the
          display that XOpenDisplay would attempt to use.  If a
          NULL string is specified, XDisplayName looks in the
          environment for the display and returns the display
          name that XOpenDisplay would attempt to use.  This
          makes it easier to report to the user precisely which
          display the program attempted to open when the initial
          connection attempt failed.

          The XSetIOErrorHandler sets the fatal I/O error
          handler.  Xlib calls the program's supplied error
          handler if any sort of system call error occurs (for
          example, the connection to the server was lost).  This
          is assumed to be a fatal condition, and the called
          routine should not return.  If the I/O error handler
          does return, the client process exits.

          The XGetErrorDatabaseText function returns a message
          (or the default message) from the error message
          database.  Xlib uses this function internally to look
          up its error messages.  On a UNIX-based system, the
          error message database is /usr/lib/X11/XErrorDB.

          The name argument should generally be the name of your
          application.  The message argument should indicate
          which type of error message you want.  Xlib uses three
          predefined message types to report errors (uppercase
          and lowercase matter):

          XProtoError
                    The protocol error number is used as a string



                                - 2 -





     XSetErrorHandler(3X)                    XSetErrorHandler(3X)



                    for the message argument.

          XlibMessage
                    These are the message strings that are used
                    internally by the library.

          XRequest  The major request protocol number is used for
                    the message argument.  If no string is found
                    in the error database, the default_string is
                    returned to the buffer argument.

     SEE ALSO
          XSynchronize(3X11)
          Xlib Programming Manual









































                                - 3 -



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026