Import ncpfs 0.15
This commit is contained in:
@@ -29,6 +29,7 @@ struct nw_queue {
|
||||
static struct nw_queue q;
|
||||
|
||||
static int term_request;
|
||||
static char *progname;
|
||||
|
||||
static int
|
||||
init_queue(struct ncp_conn *conn, char *queue_name,
|
||||
@@ -37,11 +38,31 @@ init_queue(struct ncp_conn *conn, char *queue_name,
|
||||
static int
|
||||
poll_queue(struct nw_queue *q);
|
||||
|
||||
void
|
||||
static void
|
||||
usage(void)
|
||||
{
|
||||
/* Obviously, there's more to do */
|
||||
return;
|
||||
fprintf(stderr, "usage: %s [options] file\n", progname);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
static void
|
||||
help(void)
|
||||
{
|
||||
printf("\n");
|
||||
printf("usage: %s [options]\n", progname);
|
||||
printf("\n"
|
||||
"-S server Server name to be used\n"
|
||||
"-U username Print Server name sent to server\n"
|
||||
"-P password Use this password\n"
|
||||
"-n Do not use any password\n"
|
||||
"-C Don't convert password to uppercase\n"
|
||||
"-q queue name Name of the printing queue to use\n"
|
||||
"-c command Name of print command, default: 'lpr'\n"
|
||||
"-j job type Type of job (Form number) to service\n"
|
||||
"-t timeout Polling interval, default: 30 sec\n"
|
||||
"-d Debug: don't daemonize\n"
|
||||
"-h print this help text\n"
|
||||
"\n");
|
||||
}
|
||||
|
||||
#ifndef NCP_BINDERY_PSERVER
|
||||
@@ -52,10 +73,10 @@ static void
|
||||
terminate_handler()
|
||||
{
|
||||
signal(SIGTERM,terminate_handler);
|
||||
signal(SIGINT, terminate_handler);
|
||||
term_request=1;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void
|
||||
daemonize()
|
||||
{
|
||||
@@ -77,7 +98,6 @@ daemonize()
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
@@ -87,19 +107,46 @@ main(int argc, char *argv[])
|
||||
int opt;
|
||||
int job_type = 0xffff;
|
||||
int debug = 0;
|
||||
int i;
|
||||
|
||||
char *queue_name = NULL;
|
||||
|
||||
char default_command[] = "lpr";
|
||||
char *command = default_command;
|
||||
|
||||
progname = argv[0];
|
||||
|
||||
for (i = 1; i < argc; i += 1)
|
||||
{
|
||||
if ( (strcmp(argv[i], "-h") == 0)
|
||||
|| (strcmp(argv[i], "-?") == 0))
|
||||
{
|
||||
help();
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i += 1)
|
||||
{
|
||||
if (strcmp(argv[i], "-d") == 0)
|
||||
{
|
||||
debug = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (debug == 0)
|
||||
{
|
||||
daemonize();
|
||||
}
|
||||
|
||||
if (ncp_initialize_as(&conn, &argc, argv, 1, NCP_BINDERY_PSERVER) != 0)
|
||||
{
|
||||
perror("Could not open connection");
|
||||
return 1;
|
||||
}
|
||||
|
||||
while ((opt = getopt(argc, argv, "q:c:j:t:d")) != EOF)
|
||||
while ((opt = getopt(argc, argv, "q:c:j:t:dh")) != EOF)
|
||||
{
|
||||
switch (opt)
|
||||
{
|
||||
@@ -118,18 +165,26 @@ main(int argc, char *argv[])
|
||||
case 'd':
|
||||
debug = 1;
|
||||
break;
|
||||
case 'h':
|
||||
break;
|
||||
default:
|
||||
usage();
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (argc != optind)
|
||||
{
|
||||
usage();
|
||||
return -1;
|
||||
}
|
||||
|
||||
memzero(q);
|
||||
|
||||
if (debug == 0)
|
||||
if (queue_name == NULL)
|
||||
{
|
||||
/* We can not daemonize after ncp_initialize, sorry */
|
||||
/* daemonize(); */
|
||||
fprintf(stderr, "You must specify a queue\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (init_queue(&conn, queue_name, command, &q) != 0)
|
||||
@@ -143,6 +198,7 @@ main(int argc, char *argv[])
|
||||
|
||||
term_request = 0;
|
||||
signal(SIGTERM,terminate_handler);
|
||||
signal(SIGINT, terminate_handler);
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user