1 /*  BEGIN INCLUDE FILE:       mowse_messages.incl.pl1                   *  *  *  *  *  *  *  *  *  *  *  *  */
  2 
  3 /****^  HISTORY COMMENTS:
  4   1) change(86-05-17,Smith), approve(86-12-16,MCR7580),
  5      audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255):
  6      Created to define MOWSE message formats.
  7   2) change(86-11-27,Flegel), approve(86-11-27,MCR7580),
  8      audit(86-12-15,Gilcrease), install(87-01-06,MR12.0-1255):
  9      Approved.
 10   3) change(87-07-31,Flegel), approve(87-07-31,MCR7580),
 11      audit(87-07-31,RBarstad), install(87-08-07,MR12.1-1075):
 12      Changes to support async call channels.
 13                                                    END HISTORY COMMENTS */
 14 
 15 /* Message Channels */
 16 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */
 17 dcl BG                     fixed bin int static options (constant) init (0);
 18                                                       /* Fore ground */
 19 dcl FG                     fixed bin int static options (constant) init (1);
 20                                                       /* Back ground */
 21 
 22 /* Message types:
 23 
 24 Each intersystem message is labelled with one of the following types.  Upon
 25 reciept of the message suitable action is undertaken.  This scheme was
 26 introduced to allow the transmission of messsages longer than the maximum
 27 packet size.
 28 */
 29 
 30 /* Templates for the various messages used throughout the mowse environment.
 31    Non-allocatable */
 32 
 33 dcl message_len            fixed bin init (6);
 34 dcl message_ptr            ptr;
 35 
 36 /* expected format of message */
 37 
 38 dcl 01 input_message       based (message_ptr),
 39        02 header,
 40           03 system        char (1) unal,
 41           03 major         char (1) unal,
 42           03 minor         char (1) unal,
 43           03 source_system char (1) unal,
 44           03 source_major  char (1) unal,
 45        02 data             char (message_len - 5) unal;
 46 
 47 /* expected format of message to be handled by mowse internal execute command */
 48 
 49 dcl 01 execom_message      based (message_ptr),
 50        02 header,
 51           03 system        char (1) unal,
 52           03 major         char (1) unal,
 53           03 minor         char (1) unal,
 54           03 source_system char (1) unal,
 55           03 source_major  char (1) unal,
 56        02 data,
 57           03 cmd_id        fixed bin (17) unal,
 58           03 command       char (message_len - 7) unal;
 59 
 60 /* expected format of message recieved when a request to alter a CAT table
 61    is made by a remote system */
 62 
 63 dcl 01 alter_cat_message   based (message_ptr),
 64        02 header,
 65           03 system        char (1) unal,
 66           03 major         char (1) unal,
 67           03 minor         char (1) unal,
 68           03 source_system char (1) unal,
 69           03 source_major  char (1) unal,
 70        02 data,
 71           03 major         char unal,
 72           03 major_name    char (CAPABILITY_NAME_LENGTH) unal;
 73 
 74 /* Template used to parse message recieved from some remote system. */
 75 
 76 dcl 01 event_message       based (message_ptr),
 77        02 header,
 78           03 system        char (1) unal,
 79           03 major         char (1) unal,
 80           03 msg_type      char (1) unal;
 81 
 82 /* format of message of MORE type */
 83 
 84 dcl 01 request_more_message
 85                            based (message_ptr),
 86        02 header,
 87           03 system        char (1) unal,
 88           03 major         char (1) unal,
 89           03 more          char (1) unal,
 90           03 source_system char (1) unal,
 91           03 source_major  char (1) unal,
 92           03 source_minor  char (1) unal;
 93 
 94 /* format of message of CONTINUE type */
 95 
 96 dcl 01 more_remaining_message
 97                            based (message_ptr),
 98        02 header,
 99           03 system        char (1) unal,
100           03 major         char (1) unal,
101           03 continue      char (1) unal,
102           03 minor         char (1) unal,
103           03 source_system char (1) unal,
104           03 source_major  char (1) unal,
105        02 data,
106           03 data_buf      char (message_len - 6) unal;
107 
108 /* format of message of LAST type */
109 
110 dcl 01 last_message        based (message_ptr),
111        02 header,
112           03 system        char (1) unal,
113           03 major         char (1) unal,
114           03 minor         char (1) unal,
115           03 source_system char (1) unal,
116           03 source_major  char (1) unal,
117        02 data,
118           03 data_buf      char (message_len - 5) unal;
119 
120 /* Execute_command_reply message format */
121 
122 dcl 01 execom_reply_msg    based (message_ptr),
123        02 header,
124           03 system        char (1) unal,
125           03 major         char (1) unal,
126           03 minor         char (1) unal,
127           03 source_system char (1) unal,
128           03 source_major  char (1) unal,
129        02 data,
130           03 cmd_id        fixed bin unal,
131           03 status        char unal;
132 
133 /* Used to manage partial messages destined for any application */
134 
135 dcl msg_node_ptr           ptr;
136 dcl 01 message_node        based (msg_node_ptr),
137        02 major            fixed bin,
138        02 partial_msg_list_ptr
139                            ptr,
140        02 next_node        ptr,
141        02 prev_node        ptr,
142        02 last_part_msg    ptr;
143 
144 dcl part_msg_ptr           ptr;
145 dcl 01 partial_message     based (part_msg_ptr),
146        02 msg_ptr          ptr,
147        02 msg_len          fixed bin,
148        02 next_msg         ptr;
149 
150 
151 dcl part_msg_length        fixed bin;
152 dcl part_msg               char (part_msg_length) based;
153 
154 /* Trace information structure */
155 dcl 01 trace_message_info,
156        02 direction        fixed bin,
157        02 from_system      fixed bin,
158        02 from_major       fixed bin,
159        02 dest_system      fixed bin,
160        02 dest_major       fixed bin,
161        02 dest_minor       fixed bin,
162        02 msg_type         fixed bin,
163        02 message          char (PACKET_SIZE) var;
164 
165 /*  END INCLUDE FILE:         mowse_messages.incl.pl1                   *  *  *  *  *  *  *  *  *  *  *  *  */