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 */