1 /* Begin include file emacs_data.incl.pl1 */
  2 /* format: style3 */
  3 /**** Created: RMSoley 5 August 1981 ****/
  4 /****^  HISTORY COMMENTS:
  5   1) change(81-11-19,Soley), approve(), audit(), install():
  6      for flags.got_cr
  7   2) change(82-04-15,Soley), approve(), audit(), install():
  8      for tasking.return_label
  9   3) change(82-06-02,Margolin), approve(), audit(), install():
 10      to also include level_info dcl
 11   4) change(84-09-23,Margolin), approve(), audit(), install():
 12      to add emacs_data.arguments.shared_static
 13   5) change(84-11-02,Margolin), approve(), audit(), install():
 14      to add emacs_data.arguments.force
 15   6) change(86-07-16,Margolin), approve(86-07-16,MCR7452),
 16      audit(86-11-03,Coren), install(86-11-03,MR12.0-1205):
 17      Added emacs_data.flags.turned_on_video and removed the copyright notice
 18      (include files aren't supposed to have them).
 19   7) change(87-12-21,Schroth), approve(88-02-29,MCR7851),
 20      audit(88-06-06,RBarstad), install(88-08-01,MR12.2-1071):
 21      to add extended_ascii flag and extend breaktable for 8bit I/O.
 22                                                    END HISTORY COMMENTS */
 23 
 24 
 25 /* Stuff to manage invocations. */
 26 dcl       e_find_invocation_  entry () returns (pointer);
 27 dcl       emacs_data_ptr      pointer;
 28 
 29 /* emacs_data information structure. */
 30 declare   1 emacs_data        aligned based (emacs_data_ptr),
 31             2 next_invocation pointer initial (null ()),    /* invoc list */
 32             2 prev_invocation pointer initial (null ()),
 33             2 frame_ptr       pointer initial (null ()),    /* cur emx frame */
 34             2 myname          character (32) initial (""),  /* emacs name */
 35             2 env_name        character (32) initial (""),  /* .sv.lisp name */
 36             2 log_name        character (32) initial (""),  /* for write_log */
 37             2 info_ptr        pointer init (null ()),       /* emacs_ ip */
 38             2 status_code     fixed bin (35) init (0),      /* emacs_ code */
 39             2 output_iocb     pointer init (null ()),       /* output IOCBP */
 40             2 input_iocb      pointer init (null ()),       /* input IOCBP */
 41             2 arg_list_ptr    pointer init (null ()),
 42             2 flags           aligned,
 43               3 debugging     bit (1) unaligned init ("0"b),/* debugging */
 44               3 using_video   bit (1) unaligned init ("0"b),/* use vidsys */
 45               3 in_emacs      bit (1) unaligned init ("0"b),/* now inside */
 46               3 new_arguments bit (1) unaligned init ("0"b),/* have new args */
 47               3 using_r0_echnego
 48                               bit (1) unaligned init ("1"b),
 49               3 netsw         bit (1) unaligned init ("0"b),/* using net */
 50               3 messages_were_sent_here
 51                               bit (1) unal init ("0"b),
 52               3 update_breaktable
 53                               bit (1) unal init ("1"b),     /* need to upd */
 54               3 got_cr        bit (1) unal init ("0"b),     /* last char CR */
 55               3 turned_on_video
 56                               bit (1) unal init ("0"b),     /* automatically turned on video */
 57               3 extended_ascii
 58                               bit (1) unal init ("0"b),     /* 8-bit chars */
 59               3 pad2          bit (25) unaligned initial (""b),
 60             2 arguments       aligned,
 61               3 ns            bit (1) unal,                 /* -ns */
 62               3 query         bit (1) unal,                 /* -query */
 63               3 reset         bit (1) unal,                 /* -reset */
 64               3 task          bit (1) unal,                 /* -task */
 65               3 no_task       bit (1) unal,                 /* -no_task */
 66               3 destroy_task  bit (1) unal,                 /* -destroy_task */
 67               3 shared_static bit (1) unal,                 /* -shared_static */
 68               3 force         bit (1) unal,                 /* -force */
 69               3 ls            fixed bin (17) aligned,       /* -ls */
 70               3 pl            fixed bin (17) unal,          /* -pl */
 71               3 ll            fixed bin (17) aligned,       /* -ll */
 72               3 apply         fixed bin (17) unal,          /* 1+argno -ap */
 73               3 path_count    fixed bin (17) aligned,       /* # of paths */
 74               3 ttp           character (168) unaligned,    /* -ttp given */
 75               3 first_path    pointer,                      /* ptr to chain */
 76             2 tasking         aligned,
 77               3 task_flags    aligned,
 78                 4 in_task     bit (1) unaligned initial ("0"b),
 79                                                             /* tasking on */
 80                 4 destroy     bit (1) unaligned initial ("0"b),
 81                                                             /* self destruct */
 82                 4 pad1        bit (34) unaligned initial (""b),
 83               3 task_id       bit (36) aligned initial (""b),
 84                                                             /* task ID */
 85               3 saved_cl_intermediary
 86                               entry,                        /* old CLI */
 87               3 return_label  label,                        /* for -dtk */
 88             2 interrupts      aligned,
 89               3 head          pointer init (null ()),       /* of intp chain */
 90               3 tail          pointer init (null ()),       /* of intp chain */
 91               3 array         (0:1) fixed bin init ((2) 0), /* lisp/pl1 com */
 92             2 terminal_type   character (256) init (""),    /* saved ttp */
 93             2 tty_modes       character (512) init (""),    /* orig ttymodes */
 94             2 linel           fixed bin (17) aligned,       /* orig linel */
 95             2 ttyx            fixed bin (17) aligned,       /* tty index */
 96             2 netx            fixed bin (35),               /* net index */
 97             2 wnetx           fixed bin (35),
 98             2 chars_in_obuf   fixed bin (21) init (0),      /* to be dumped */
 99             2 echoed          fixed bin (21) init (0),      /* alrdy echoed */
100             2 cgot            fixed bin (21) init (0),      /* echnego got */
101             2 ctook           fixed bin (21) init (0),      /* took from buf */
102             2 edir            character (168) init (""),    /* emacs dir */
103             2 ledir           character (168) init (""),    /* e log dir */
104             2 breaktable      (0:255) bit (1) unal init ((256) (1)"1"b),
105             2 first_msgp      pointer init (null ()),
106             2 last_msgp       pointer init (null ()),
107             2 ibufptr         pointer init (null ()),
108             2 obufptr         pointer init (null ()),
109             2 ospeed          fixed binary init (0),
110             2 level_ptr       pointer init (null ());
111 
112 /* Pathname (for arguments.path, arguments.macro) structure. */
113 dcl       1 path              aligned based,
114             2 next_path       pointer,
115             2 type            fixed bin,
116             2 name            character (168);
117 
118 /* Types of paths. */
119 dcl       MACRO_PATH          fixed bin initial (0);
120 dcl       FIND_PATH           fixed bin initial (1);
121 
122 dcl       1 level_info        aligned based,                /* describes a level of recursion */
123             2 prev_level      pointer,
124             2 tty_modes       character (256) unaligned,
125             2 n_used          fixed binary,
126             2 n_allocated     fixed binary,
127             2 segment_ptrs    (n_to_allocate refer (level_info.n_allocated)) pointer;
128 
129 /* END INCLUDE FILE emacs_data.incl.pl1 */