| 1 | < | /* Copyright (c) 1997 Silicon Graphics, Inc. */ | 
| 2 | < |  | 
| 3 | < | /* SCCSid "$SunId$ SGI" */ | 
| 4 | < |  | 
| 1 | > | /* RCSid: $Id$ */ | 
| 2 |  | /* | 
| 3 |  | * Header for holodeck display drivers. | 
| 4 |  | */ | 
| 5 |  |  | 
| 6 |  | /* display requests */ | 
| 7 |  | #define DR_NOOP         0               /* to release from vain DR_ATTEN */ | 
| 8 | < | #define DR_BUNDLE       1               /* bundle request */ | 
| 8 | > | #define DR_BUNDLE       1               /* lone bundle request */ | 
| 9 |  | #define DR_ATTEN        2               /* request for attention */ | 
| 10 |  | #define DR_SHUTDOWN     3               /* shutdown request */ | 
| 11 |  | #define DR_NEWSET       4               /* new bundle set */ | 
| 12 |  | #define DR_ADDSET       5               /* add to current set */ | 
| 13 | < | #define DR_DELSET       6               /* delete from current set */ | 
| 13 | > | #define DR_ADJSET       6               /* adjust set quantities */ | 
| 14 | > | #define DR_DELSET       7               /* delete from current set */ | 
| 15 | > | #define DR_KILL         8               /* kill rtrace process(es) */ | 
| 16 | > | #define DR_RESTART      9               /* restart rtrace */ | 
| 17 | > | #define DR_CLOBBER      10              /* clobber holodeck */ | 
| 18 | > | #define DR_VIEWPOINT    11              /* set desired eye position */ | 
| 19 |  |  | 
| 20 |  | /* server responses */ | 
| 21 | < | #define DS_BUNDLE       7               /* computed bundle */ | 
| 22 | < | #define DS_ACKNOW       8               /* acknowledge request for attention */ | 
| 23 | < | #define DS_SHUTDOWN     9               /* end process and close connection */ | 
| 24 | < | #define DS_ADDHOLO      10              /* register new holodeck */ | 
| 25 | < | #define DS_STARTIMM     11              /* begin immediate bundle set */ | 
| 26 | < | #define DS_ENDIMM       12              /* end immediate bundle set */ | 
| 21 | > | #define DS_BUNDLE       32              /* computed bundle */ | 
| 22 | > | #define DS_ACKNOW       33              /* acknowledge request for attention */ | 
| 23 | > | #define DS_SHUTDOWN     34              /* end process and close connection */ | 
| 24 | > | #define DS_ADDHOLO      35              /* register new holodeck */ | 
| 25 | > | #define DS_STARTIMM     36              /* begin immediate bundle set */ | 
| 26 | > | #define DS_ENDIMM       37              /* end immediate bundle set */ | 
| 27 | > | #define DS_OUTSECT      38              /* render from outside sections */ | 
| 28 | > | #define DS_EYESEP       39              /* eye separation distance */ | 
| 29 |  |  | 
| 30 |  | /* | 
| 31 |  | * Normally, the server channel has priority, with the display process | 
| 42 |  | #endif | 
| 43 |  |  | 
| 44 |  | typedef struct { | 
| 45 | < | int2    type;           /* message type */ | 
| 46 | < | int4    nbytes;         /* number of additional bytes */ | 
| 45 | > | int16   type;           /* message type */ | 
| 46 | > | int32   nbytes;         /* number of additional bytes */ | 
| 47 |  | } MSGHEAD;              /* message head */ | 
| 48 | + |  | 
| 49 | + | /* | 
| 50 | + | * The display process is started with three arguments.  The first argument | 
| 51 | + | * is the short name of the holodeck file, appropriate for window naming, etc. | 
| 52 | + | * The second and third arguments are the file descriptor numbers assigned to | 
| 53 | + | * the server's standard output and input, respectively.  The stdin and stdout | 
| 54 | + | * of the display process are used for normal communication with the server, | 
| 55 | + | * and are connected to pipes going each way.  It is entirely appropriate | 
| 56 | + | * for the display process to borrow the server's stdin and stdout for reading | 
| 57 | + | * and writing user commands from the list in rhdriver.h.  If standard input | 
| 58 | + | * is not available for reading, then a descriptor of -1 will be passed. | 
| 59 | + | * The standard output will always be available for writing, though it | 
| 60 | + | * may go to /dev/null. | 
| 61 | + | */ |