Imported Upstream version 2.3.1
[platform/upstream/cups.git] / scheduler / util.h
1 /*
2  * Mini-daemon utility definitions for CUPS.
3  *
4  * Copyright 2007-2014 by Apple Inc.
5  * Copyright 1997-2005 by Easy Software Products.
6  *
7  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8  */
9
10 #ifndef _CUPSD_UTIL_H_
11 #  define _CUPSD_UTIL_H_
12
13 /*
14  * Include necessary headers...
15  */
16
17 #  include <cups/array-private.h>
18 #  include <cups/file-private.h>
19 #  include <signal.h>
20
21
22 /*
23  * C++ magic...
24  */
25
26 #  ifdef __cplusplus
27 extern "C" {
28 #  endif /* __cplusplus */
29
30
31 /*
32  * Types...
33  */
34
35 typedef int (*cupsd_compare_func_t)(const void *, const void *);
36
37
38 /*
39  * Prototypes...
40  */
41
42 extern int              cupsdCompareNames(const char *s, const char *t);
43 extern cups_array_t     *cupsdCreateStringsArray(const char *s);
44 extern int              cupsdExec(const char *command, char **argv);
45 extern cups_file_t      *cupsdPipeCommand(int *pid, const char *command,
46                                           char **argv, uid_t user);
47 extern void             cupsdSendIPPGroup(ipp_tag_t group_tag);
48 extern void             cupsdSendIPPHeader(ipp_status_t status_code,
49                                            int request_id);
50 extern void             cupsdSendIPPInteger(ipp_tag_t value_tag,
51                                             const char *name, int value);
52 extern void             cupsdSendIPPString(ipp_tag_t value_tag,
53                                            const char *name, const char *value);
54 extern void             cupsdSendIPPTrailer(void);
55
56
57 #  ifdef __cplusplus
58 }
59 #  endif /* __cplusplus */
60
61 #endif /* !_CUPSD_UTIL_H_ */