diff options
Diffstat (limited to 'system/net/1.8.7/src/printer server')
-rw-r--r-- | system/net/1.8.7/src/printer server | 99 |
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 ; - |