1 /* -------- BEGIN INCLUDE FILE ... protocol_data.incl.pl1 --------- */ 2 3 4 /****^ HISTORY COMMENTS: 5 1) change(89-03-20,Parisek), approve(89-06-06,MCR8110), 6 audit(89-10-09,Farley), install(89-10-25,MR12.3-1100): 7 Add support of protocol mpx. 8 END HISTORY COMMENTS */ 9 10 /* Written 15 May 1985 by C. Claveleira - CICB */ 11 12 /* Latest revision : */ 13 /* */ 14 /* 7 oct 1985 by C. Claveleira */ 15 /* 19 oct 1985 by C. Claveleira */ 16 /* 26 dec 1985 by C. Claveleira */ 17 /* 14 fev 1986 by C. Claveleira */ 18 /* 20 mar 1986 by C. Claveleira - version 1.0 of protocol_mpx */ 19 /* 02 sep 1986 by C. Claveleira - version 1.6 of protocol_mpx */ 20 /* 26 nov 1986 by C. Claveleira - version 1.8 of protocol_mpx */ 21 22 dcl protocol_data_ptr ptr; 23 dcl protocol_channels fixed bin; 24 25 dcl 1 protocol_data aligned based (protocol_data_ptr), 26 27 2 max_channels fixed bin, /* maximum number of channels (filled by fnp_init) */ 28 2 n_channels fixed bin, /* # of initialized channels */ 29 2 init_time fixed bin (71), 30 2 listeners (4), /* array of listeners processes by protocol type */ 31 3 proc_id bit (36), 32 3 pad1 bit (36), 33 3 event_id fixed bin (71), 34 2 special_listeners (10), /* array of non-standards protocols listened */ 35 3 call_datas, 36 4 partial bit (1) unal, /* ON if test on first part of call_datas */ 37 4 pad2 bit(35) unal, 38 4 datas char (48) varying, /* call_datas that must match */ 39 3 proc_id bit (36), /* process_id of listener */ 40 3 pad3 bit (36), 41 3 event_id fixed bin (71), /* event of listener */ 42 2 channels (protocol_channels refer (protocol_data.max_channels)) like channel; 43 44 dcl channel_ptr ptr; 45 46 dcl 1 channel aligned based (channel_ptr), /* entry is 58 words wide */ 47 2 name char (32), /* name from lcnt */ 48 2 devx fixed bin (17), /* index in lct */ 49 2 state fixed bin, /* see values below */ 50 2 load_proc_id bit (36), /* process_id of loader process */ 51 2 flags, 52 3 initialized bit (1) unal, /* ON after init_multiplexer */ 53 3 started bit (1) unal, /* ON after start */ 54 3 in_use bit (1) unal, /* ON if line currently in use */ 55 3 send_output bit (1) unal, /* ON if we can send more output */ 56 3 wflag bit (1) unal, /* ON if process blocked on output */ 57 3 rflag bit (1) unal, /* ON if process blocked on input */ 58 3 timer_set bit (1) unal, /* ON if timer set for this channel */ 59 3 pad bit (29) unal, 60 2 listener_proc_id bit (36), /* proc_id of listener process */ 61 2 pad5 bit (36), 62 2 listener_event fixed bin (71), /* event_channel of listener */ 63 2 user_proc_id bit (36), /* process_id of current user */ 64 2 pad6 bit (36), 65 2 user_event fixed bin (71), /* event_channel of user */ 66 2 user_ref fixed bin (17), /* user's internal ref */ 67 2 max_packet_size fixed bin, /* x25's max data packet size */ 68 2 our_network_address char (15) varying, /* network address of this channel */ 69 2 his_network_address char (15) varying, /* network address of remote */ 70 2 call_data char (48) varying, /* call datas from remote */ 71 2 facilities char (16) varying, /* facilities from remote */ 72 2 fblock fixed bin (17), /* offset of first data block. Input */ 73 2 lblock fixed bin (17), /* " " last " " " */ 74 2 write_first fixed bin (17), /* " " first " " . Output */ 75 2 write_last fixed bin (17), /* " " last " " " */ 76 2 space_left_in_packet fixed bin, /* current space left in x25 data packet */ 77 2 max_buf_size fixed bin (9) uns, /* maximum buffer size we're allowed to get */ 78 2 buffer_pad fixed bin (9) uns, /* buffer padding we must respect */ 79 2 max_nsdu_size fixed bin; /* maximum size of NSDU permitted */ 80 81 dcl (INACTIVE init (0), /* values of channel.state */ 82 HUNGUP init (1), 83 DIALING init (2), 84 DIALED init (3) 85 ) fixed bin static options (constant); 86 87 /* ---------- End include file protocol_data.incl.pl1 ---------- */