ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhdisp.h
Revision: 3.2
Committed: Mon Nov 3 18:33:12 1997 UTC (26 years, 11 months ago) by gregl
Content type: text/plain
Branch: MAIN
Changes since 3.1: +21 -18 lines
Log Message:
added more routines for display support

File Contents

# User Rev Content
1 gregl 3.1 /* Copyright (c) 1997 Silicon Graphics, Inc. */
2    
3     /* SCCSid "$SunId$ SGI" */
4    
5     /*
6     * Header for holodeck display drivers.
7     * Include after "rholo.h".
8     */
9    
10     /* display requests */
11 gregl 3.2 #define DR_BUNDLE 1 /* bundle request */
12     #define DR_ATTEN 2 /* request for attention */
13     #define DR_SHUTDOWN 3 /* shutdown request */
14     #define DR_NEWSET 4 /* new bundle set */
15 gregl 3.1 #define DR_ADDSET 5 /* add to current set */
16     #define DR_DELSET 6 /* delete from current set */
17    
18     /* server responses */
19 gregl 3.2 #define DS_BUNDLE 1 /* computed bundle */
20     #define DS_ACKNOW 2 /* acknowledge request for attention */
21     #define DS_SHUTDOWN 3 /* end process and close connection */
22     #define DS_ADDHOLO 4 /* register new holodeck */
23     #define DS_STARTIMM 5 /* begin immediate bundle set */
24     #define DS_ENDIMM 6 /* end immediate bundle set */
25 gregl 3.1
26     /*
27     * Normally, the server channel has priority, with the display process
28     * checking it frequently for new data. However, when the display process
29     * makes a request for attention (DR_ATTEN), the server will finish its
30     * current operations and flush its buffers, sending an acknowledge
31     * message (DS_ACKNOW) when it's done. This then allows the
32     * display process to send a long request to the holodeck server.
33     * Priority returns to normal after the following request.
34     */
35    
36     typedef struct {
37     int2 type; /* message type */
38     int4 nbytes; /* number of additional bytes */
39     } MSGHEAD; /* message head */
40    
41     /* display request message bodies */
42    
43     /* DR_BUNDLE */
44     #define BUNDLE_REQ PACKHEAD
45 gregl 3.2 /* DR_ATTEN */
46 gregl 3.1 /* no body */
47     /* DR_SHUTDOWN */
48     /* no body */
49 gregl 3.2 /* DR_NEWSET */
50     /* body is nbytes/sizeof(BUNDLE_REQ) BUNDLE_REQ bodies */
51 gregl 3.1 /* DR_ADDSET */
52 gregl 3.2 /* body is nbytes/sizeof(PACKHEAD) BUNDLE_REQ bodies */
53     /* DR_DELSET */
54     /* body is nbytes/sizeof(PACKHEAD) BUNDLE_REQ bodies */
55 gregl 3.1
56     /* server response message bodies */
57    
58     /* DS_BUNDLE */
59 gregl 3.2 #define BUNDLE_RES PACKHEAD /* followed by nr RAYVAL structs */
60     /* DS_ACKNOW */
61 gregl 3.1 /* no body */
62     /* DS_SHUTDOWN */
63     /* no body */
64     /* DS_ADDHOLO */
65     #define HOLO_RES HDGRID
66 gregl 3.2 /* DS_STARTIMM */
67     /* no body */
68     /* DS_ENDIMM */
69 gregl 3.1 /* no body */