1/*
2 * Administration utility API definitions for CUPS.
3 *
4 * Copyright 2007-2016 by Apple Inc.
5 * Copyright 2001-2007 by Easy Software Products.
6 *
7 * These coded instructions, statements, and computer programs are the
8 * property of Apple Inc. and are protected by Federal copyright
9 * law.  Distribution and use rights are outlined in the file "LICENSE.txt"
10 * which should have been included with this file.  If this file is
11 * missing or damaged, see the license at "http://www.cups.org/".
12 *
13 * This file is subject to the Apple OS-Developed Software exception.
14 */
15
16#ifndef _CUPS_ADMINUTIL_H_
17#  define _CUPS_ADMINUTIL_H_
18
19/*
20 * Include necessary headers...
21 */
22
23#  include <stdio.h>
24#  include "cups.h"
25
26
27/*
28 * C++ magic...
29 */
30
31#  ifdef __cplusplus
32extern "C" {
33#  endif /* __cplusplus */
34
35
36/*
37 * Constants...
38 */
39
40#  define CUPS_SERVER_DEBUG_LOGGING	"_debug_logging"
41#  define CUPS_SERVER_REMOTE_ADMIN	"_remote_admin"
42#  define CUPS_SERVER_REMOTE_ANY	"_remote_any"
43#  define CUPS_SERVER_SHARE_PRINTERS	"_share_printers"
44#  define CUPS_SERVER_USER_CANCEL_ANY	"_user_cancel_any"
45
46
47/*
48 * Types and structures...
49 */
50
51typedef void (*cups_device_cb_t)(const char *device_class,
52                                 const char *device_id, const char *device_info,
53                                 const char *device_make_and_model,
54                                 const char *device_uri,
55				 const char *device_location, void *user_data);
56					/* Device callback
57					 * @since CUPS 1.4/macOS 10.6@ */
58
59
60/*
61 * Functions...
62 */
63
64extern int	cupsAdminExportSamba(const char *dest, const char *ppd,
65		                     const char *samba_server,
66			             const char *samba_user,
67				     const char *samba_password,
68				     FILE *logfile) _CUPS_DEPRECATED;
69extern char	*cupsAdminCreateWindowsPPD(http_t *http, const char *dest,
70		                           char *buffer, int bufsize)
71		                           _CUPS_DEPRECATED;
72
73extern int	cupsAdminGetServerSettings(http_t *http,
74			                   int *num_settings,
75		                           cups_option_t **settings)
76		                           _CUPS_API_1_3;
77extern int	cupsAdminSetServerSettings(http_t *http,
78		                           int num_settings,
79		                           cups_option_t *settings)
80		                           _CUPS_API_1_3;
81
82extern ipp_status_t	cupsGetDevices(http_t *http, int timeout,
83			               const char *include_schemes,
84			               const char *exclude_schemes,
85				       cups_device_cb_t callback,
86				       void *user_data) _CUPS_API_1_4;
87
88
89#  ifdef __cplusplus
90}
91#  endif /* __cplusplus */
92
93#endif /* !_CUPS_ADMINUTIL_H_ */
94