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_ */ 62