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  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8  */
9 
10 #ifndef _CUPS_ADMINUTIL_H_
11 #  define _CUPS_ADMINUTIL_H_
12 
13 /*
14  * Include necessary headers...
15  */
16 
17 #  include <stdio.h>
18 #  include "cups.h"
19 
20 
21 /*
22  * C++ magic...
23  */
24 
25 #  ifdef __cplusplus
26 extern "C" {
27 #  endif /* __cplusplus */
28 
29 
30 /*
31  * Constants...
32  */
33 
34 #  define CUPS_SERVER_DEBUG_LOGGING	"_debug_logging"
35 #  define CUPS_SERVER_REMOTE_ADMIN	"_remote_admin"
36 #  define CUPS_SERVER_REMOTE_ANY	"_remote_any"
37 #  define CUPS_SERVER_SHARE_PRINTERS	"_share_printers"
38 #  define CUPS_SERVER_USER_CANCEL_ANY	"_user_cancel_any"
39 
40 
41 /*
42  * Types and structures...
43  */
44 
45 typedef void (*cups_device_cb_t)(const char *device_class,
46                                  const char *device_id, const char *device_info,
47                                  const char *device_make_and_model,
48                                  const char *device_uri,
49 				 const char *device_location, void *user_data);
50 					/* Device callback
51 					 * @since CUPS 1.4/macOS 10.6@ */
52 
53 
54 /*
55  * Functions...
56  */
57 
58 extern int	cupsAdminExportSamba(const char *dest, const char *ppd,
59 		                     const char *samba_server,
60 			             const char *samba_user,
61 				     const char *samba_password,
62 				     FILE *logfile) _CUPS_DEPRECATED;
63 extern char	*cupsAdminCreateWindowsPPD(http_t *http, const char *dest,
64 		                           char *buffer, int bufsize)
65 		                           _CUPS_DEPRECATED;
66 
67 extern int	cupsAdminGetServerSettings(http_t *http,
68 			                   int *num_settings,
69 		                           cups_option_t **settings)
70 		                           _CUPS_API_1_3;
71 extern int	cupsAdminSetServerSettings(http_t *http,
72 		                           int num_settings,
73 		                           cups_option_t *settings)
74 		                           _CUPS_API_1_3;
75 
76 extern ipp_status_t	cupsGetDevices(http_t *http, int timeout,
77 			               const char *include_schemes,
78 			               const char *exclude_schemes,
79 				       cups_device_cb_t callback,
80 				       void *user_data) _CUPS_DEPRECATED;
81 
82 
83 #  ifdef __cplusplus
84 }
85 #  endif /* __cplusplus */
86 
87 #endif /* !_CUPS_ADMINUTIL_H_ */
88