pike.git / lib / modules / Protocols.pmod / LPD.pmod

version» Context lines:

pike.git/lib/modules/Protocols.pmod/LPD.pmod:10:   //! A client for communicating with printers and print spoolers that   //! support the BSD lpd protocol (RFC 1179).   class client {    string host;    int port;    private Stdio.File conn;    int jobnum;    string jobtype;    string jobname;    -  static int connect(string host, int port) +  protected int connect(string host, int port)    {    int a=random(10);    // try to open one of the "official" local socket ports.    // not having one doesn't seem to be a problem with most LPD    // servers, but we should at least try. will probably fail    // if two try to open the same local port at once. ymmv.    int res=conn->open_socket(721 + a);       return conn->connect(host, port);    }    -  static void send(string s, mixed ... args) +  protected void send(string s, mixed ... args)   {   #ifdef LPD_DEBUG    werror("LPD: sending %O\n", s);   #endif    conn->write(s, @args);   }      //! @decl int set_job_type(string type)   //! Set the type of job to be sent to the printer to @i{type@}.   //! Valid types are: text, postscript and raw.
pike.git/lib/modules/Protocols.pmod/LPD.pmod:85:    return 0;       send("%c%s\n", 01, queue);    string resp= conn->read();    conn->close();    int res;    sscanf(resp, "%c", res);    return res;    }    - static string make_control(int jn) + protected string make_control(int jn)   {    String.Buffer control = String.Buffer();       control->add("H", gethostname(), "\n");   #if constant(getuid) && constant(getpwuid)    control->add("P", getpwuid(getuid())[0]||"nobody", "\n");   #else    control->add("P-1\n");   #endif    control->sprintf("%sdfA%03d%s\n", (jobtype||"l"), jn, gethostname());