121240Swosch#!/usr/bin/perl 221240Swosch# 321240Swosch# netprint - Text filter for printer attached to network 421240Swosch# Installed in /usr/local/libexec/netprint 521240Swosch# 621240Swosch 721240Swosch$#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; 821240Swosch 921240Swosch$printer_host = $ARGV[0]; 1021240Swosch$printer_port = $ARGV[1]; 1121240Swosch 1221240Swoschrequire 'sys/socket.ph'; 1321240Swosch 1421240Swosch($ignore, $ignore, $protocol) = getprotobyname('tcp'); 1521240Swosch($ignore, $ignore, $ignore, $ignore, $address) 1621240Swosch = gethostbyname($printer_host); 1721240Swosch 1821240Swosch$sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address); 1921240Swosch 2021240Swoschsocket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) 2121240Swosch || die "Can't create TCP/IP stream socket: $!"; 2221240Swoschconnect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!"; 2321240Swoschwhile (<STDIN>) { print PRINTER; } 2421240Swoschexit 0; 25