DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦459296eed⟧ TextFileVerbose

    Length: 13824 (0x3600)
    Types: TextFileVerbose
    Names: »osiflst«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »osiflst« 

TextFileVerbose

\f

osiflst     81.05.14.   12.31.                                                    page     1

   10    1          
   20    2        PROCESS osif (
   30    3          op_sem  : sempointer;
   40    4          VAR  input_sem  : !ts_pointer;
   50    5          VAR stream_sem,
   60    6          lam_sem  : !sempointer;
   70    7          stream_no,
   80    8          no_stream_bufs,
   90    9          no_tty_bufs,
  100   10          portno  : byte );
  110   11          
  120   12        CONST
  130   13          version = "vers  1.07 /";
  140   14          
  150   15          tty_read    = 1;  (* rutes of bufs , u4 *)
  160   16          tty_write   = 2;
  170   17          stream_read = 3;
  180   18          stream_write= 4;
  190   19          stream_buf  = 5;
  200   20          tty_buf     = 6;
  210   21          txt_max     = 24;
  220   22          
  230   23        TYPE
  240   24          transmit_buf = RECORD
  250   25                         !  fi, la, ne : integer;
  260   26                         !  fix : alarmlabel;
  270   27                         !  data : ARRAY ( 1..256 ) OF char;
  280   28                         END;
  290   29          error_txt = ARRAY(0..txt_max) OF char;
  300   30        CONST
  310   31          discon = error_txt
  320   32           ("d","i","s","c","o","n","n","e","c","t","e","d",11***" ",cr,nl);
  330   33        VAR
  340   34          i,j    : integer;
  350   35          msg  : reference;
  360   36          opzone : zone;
  370   37          no_trans_bufs : integer := 6;
  380   38          trans_pool : pool 6 OF transmit_buf;
  390   39          base : integer;
  400   40           
\f

osiflst     81.05.14.   12.31.                                                    page     2

 1010   41          PROCEDURE send_read_tty;
 1020   42          BEGIN
 1030   43    1     ! LOCK msg AS buf : transmit_buf DO
 1040   44    2     !   WITH msg^, buf DO
 1050   45    3     !     BEGIN
 1060   46    4     !     ! u1:= read_tty;
 1070   47    5     !     ! u2:= tty_port;
 1080   48    6     !     ! u3:= 19;
 1090   49    7     !     ! u4:= tty_read;
 1100   50    8     !     ! fi:= 3 + label_size;
 1110   51    9     !     ! la:= tty_length;
 1120   52   10     !     ! ne:= 3 + label_size;
 1130   53   11     !     END;
 1140   54   12     ! signal( msg, lam_sem^ );
 1150   55   13     END;
 1160   56          
 1170   57          PROCEDURE send_read_stream;
 1180   58          BEGIN
 1190   59    1     ! LOCK msg AS buf : transmit_buf DO
 1200   60    2     !   WITH msg^, buf DO
 1210   61    3     !     BEGIN
 1220   62    4     !     ! u1:= read_stream;
 1230   63    5     !     ! u2:= 0;
 1240   64    6     !     ! u3:= stream_no;
 1250   65    7     !     ! u4:= stream_read;
 1260   66    8     !     ! fi:= 6;
 1270   67    9     !     ! la:= 239;
 1280   68   10     !     ! ne:= 6;
 1290   69   11     !     END;
 1300   70   12     ! signal( msg, stream_sem^ );
 1310   71   13     END;
 1320   72           
\f

