xref: /aosp_15_r20/external/libcups/backend/test1284.c (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * IEEE-1284 support functions test program for CUPS.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 2007-2010 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  * Copyright © 1997-2006 by Easy Software Products, all rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker  *
7*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
8*5e7646d2SAndroid Build Coastguard Worker  * information.
9*5e7646d2SAndroid Build Coastguard Worker  */
10*5e7646d2SAndroid Build Coastguard Worker 
11*5e7646d2SAndroid Build Coastguard Worker /*
12*5e7646d2SAndroid Build Coastguard Worker  * Include necessary headers.
13*5e7646d2SAndroid Build Coastguard Worker  */
14*5e7646d2SAndroid Build Coastguard Worker 
15*5e7646d2SAndroid Build Coastguard Worker #include <cups/string-private.h>
16*5e7646d2SAndroid Build Coastguard Worker #ifdef _WIN32
17*5e7646d2SAndroid Build Coastguard Worker #  include <io.h>
18*5e7646d2SAndroid Build Coastguard Worker #else
19*5e7646d2SAndroid Build Coastguard Worker #  include <unistd.h>
20*5e7646d2SAndroid Build Coastguard Worker #  include <fcntl.h>
21*5e7646d2SAndroid Build Coastguard Worker #endif /* _WIN32 */
22*5e7646d2SAndroid Build Coastguard Worker 
23*5e7646d2SAndroid Build Coastguard Worker #include "ieee1284.c"
24*5e7646d2SAndroid Build Coastguard Worker 
25*5e7646d2SAndroid Build Coastguard Worker 
26*5e7646d2SAndroid Build Coastguard Worker /*
27*5e7646d2SAndroid Build Coastguard Worker  * 'main()' - Test the device-ID functions.
28*5e7646d2SAndroid Build Coastguard Worker  */
29*5e7646d2SAndroid Build Coastguard Worker 
30*5e7646d2SAndroid Build Coastguard Worker int					/* O - Exit status */
main(int argc,char * argv[])31*5e7646d2SAndroid Build Coastguard Worker main(int  argc,				/* I - Number of command-line args */
32*5e7646d2SAndroid Build Coastguard Worker      char *argv[])			/* I - Command-line arguments */
33*5e7646d2SAndroid Build Coastguard Worker {
34*5e7646d2SAndroid Build Coastguard Worker   int	i,				/* Looping var */
35*5e7646d2SAndroid Build Coastguard Worker 	fd;				/* File descriptor */
36*5e7646d2SAndroid Build Coastguard Worker   char	device_id[1024],		/* 1284 device ID string */
37*5e7646d2SAndroid Build Coastguard Worker 	make_model[1024],		/* make-and-model string */
38*5e7646d2SAndroid Build Coastguard Worker 	uri[1024];			/* URI string */
39*5e7646d2SAndroid Build Coastguard Worker 
40*5e7646d2SAndroid Build Coastguard Worker 
41*5e7646d2SAndroid Build Coastguard Worker   if (argc < 2)
42*5e7646d2SAndroid Build Coastguard Worker   {
43*5e7646d2SAndroid Build Coastguard Worker     puts("Usage: test1284 device-file [... device-file-N]");
44*5e7646d2SAndroid Build Coastguard Worker     exit(1);
45*5e7646d2SAndroid Build Coastguard Worker   }
46*5e7646d2SAndroid Build Coastguard Worker 
47*5e7646d2SAndroid Build Coastguard Worker   for (i = 1; i < argc; i ++)
48*5e7646d2SAndroid Build Coastguard Worker   {
49*5e7646d2SAndroid Build Coastguard Worker     if ((fd = open(argv[i], O_RDWR)) < 0)
50*5e7646d2SAndroid Build Coastguard Worker     {
51*5e7646d2SAndroid Build Coastguard Worker       perror(argv[i]);
52*5e7646d2SAndroid Build Coastguard Worker       return (errno);
53*5e7646d2SAndroid Build Coastguard Worker     }
54*5e7646d2SAndroid Build Coastguard Worker 
55*5e7646d2SAndroid Build Coastguard Worker     printf("%s:\n", argv[i]);
56*5e7646d2SAndroid Build Coastguard Worker 
57*5e7646d2SAndroid Build Coastguard Worker     backendGetDeviceID(fd, device_id, sizeof(device_id), make_model,
58*5e7646d2SAndroid Build Coastguard Worker                        sizeof(make_model), "test", uri, sizeof(uri));
59*5e7646d2SAndroid Build Coastguard Worker 
60*5e7646d2SAndroid Build Coastguard Worker     printf("    device_id=\"%s\"\n", device_id);
61*5e7646d2SAndroid Build Coastguard Worker     printf("    make_model=\"%s\"\n", make_model);
62*5e7646d2SAndroid Build Coastguard Worker     printf("    uri=\"%s\"\n", uri);
63*5e7646d2SAndroid Build Coastguard Worker 
64*5e7646d2SAndroid Build Coastguard Worker     close(fd);
65*5e7646d2SAndroid Build Coastguard Worker   }
66*5e7646d2SAndroid Build Coastguard Worker 
67*5e7646d2SAndroid Build Coastguard Worker   return (0);
68*5e7646d2SAndroid Build Coastguard Worker }
69