summaryrefslogtreecommitdiff
path: root/system/net/1.8.7/src/printer server
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2019-02-07 10:05:49 +0100
committerLars-Dominik Braun <lars@6xq.net>2019-02-07 10:05:49 +0100
commit71e2b36ccd05ea678e62e32ee6245df2b8d6ac17 (patch)
tree309695cade0689404ef4124fa77b3110ac23f325 /system/net/1.8.7/src/printer server
parentaa147d2f6fd3151c416a70793e00b36b63a19215 (diff)
downloadeumel-src-71e2b36ccd05ea678e62e32ee6245df2b8d6ac17.tar.gz
eumel-src-71e2b36ccd05ea678e62e32ee6245df2b8d6ac17.tar.bz2
eumel-src-71e2b36ccd05ea678e62e32ee6245df2b8d6ac17.zip
Move spooler into its own package
I *think* these parts belong together.
Diffstat (limited to 'system/net/1.8.7/src/printer server')
-rw-r--r--system/net/1.8.7/src/printer server99
1 files changed, 0 insertions, 99 deletions
diff --git a/system/net/1.8.7/src/printer server b/system/net/1.8.7/src/printer server
deleted file mode 100644
index b1a30bc..0000000
--- a/system/net/1.8.7/src/printer server
+++ /dev/null
@@ -1,99 +0,0 @@
-PACKET multi user printer : (* Autor : Rudolf Ruland *)
- (* Stand : 24.03.86 *)
-
-INT VAR c;
-put ("gib Druckerkanal : "); get (c);
-
- server channel (c);
- station only (FALSE) ;
- spool duty ("Ausgabe mit dem Drucker");
- spool control task (myself);
-
-LET ack = 0 ,
-
- fetch code = 11 ,
- param fetch code = 21 ,
- file type = 1003 ;
-
-INT VAR reply, old heap size, sender station;
-TEXT VAR file name, userid, password, sendername;
-FILE VAR file ;
-
-DATASPACE VAR ds, file ds;
-
-BOUND STRUCT (TEXT file name, userid, password, sendername, INT station) VAR msg;
-BOUND TEXT VAR error msg ;
-
-spool manager (PROC printer);
-
-PROC printer :
-
- disable stop ;
- command dialogue (FALSE);
- ds := nilspace; file ds := nilspace;
- continue (server channel) ;
- check error ("Kanal belegt");
-
- old heap size := heap size ;
- REP
- execute print ;
-
- IF is error
- THEN put error;
- clear error;
- FI ;
-
- IF heap size > old heap size + 4
- THEN collect heap garbage ;
- old heap size := heap size
- FI
- PER
-
-ENDPROC printer ;
-
-
-PROC execute print :
-
- enable stop ;
- forget (file ds) ; file ds := nilspace ;
- call (father, fetch code, file ds, reply) ;
- IF reply = ack CAND type (file ds) = file type
- THEN get file params;
- print file
- FI ;
-
-. get file params :
- forget (ds); ds := nilspace;
- call (father, param fetch code, ds, reply);
- IF reply <> ack
- THEN error msg := ds; errorstop (error msg);
- ELSE msg := ds;
- file name := msg. file name;
- userid := msg. userid;
- password := msg. password;
- sendername := msg. sender name;
- sender station := msg. station;
- FI;
-
-. print file :
- file := sequential file (input, file ds);
- print (file,
- PROC (INT CONST, INT VAR, INT VAR) open,
- PROC (INT CONST, INT CONST) close,
- PROC (INT CONST, TEXT CONST, INT CONST, INT CONST) execute);
-
-ENDPROC execute print ;
-
-
-PROC check error (TEXT CONST message) :
- IF is error
- THEN clear error;
- rename myself (message);
- IF is error THEN clear error; end (myself) FI;
- pause (18000);
- end (myself);
- FI;
-END PROC check error;
-
-ENDPACKET multi user printer ;
-