|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00) Types: TextFile Names: »hlvlamenvir«
└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system └─⟦72244f0ef⟧ └─⟦this⟧ »hlvlamenvir«
lamenvir; (* environment for the x.21 lam - driver and corresponding scanner process. vers: 810407 hlv *) const cycmax= 32; (* cyclic input buffer size *) cyctop= cycmax+1; firstline= 0; lastline= 15; scanpoolsize= 33; (* no of scanner event messages + 1 for chmsg copy *) lammask= 0; (* reservechannel devicemask for lam, p.t. not used *) doom= false; (* delay timer interval 125 * (2 ^ 3) msec = 1000 msec *) timeru3= 125; timeru4= 3; (* message function bits *) finput= 1; fecho= 2; fcont= 4; fatt= 8; fxon= 16; (* conversion classes *) normal_conv= 128; attention= 64; termination= 32; blind= 16; noecho= 8; erase_last= 4; erase_all= 2; mark= 1; (* answer status *) stat_ok= 0; stat_notproc= 1; stat_err= 2; stat_ill= 3; (* status modifications *) stat_timeout= 0; stat_echoerr= 8; stat_att= 16; stat_pty= 32; stat_ovrun= 64; stat_mark= 128; stat_xoff= 256; (* lam status bits *) ls_error= 64; ls_dcd= 32; ls_rfs= 16; ls_dsr= 8; ls_pty= 4; ls_stop= 2; ls_ovrun= 1; \f type (* coroutine states *) rmodetype= (idle,input,input_echo,att,att_echo); xmodetype= (xidle,output,output_last,output_finis,xecho); (* buffer head format *) bufhead= record first, last, next: integer; end; (* device formats *) lamstat= byte; lamouttype= packed record char: byte; ?: 0..7; line: 0..15; ?: 0..1; end; lamstattype= packed record ?: byte; stat: lamstat; end; lamintype= packed record char: byte; ?: 0..3; error: boolean; line: 0..15; input: boolean; end; \f (* line status descriptor *) line_status_type= packed record ?: 0..1; line_speed: 0..3; data_size: 0..3; stop_bits: boolean; pty_mode: 0..3; not_mr, rts, dtr, dcd, rfs, dsr, b14, scan: boolean; end; (* cyclic buffer entry type *) cycinputtype= packed record char: byte; stat: lamstat; end; convinteger= packed record class, char: byte; end; \f (* line descriptor *) linetype= record rmode: rmodetype; rtimer, rtimer1, rtimer2, rstat: integer; rsem, rattsem: semaphore; linestatus: line_status_type; cycfirst, cyclast: integer; cycbuf: array (0..cycmax) of cycinputtype; convmode, echo_count, spec_echo_line, spec_echo_next: integer; res: convinteger; xmode: xmodetype; xtimer, xtimer1: integer; xsem, xsemqueue: semaphore; end; linearraytype= array (firstline..lastline) of linetype; linereftype= record rcurbuf, convbuf: reference; end; \f (* external procedures *) procedure outword(w: lamouttype; var ch: reference); external; procedure sense(var si: lamstattype; so: lamintype; var ch: reference); external; function copychm(var twin, lam: reference): integer; external; procedure control(c: line_status_type; var ch: reference); external; procedure controlclr(c: integer; var ch: reference); external; procedure inword(var w: lamintype; var ch: reference); external; (* end of lam environment *) . ▶EOF◀