osiflst     81.05.14.   12.31.                                                    page     3

 2010   73          PROCEDURE tty_to_stream;
 2020   74          BEGIN
 2030   75    1     ! LOCK msg AS buf : transmit_buf DO
 2040   76    2     !   WITH msg^, buf DO
 2050   77    3     !     BEGIN
 2060   78    4     !     ! u1:= write_stream;
 2070   79    5     !     ! fix.result:= u2;
 2080   80    6     !     ! u3:= stream_no;
 2090   81    7     !     ! IF u4=tty_write THEN
 2100   82    8     !     !   u4:= stream_buf ELSE
 2110   83    9     !     !   u4:= stream_write;
 2120   84   10     !     ! fi:= 6;
 2130   85   11     !     ! la:= tty_length+6;
 2140   86   12     !     ! ne:= ne + 6;
 2150   87   13     !     END;
 2160   88   14     ! signal( msg, stream_sem^ );
 2170   89   15     END;
 2180   90          
 2190   91          PROCEDURE stream_to_tty;
 2200   92          BEGIN
 2210   93    1     ! LOCK msg AS buf : transmit_buf DO
 2220   94    2     !   WITH msg^, buf DO
 2230   95    3     !     BEGIN
 2240   96    4     !     ! i:= u2;
 2250   97    5     !     ! u1:= write_tty;
 2260   98    6     !     ! u2:= tty_port;
 2270   99    7     !     ! u3:= 20;
 2280  100    8     !     ! IF u4=stream_write THEN
 2290  101    9     !     !   u4:= tty_buf ELSE
 2300  102   10     !     !   u4:= tty_write;
 2310  103   11     !     ! fi:= 3 + label_size;
 2320  104   12     !     ! la:= fi + fix.no_of_by - 14(*label*) - 1;
 2330  105   13     !     ! ne:= 3 + label_size;
 2340  106   14     !     ! IF i<>ok_result THEN
 2350  107   15     !     !   BEGIN
 2360  108   16     !     !   ! la:= fi+txt_max;
 2370  109   17     !     !   ! FOR j:=0 TO txt_max DO
 2380  110   18     !     !   !   data(1+j):= discon(j);
 2390  111   19     !     !   ! IF u4=tty_buf THEN
 2400  112   20     !     !   !   data(14):= "X" ELSE
 2410  113   21     !     !   !   data(14):= "R";
 2420  114   22     !     !   ! base:= 128;
 2430  115   23     !     !   ! FOR j:=0 TO 7 DO
 2440  116   24     !     !   !   BEGIN
 2450  117   25     !     !   !   ! IF (base AND i) = base THEN
 2460  118   26     !     !   !   !   data(16+j):= "1" ELSE
\f

osiflst     81.05.14.   12.31.                                                    page     4

 2470  119   27     !     !   !   !   data(16+j):= "0";
 2480  120   28     !     !   !   ! base:= base DIV 2;
 2490  121   29     !     !   !   END;
 2500  122   30     !     !   END;
 2510  123   31     !     END;
 2520  124   32     ! signal( msg, lam_sem^ );
 2530  125   33     END;
 2540  126           
\f

osiflst     81.05.14.   12.31.                                                    page     5

 3010  127            (* main program *)
 3020  128        BEGIN
 3030  129    1   ! testopen( opzone, own.incname, op_sem );
 3040  130    2   ! testout ( opzone, version, fe_env_version );
 3050  131    3   ! alloc( msg, trans_pool, input_sem.s^ );
 3060  132    4   ! REPEAT
 3070  133    5   ! ! LOCK msg AS buf : create_shape DO
 3080  134    6   ! !   WITH msg^, buf DO
 3090  135    7   ! !     BEGIN
 3100  136    8   ! !     ! u1:= create_tty_ch;
 3110  137    9   ! !     ! u2:= tty_port;
 3120  138   10   ! !     ! u3:= 33;       (* <>0 *)
 3130  139   11   ! !     ! contr:= tty_control;
 3140  140   12   ! !     ! timer:= 60;
 3150  141   13   ! !     END;
 3160  142   14   ! ! signal( msg, lam_sem^ );
 3170  143   15   ! ! wait( msg, input_sem.w^ );
 3180  144   16   ! UNTIL msg^.u2 = 0;
 3190  145   17   ! release( msg );
 3200  146   18   ! FOR i:=1 TO no_trans_bufs DO
 3210  147   19   !   BEGIN
 3220  148   20   !   ! alloc( msg, trans_pool, input_sem.s^ );
 3230  149   21   !   ! IF i<=no_tty_bufs THEN
 3240  150   22   !   !   send_read_tty ELSE
 3250  151   23   !   !   send_read_stream;
 3260  152   24   !   END;
 3270  153   25   ! REPEAT (* forever *)
 3280  154   26   ! ! wait( msg, input_sem.w^ );
 3290  155   27   ! ! WITH msg^ DO
 3300  156   28   ! !   CASE u4 OF
 3310  157   29   ! !   ! tty_read  : (* data from tty *)
 3320  158   30   ! !   !   IF u2<>timeout_err THEN tty_to_stream
 3330  159   31   ! !   !   ELSE send_read_tty;
 3340  160   32   ! !   ! tty_write : (* result from write tty *)
 3350  161   33   ! !   !   IF u2=ok_result THEN send_read_stream
 3360  162   34   ! !   !   ELSE tty_to_stream;
 3370  163   35   ! !   ! stream_read : (* data from streamer *)
 3380  164   36   ! !   !   stream_to_tty;
 3390  165   37   ! !   ! stream_write : (* result from write stream *)
 3400  166   38   ! !   !   IF u2=ok_result THEN send_read_tty
 3410  167   39   ! !   !   ELSE stream_to_tty;
 3420  168   40   ! !   ! tty_buf : send_read_tty;
 3430  169   41   ! !   ! stream_buf : send_read_stream;
 3440  170   42   ! !   ! OTHERWISE return( msg )
 3450  171   43   ! !   ! 
 3460  172   44   ! !   END (* case u4 *)
