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