1/* 2 * "$Id: testsupplies.c 3249 2011-05-12 06:35:27Z msweet $" 3 * 4 * SNMP supplies test program for CUPS. 5 * 6 * Copyright 2008-2011 by Apple Inc. 7 * 8 * These coded instructions, statements, and computer programs are the 9 * property of Apple Inc. and are protected by Federal copyright 10 * law. Distribution and use rights are outlined in the file "LICENSE.txt" 11 * "LICENSE" which should have been included with this file. If this 12 * file is missing or damaged, see the license at "http://www.cups.org/". 13 * 14 * This file is subject to the Apple OS-Developed Software exception. 15 * 16 * Contents: 17 * 18 * main() - Show the supplies state of a printer. 19 */ 20 21/* 22 * Include necessary headers. 23 */ 24 25#include "backend-private.h" 26 27 28/* 29 * 'main()' - Show the supplies state of a printer. 30 */ 31 32int /* O - Exit status */ 33main(int argc, /* I - Number of command-line args */ 34 char *argv[]) /* I - Command-line arguments */ 35{ 36 http_addrlist_t *host; /* Host addresses */ 37 int snmp_fd; /* SNMP socket */ 38 int page_count, /* Current page count */ 39 printer_state; /* Current printer state */ 40 41 42 if (argc != 2) 43 { 44 puts("Usage: testsupplies ip-or-hostname"); 45 return (1); 46 } 47 48 if ((host = httpAddrGetList(argv[1], AF_UNSPEC, "9100")) == NULL) 49 { 50 perror(argv[1]); 51 return (1); 52 } 53 54 if ((snmp_fd = _cupsSNMPOpen(host->addr.addr.sa_family)) < 0) 55 { 56 perror(argv[1]); 57 return (1); 58 } 59 60 for (;;) 61 { 62 fputs("backendSNMPSupplies: ", stdout); 63 64 if (backendSNMPSupplies(snmp_fd, &(host->addr), &page_count, 65 &printer_state)) 66 { 67 puts("FAIL"); 68 return (1); 69 } 70 71 printf("backendSNMPSupplies: %s (page_count=%d, printer_state=%d)\n", 72 page_count < 0 || printer_state < CUPS_TC_other || 73 printer_state > CUPS_TC_warmup ? "FAIL" : "PASS", 74 page_count, printer_state); 75 76 sleep(5); 77 } 78} 79 80 81/* 82 * End of "$Id: testsupplies.c 3249 2011-05-12 06:35:27Z msweet $". 83 */ 84