\f

osiflst     81.05.14.   12.31.                                                    page     6

 3470  173   45   ! UNTIL false
 3480  174   46   END. (* process osif *)
 3490  175      
\f

osiflst     81.05.14.   12.31.                                                    page     7

           0   29*   63   109   115   144 
           1   15*   27*  104   110   146 
           2   16*  120 
           3   17*   50    52   103   105 
           4   18*
           5   19*
           6   20*   37*   38*   66    68    84    85    86 
           7  115 
          11   32*
          14  104   112   113 
          16  118   119 
          19   48 
          20   99 
          24   21*
          33  138 
          60  140 
         128  114 
         239   67 
         256   27*
alarmlabel     26*
alloc         131   148 
as             43:   59:   75:   93:  133:
base           39*  114=  117   117   120=  120 
buf            43:   44    59:   60    75:   76    93:   94   133:  134 
byte           10*
char           27*   29*
contr         139=
cr             32*
create_shape  133 
create_tty_ch                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
              136 
data           27*  110=  112=  113=  118=  119=
discon         31*  110 
error_txt      29*   31*
false         173 
fe_env_version                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
              130 
fi             25*   50=   66=   84=  103=  104   108 
fix            26*   79   104 
i              34*   96=  106   117   146=  149 
incname       129 
input_sem       4*  131   143   148   154 
integer        25*   34*   37*   39*
j              34*  109=  110   110   115=  118   119 
\f

osiflst     81.05.14.   12.31.                                                    page     8

la             25*   51=   67=   85=  104=  108=
label_size     50    52   103   105 
lam_sem         6*   54   124   142 
lock           43:   59:   75:   93:  133:
msg            35*   43:   44    54    59:   60    70    75:   76    88    93:   94   124   131   133:
              134   142   143   144   145   148   154   155   170 
ne             25*   52=   68=   86=   86   105=
nl             32*
no_of_by      104 
no_stream_bufs                                                   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                8*
no_trans_bufs                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               37*  146 
no_tty_bufs     9*  149 
ok_result     106   161   166 
opzone         36*  129   130 
op_sem          3*  129 
osif            2*
own           129 
pool           38*
portno         10*
process         2*
read_stream    62 
read_tty       46 
reference      35*
release       145 
result         79=
return        170 
s             131   148 
sempointer      3*    6*
send_read_stream                                                 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               57*  151   161   169 
send_read_tty                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               41*  150   159   166   168 
signal         54    70    88   124   142 
stream_buf     19*   82   169:
stream_no       7*   64    80 
stream_read    17*   65   163:
stream_sem      5*   70    88 
stream_to_tty                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               91*  164   167 
stream_write   18*   83   100   165:
testopen      129 
testout       130 
\f

osiflst     81.05.14.   12.31.                                                    page     9

timeout_err   158 
timer         140=
transmit_buf   24*   38*   43    59    75    93 
trans_pool     38*  131   148 
ts_pointer      4*
tty_buf        20*  101   111   168:
tty_control   139 
tty_length     51    85 
tty_port       47    98   137 
tty_read       15*   49   157:
tty_to_stream                                                    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
               73*  158   162 
tty_write      16*   81   102   160:
txt_max        21*   29*  108   109 
u1             46=   62=   78=   97=  136=
u2             47=   63=   79    96    98=  137=  144   158   161   166 
u3             48=   64=   80=   99=  138=
u4             49=   65=   81    82=   83=  100   101=  102=  111   156 
version        13*  130 
w             143   154 
wait          143   154 
write_stream   78 
write_tty      97 
zone           36*
\f

osiflst     81.05.14.   12.31.                                                    page    10

AND                1
ARRAY              2
BEGIN             13
CASE               1
CONST              2
DIV                1
DO                14
ELSE               8
END               15
FOR                3
IF                 9
OF                 4
OTHERWISE          1
PROCEDURE          4
RECORD             1
REPEAT             2
THEN               9
TO                 3
TYPE               1
UNTIL              2
VAR                3
WITH               6
\f

jg4  1981.05.14  12.30
 osif program
81.05.14.      12.31.                         pascal80     version 1981.04.01


   name        headline beginline endline  appetite(words) 

   send_read_tt    42        43      55  :       9            
   send_read_st    58        59      71  :      11            
   tty_to_strea    74        75      89  :      11            
   stream_to_tt    92        93     125  :      16            
   osif            13       129     174  :     109            

 code: 0 . 1744  = 1744 bytes


end of PASCAL80 compilation 

end
blocksread = 52
«eof»