1 /*
2  * Backend definitions for CUPS.
3  *
4  * Copyright 2007-2011 by Apple Inc.
5  * Copyright 1997-2005 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_BACKEND_H_
17 #  define _CUPS_BACKEND_H_
18 
19 
20 /*
21  * Include necessary headers...
22  */
23 
24 #  include "versioning.h"
25 
26 
27 /*
28  * C++ magic...
29  */
30 
31 #  ifdef __cplusplus
32 extern "C" {
33 #  endif /* __cplusplus */
34 
35 /*
36  * Constants...
37  */
38 
39 enum cups_backend_e			/**** Backend exit codes ****/
40 {
41   CUPS_BACKEND_OK = 0,			/* Job completed successfully */
42   CUPS_BACKEND_FAILED = 1,		/* Job failed, use error-policy */
43   CUPS_BACKEND_AUTH_REQUIRED = 2,	/* Job failed, authentication required */
44   CUPS_BACKEND_HOLD = 3,		/* Job failed, hold job */
45   CUPS_BACKEND_STOP = 4,		/* Job failed, stop queue */
46   CUPS_BACKEND_CANCEL = 5,		/* Job failed, cancel job */
47   CUPS_BACKEND_RETRY = 6,		/* Job failed, retry this job later */
48   CUPS_BACKEND_RETRY_CURRENT = 7	/* Job failed, retry this job immediately */
49 };
50 typedef enum cups_backend_e cups_backend_t;
51 					/**** Backend exit codes ****/
52 
53 
54 /*
55  * Prototypes...
56  */
57 
58 extern const char	*cupsBackendDeviceURI(char **argv) _CUPS_API_1_2;
59 extern void		cupsBackendReport(const char *device_scheme,
60 			                  const char *device_uri,
61 			                  const char *device_make_and_model,
62 			                  const char *device_info,
63 			                  const char *device_id,
64 			                  const char *device_location)
65 					  _CUPS_API_1_4;
66 
67 
68 #  ifdef __cplusplus
69 }
70 #  endif /* __cplusplus */
71 
72 #endif /* !_CUPS_BACKEND_H_ */
73