]> git.ipfire.org Git - thirdparty/cups.git/blame - cups/testadmin.c
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / cups / testadmin.c
CommitLineData
757d2cad 1/*
503b54c9 2 * Admin function test program for CUPS.
757d2cad 3 *
503b54c9
MS
4 * Copyright 2007-2013 by Apple Inc.
5 * Copyright 2006 by Easy Software Products.
757d2cad 6 *
e3101897 7 * Licensed under Apache License v2.0. See the file "LICENSE" for more information.
757d2cad 8 */
9
10/*
11 * Include necessary headers...
12 */
13
14#include "adminutil.h"
71e16022 15#include "string-private.h"
757d2cad 16
17
18/*
19 * Local functions...
20 */
21
22static void show_settings(int num_settings, cups_option_t *settings);
23
24
25/*
26 * 'main()' - Main entry.
27 */
28
29int /* O - Exit status */
30main(int argc, /* I - Number of command-line args */
31 char *argv[]) /* I - Command-line arguments */
32{
33 int i, /* Looping var */
34 num_settings; /* Number of settings */
35 cups_option_t *settings; /* Settings */
36 http_t *http; /* Connection to server */
37
38
39 /*
40 * Connect to the server using the defaults...
41 */
42
cb7f98ee
MS
43 http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC,
44 cupsEncryption(), 1, 30000, NULL);
757d2cad 45
46 /*
47 * Set the current configuration if we have anything on the command-line...
48 */
49
50 if (argc > 1)
51 {
1f0275e3 52 for (i = 1, num_settings = 0, settings = NULL; i < argc; i ++)
757d2cad 53 num_settings = cupsParseOptions(argv[i], num_settings, &settings);
54
f899b121 55 if (cupsAdminSetServerSettings(http, num_settings, settings))
757d2cad 56 {
57 puts("New server settings:");
58 cupsFreeOptions(num_settings, settings);
59 }
60 else
61 {
62 printf("Server settings not changed: %s\n", cupsLastErrorString());
63 return (1);
64 }
65 }
66 else
67 puts("Current server settings:");
68
69 /*
70 * Get the current configuration...
71 */
72
f899b121 73 if (cupsAdminGetServerSettings(http, &num_settings, &settings))
757d2cad 74 {
75 show_settings(num_settings, settings);
76 cupsFreeOptions(num_settings, settings);
77 return (0);
78 }
79 else
80 {
81 printf(" %s\n", cupsLastErrorString());
82 return (1);
83 }
84}
85
86
87/*
88 * 'show_settings()' - Show settings in the array...
89 */
90
91static void
92show_settings(
93 int num_settings, /* I - Number of settings */
94 cups_option_t *settings) /* I - Settings */
95{
96 while (num_settings > 0)
97 {
98 printf(" %s=%s\n", settings->name, settings->value);
99
100 settings ++;
101 num_settings --;
102 }
103}