--- ray/src/hd/rhdisp.h 1997/11/20 18:04:59 3.4 +++ ray/src/hd/rhdisp.h 1998/01/04 18:37:11 3.10 @@ -8,20 +8,25 @@ /* display requests */ #define DR_NOOP 0 /* to release from vain DR_ATTEN */ -#define DR_BUNDLE 1 /* bundle request */ +#define DR_BUNDLE 1 /* lone bundle request */ #define DR_ATTEN 2 /* request for attention */ #define DR_SHUTDOWN 3 /* shutdown request */ #define DR_NEWSET 4 /* new bundle set */ #define DR_ADDSET 5 /* add to current set */ -#define DR_DELSET 6 /* delete from current set */ +#define DR_ADJSET 6 /* adjust set quantities */ +#define DR_DELSET 7 /* delete from current set */ +#define DR_KILL 8 /* kill rtrace process(es) */ +#define DR_RESTART 9 /* restart rtrace */ +#define DR_CLOBBER 10 /* clobber holodeck */ /* server responses */ -#define DS_BUNDLE 7 /* computed bundle */ -#define DS_ACKNOW 8 /* acknowledge request for attention */ -#define DS_SHUTDOWN 9 /* end process and close connection */ -#define DS_ADDHOLO 10 /* register new holodeck */ -#define DS_STARTIMM 11 /* begin immediate bundle set */ -#define DS_ENDIMM 12 /* end immediate bundle set */ +#define DS_BUNDLE 32 /* computed bundle */ +#define DS_ACKNOW 33 /* acknowledge request for attention */ +#define DS_SHUTDOWN 34 /* end process and close connection */ +#define DS_ADDHOLO 35 /* register new holodeck */ +#define DS_STARTIMM 36 /* begin immediate bundle set */ +#define DS_ENDIMM 37 /* end immediate bundle set */ +#define DS_OUTSECT 38 /* render from outside sections */ /* * Normally, the server channel has priority, with the display process @@ -41,3 +46,17 @@ typedef struct { int2 type; /* message type */ int4 nbytes; /* number of additional bytes */ } MSGHEAD; /* message head */ + +/* + * The display process is started with three arguments. The first argument + * is the short name of the holodeck file, appropriate for window naming, etc. + * The second and third arguments are the file descriptor numbers assigned to + * the server's standard output and input, respectively. The stdin and stdout + * of the display process are used for normal communication with the server, + * and are connected to pipes going each way. It is entirely appropriate + * for the display process to borrow the server's stdin and stdout for reading + * and writing user commands from the list in rhdriver.h. If standard input + * is not available for reading, then a descriptor of -1 will be passed. + * The standard output will always be available for writing, though it + * may go to /dev/null. + */