3 # netprint - Text filter for printer attached to network
4 # Installed in /usr/local/libexec/netprint
7 $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>";
9 $printer_host = $ARGV[0];
10 $printer_port = $ARGV[1];
12 require 'sys/socket.ph';
14 ($ignore, $ignore, $protocol) = getprotobyname('tcp');
15 ($ignore, $ignore, $ignore, $ignore, $address)
16 = gethostbyname($printer_host);
18 $sockaddr = pack('S n a4 x8', &AF_INET
, $printer_port, $address);
20 socket(PRINTER
, &PF_INET
, &SOCK_STREAM
, $protocol)
21 || die "Can't create TCP/IP stream socket: $!";
22 connect(PRINTER
, $sockaddr) || die "Can't contact $printer_host: $!";
23 while (<STDIN
>) { print PRINTER
; }