xref: /aosp_15_r20/external/libcups/cups/testgetdests.c (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker /*
2*5e7646d2SAndroid Build Coastguard Worker  * CUPS cupsGetDests API test program for CUPS.
3*5e7646d2SAndroid Build Coastguard Worker  *
4*5e7646d2SAndroid Build Coastguard Worker  * Copyright 2017 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker  *
6*5e7646d2SAndroid Build Coastguard Worker  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
7*5e7646d2SAndroid Build Coastguard Worker  */
8*5e7646d2SAndroid Build Coastguard Worker 
9*5e7646d2SAndroid Build Coastguard Worker /*
10*5e7646d2SAndroid Build Coastguard Worker  * Include necessary headers...
11*5e7646d2SAndroid Build Coastguard Worker  */
12*5e7646d2SAndroid Build Coastguard Worker 
13*5e7646d2SAndroid Build Coastguard Worker #include <stdio.h>
14*5e7646d2SAndroid Build Coastguard Worker #include "cups.h"
15*5e7646d2SAndroid Build Coastguard Worker #include <sys/time.h>
16*5e7646d2SAndroid Build Coastguard Worker 
17*5e7646d2SAndroid Build Coastguard Worker 
18*5e7646d2SAndroid Build Coastguard Worker /*
19*5e7646d2SAndroid Build Coastguard Worker  * 'main()' - Loop calling cupsGetDests.
20*5e7646d2SAndroid Build Coastguard Worker  */
21*5e7646d2SAndroid Build Coastguard Worker 
22*5e7646d2SAndroid Build Coastguard Worker int                                     /* O - Exit status */
main(void)23*5e7646d2SAndroid Build Coastguard Worker main(void)
24*5e7646d2SAndroid Build Coastguard Worker {
25*5e7646d2SAndroid Build Coastguard Worker   int           num_dests;              /* Number of destinations */
26*5e7646d2SAndroid Build Coastguard Worker   cups_dest_t   *dests;                 /* Destinations */
27*5e7646d2SAndroid Build Coastguard Worker   struct timeval start, end;            /* Start and stop time */
28*5e7646d2SAndroid Build Coastguard Worker   double        secs;                   /* Total seconds to run cupsGetDests */
29*5e7646d2SAndroid Build Coastguard Worker 
30*5e7646d2SAndroid Build Coastguard Worker 
31*5e7646d2SAndroid Build Coastguard Worker   for (;;)
32*5e7646d2SAndroid Build Coastguard Worker   {
33*5e7646d2SAndroid Build Coastguard Worker     gettimeofday(&start, NULL);
34*5e7646d2SAndroid Build Coastguard Worker     num_dests = cupsGetDests(&dests);
35*5e7646d2SAndroid Build Coastguard Worker     gettimeofday(&end, NULL);
36*5e7646d2SAndroid Build Coastguard Worker     secs = end.tv_sec - start.tv_sec + 0.000001 * (end.tv_usec - start.tv_usec);
37*5e7646d2SAndroid Build Coastguard Worker 
38*5e7646d2SAndroid Build Coastguard Worker     printf("Found %d printers in %.3f seconds...\n", num_dests, secs);
39*5e7646d2SAndroid Build Coastguard Worker 
40*5e7646d2SAndroid Build Coastguard Worker     cupsFreeDests(num_dests, dests);
41*5e7646d2SAndroid Build Coastguard Worker     sleep(1);
42*5e7646d2SAndroid Build Coastguard Worker   }
43*5e7646d2SAndroid Build Coastguard Worker 
44*5e7646d2SAndroid Build Coastguard Worker   return (0);
45*5e7646d2SAndroid Build Coastguard Worker }
46