[comp.sys.hp] Protocol for "HPExtension" X11 Server Extension

lcs@icad.com (Larry Stone) (05/08/90)

Does anyone know the details of the X11 protocol requests and replies
implemented by the "HPExtension" server extension?  It seems to be
present in the server supplied with HP-UX 6.5.  How stable is this
protocol, and is it the same in 7.0?

The operation I need most is one that tells what display mode the server
is in (as in XHPGetServerMode).  By monitoring a connection with XScope,
I've deduced that a request with the minor opcode 26 seems to return at
least that information.  I'd feel more comfortable knowing exactly what
my request is doing, though!

I need the protocol bits because I'm working in Franz Allegro Common
Lisp, with CLX.  For portability to other Lisp platforms (which would
still access the HP server as clients), I'd like to keep all the code in
CLX.  It's quite simple to implement new "Xlib" calls in CLX, once you
know what bits to send and receive.

	thanks,

	-- Larry Stone
	   ICAD, Inc.     lcs@icad.com   ..!bu.edu!icad.com!lcs

harry@hpcvlx.cv.hp.com (Harry Phinney) (05/09/90)

>	-- Larry Stone
> Does anyone know the details of the X11 protocol requests and replies
> implemented by the "HPExtension" server extension?  

Nah, they're just random bits on the wire :-)


> It seems to be
> present in the server supplied with HP-UX 6.5.  How stable is this
> protocol, and is it the same in 7.0?

All of the supported Xlib calls for these extensions are documented in
appendix E of the manual _Programming_With_Xlib_.  In the version I
have, on page E-25, section E.1.27 is documented the call
XHPGetServerMode(display, screen).  The documented calls will be
supported for the foreseeable future, since we must assume that
applications will use them.  Since Applications have the library code
linked into them, we cannot change the protocol without breaking said
applications.  These applications are most certainly supported on HP-UX
7.0.

From the header file used to build the extension library and the server
extension files, I glean this info:

#define X_HPGetServerMode               26

typedef struct {
    CARD8       reqType;
    CARD8       hpReqType;        /* always X_HPGetServerMode */
    CARD16      length B16;
    CARD32      screen B32;
} xHPGetServerModeReq;

typedef struct {
    CARD8 repType;              /* X_Reply */
    CARD8 hpRepType;            /* always X_HPGetServerMode */
    CARD16 sequenceNumber B16;
    CARD32 length B32;
    CARD32 mode B32;
    CARD32 pad1 B32;
    CARD32 pad2 B32;
    CARD32 pad3 B32;
    CARD32 pad4 B32;
    CARD32 pad5 B32;
} xHPGetServerModeReply;

Unfortunately, this level of documentation does not exist in a form
accessible to customers.  If you have questions on the protocol for
other _supported_ extension requests, mail me.

Harry Phinney   harry@hp-pcd.cv.hp.com