Initial version imported to CVS
[sfrench/samba-autobuild/.git] / source3 / utils / testprns.c
1 /* 
2    Unix SMB/Netbios implementation.
3    Version 1.9.
4    test printer setup
5    Copyright (C) Karl Auer 1993, 1994
6    
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11    
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16    
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 /*
23  * Testbed for pcap.c
24  *
25  * This module simply checks a given printer name against the compiled-in
26  * printcap file.
27  *
28  * The operation is performed with DEBUGLEVEL at 3.
29  *
30  * Useful for a quick check of a printcap file.
31  *
32  */
33
34 #include "includes.h"
35 #include "smb.h"
36 #include "pcap.h"
37
38 /* these live in util.c */
39 extern FILE *dbf;
40 extern int DEBUGLEVEL;
41
42 int main(int argc, char *argv[])
43 {
44    char *pszTemp;
45
46    setup_logging(argv[0],True);
47
48    charset_initialise();
49
50    if (argc < 2 || argc > 3)
51       printf("Usage: testprns printername [printcapfile]\n");
52    else
53    {
54       dbf = fopen("test.log", "w");
55       if (dbf == NULL)
56          printf("Unable to open logfile.\n");
57       else
58       {
59          DEBUGLEVEL = 3;
60          pszTemp = (argc < 3) ? PRINTCAP_NAME : argv[2];
61          printf("Looking for printer %s in printcap file %s\n", 
62                  argv[1], pszTemp);
63          if (!pcap_printername_ok(argv[1], pszTemp))
64             printf("Printer name %s is not valid.\n", argv[1]);
65          else
66             printf("Printer name %s is valid.\n", argv[1]);
67          fclose(dbf);
68       }
69    }
70    return (0);
71 }
72