1 /* BEGIN INCLUDE FILE: ws_dcls.h */ 2 3 /* HISTORY COMMENTS: 4 1) change(86-07-06,Westcott), approve(87-07-13,MCR7580), 5 audit(87-07-13,Leskiw), install(87-08-07,MR12.1-1072): 6 Created. 7 2) change(86-10-24,ASmith), approve(87-07-13,MCR7580), 8 audit(87-07-13,Leskiw), install(87-08-07,MR12.1-1072): 9 Added i_connect_request structure. 10 END HISTORY COMMENTS */ 11 12 /* FUNCTION: 13 14 Defines the structures that are passed to MOWSE when the user calls an entry_ 15 point in the MOWSE application library. The address and length of the 16 appropriate structure is given to call_mowse_int, which calls the mowse user 17 interrupt. The user interrupt handler will transfer the entire structure into 18 MOWSE's address space. At the conclusion of the interrupt, the structure will 19 be copied back to the user's address space. 20 21 Equivalent include file ws_dcls.mac 22 */ 23 24 #ifndef CAPABILITY_NAME_LENGTH 25 #include "ws.h" 26 #endif 27 28 #ifndef MCB_DEFINED 29 #include "ws_mcb.h" 30 #endif 31 32 /* Find name parameter */ 33 34 struct findname_param_struct { 35 int major_capability_number; /* major capability number to be found */ 36 char capability_name[CAPABILITY_NAME_LENGTH]; 37 /* name of capability, if found */ 38 }; 39 40 /* Find number parameter */ 41 42 struct findnumb_param_struct { 43 int major_capability_number; /* lowest capability number to try */ 44 char capability_name[CAPABILITY_NAME_LENGTH]; 45 /* name of capability to be found */ 46 }; 47 48 /* Destroy instance parameter */ 49 50 struct destinst_param_struct { 51 int cap_index; /* Capability index of caller */ 52 mcb *mcb_ptr; /* MCB of caller */ 53 }; 54 55 /* Create instance parameter */ 56 57 struct cretinst_param_struct { 58 mcb *mcb_ptr; /* address of caller's mcb */ 59 short cs_reg; /* caller's stack register */ 60 int (*entry_pt)(); /* address of ws_entry */ 61 char major_capability; /* returned to caller */ 62 char system_id; /* returned to caller */ 63 char capability_name[CAPABILITY_NAME_LENGTH]; 64 }; 65 66 /* Get data structure */ 67 68 struct get_struc { 69 char *local_buffer_pointer; /* Destination buffer */ 70 int local_buffer_size; /* Buffer size */ 71 int minor_capability; /* minor capability of data */ 72 int background_pending_flag; /* Are there BG messages flag */ 73 }; 74 75 /* Put data structure */ 76 77 struct putt_struc { 78 int minor_cap; /* Minor cap of data */ 79 int putstrl; /* Length of data */ 80 char putstr[WSPAKSIZ]; /* Data to send */ 81 }; 82 83 /* Execute capability structure */ 84 85 struct xcap_struc { 86 char system; /* System of execution */ 87 char major; /* Major to be executed */ 88 char minor; /* Minor of execution */ 89 char source_system; /* source system */ 90 char source_major; /* source major */ 91 char xcapstr[1]; /* Message */ 92 }; 93 94 /* Get background message structure */ 95 96 struct gbgmsg_struc { 97 int bg_type; /* type of message */ 98 int sender_major; /* who sent message */ 99 int length; /* Length of message */ 100 char bgmsg[WSPAKSIZ]; /* message */ 101 }; 102 103 /* Put background message structure */ 104 105 struct putbg_struc { 106 int type; /* type of background message */ 107 int sender_major; /* sender's major capability */ 108 int length; /* length of message */ 109 char bgmsg[WSPAKSIZ]; /* background message */ 110 }; 111 112 /* Execute command structure */ 113 114 struct execom_struc { 115 int com_len; /* length of command */ 116 int system; /* system id */ 117 int major; /* major capability */ 118 int cmd_id; /* command id */ 119 int status; /* execution status */ 120 char command[WSPAKSIZ]; /* command string */ 121 }; 122 123 /* Sleep structure */ 124 125 struct sleep_struc { 126 int time; /* Number of seconds to sleep */ 127 char system; /* System sleeping on */ 128 char major; /* Major of caller */ 129 char minor; /* Minor of caller */ 130 char source_system; /* Source of caller */ 131 char source_major; /* source of caller */ 132 char xcapstr[1]; /* data */ 133 }; 134 135 /* connect request structure */ 136 137 struct i_connect_request { 138 char system; /* system of destination connectoin */ 139 char source_system; /* Source system of request */ 140 char source_major; /* Major of requesting application */ 141 char connect_command[WSPAKSIZ]; /* Command to connect application with */ 142 }; 143 144 /* END INCLUDE FILE: ws_dcls.h */ 145 ^Z