1 /* BEGIN INCLUDE FILE ws_mcb.h */ 2 3 /* HISTORY COMMENTS: 4 1) change(86-05-31,Westcott), approve(87-07-13,MCR7580), 5 audit(87-07-13,Leskiw), install(87-08-07,MR12.1-1072): 6 Created. 7 END HISTORY COMMENTS */ 8 9 /* FUNCTION 10 11 Defines the mowse control block structure Equivalent include file ws_mcb.mac 12 */ 13 14 #define MCB_DEFINED 1 15 16 #ifndef ALLOCH 17 #include <alloc.h> 18 #endif 19 20 #define MCB_SUSPEND 1 /* Suspended flag */ 21 #define MCB_TERMINATE 2 /* Terminating flag */ 22 #define MCB_SLEEP 4 /* Sleeping flag */ 23 #define MCB_NULL_ROUTINE 8 /* Null routine flag */ 24 25 struct linklst { 26 struct linklst *nextbuf; /* pointer to next buffer chain */ 27 struct linklst *nextlink; /* pointer to next buffer link */ 28 int linksize; /* size of this link */ 29 int linkused; /* amount of link used */ 30 char lldata[1]; /* data place holder */ 31 }; 32 33 typedef struct mcb_struct { 34 char major_capability; /* Major capability number */ 35 char system_id; /* System of capability */ 36 char mcb_flag; /* MCB information */ 37 char capability_name[CAPABILITY_NAME_LENGTH]; 38 int (*entry_point_offset)(); /* pre-entry point of application */ 39 int (*application_entry)(); /* Actual entry of application */ 40 char *data_block_ptr; /* Application data */ 41 struct allocstr *inalloc; /* Input buffer */ 42 int inbuff_length; /* Length of input buffer */ 43 struct linklst *inbuff; /* Inbuffer data */ 44 struct allocstr *outalloc; /* Outbuffer */ 45 int outbuff_length; /* Length of outbuffer */ 46 struct linklst *outbuff; /* Outbuffer data */ 47 double low_memory; /* Memory bounds of application */ 48 double high_memory; /* ... */ 49 } mcb; 50 51 /* END INCLUDE FILE ws_mcb.h */