Revert manifest to default one
[external/cups.git] / cgi-bin / cgi.h
1 /*
2  * "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $"
3  *
4  *   CGI support library definitions for CUPS.
5  *
6  *   Copyright 2007-2010 by Apple Inc.
7  *   Copyright 1997-2006 by Easy Software Products.
8  *
9  *   These coded instructions, statements, and computer programs are the
10  *   property of Apple Inc. and are protected by Federal copyright
11  *   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
12  *   which should have been included with this file.  If this file is
13  *   file is missing or damaged, see the license at "http://www.cups.org/".
14  */
15
16 #ifndef _CUPS_CGI_H_
17 #  define _CUPS_CGI_H_
18
19 #  include <stdio.h>
20 #  include <stdlib.h>
21 #  include <time.h>
22 #  include <sys/stat.h>
23
24 #  ifdef WIN32
25 #    include <direct.h>
26 #    include <io.h>
27 #  else
28 #    include <unistd.h>
29 #  endif /* WIN32 */
30
31 #  include <cups/cups.h>
32 #  include <cups/array.h>
33 #  include "help-index.h"
34
35
36 /*
37  * C++ magic...
38  */
39
40 #  ifdef __cplusplus
41 extern "C" {
42 #  endif /* __cplusplus */
43
44 /*
45  * Types...
46  */
47
48 typedef struct cgi_file_s               /**** Uploaded file data ****/
49 {
50   char          tempfile[1024],         /* Temporary file containing data */
51                 *name,                  /* Variable name */
52                 *filename,              /* Original filename */
53                 *mimetype;              /* MIME media type */
54   size_t        filesize;               /* Size of uploaded file */
55 } cgi_file_t;
56
57
58 /*
59  * Prototypes...
60  */
61
62 extern void             cgiAbort(const char *title, const char *stylesheet,
63                                  const char *format, ...);
64 extern int              cgiCheckVariables(const char *names);
65 extern void             cgiClearVariables(void);
66 extern void             *cgiCompileSearch(const char *query);
67 extern void             cgiCopyTemplateFile(FILE *out, const char *tmpl);
68 extern void             cgiCopyTemplateLang(const char *tmpl);
69 extern int              cgiDoSearch(void *search, const char *text);
70 extern void             cgiEndHTML(void);
71 extern void             cgiEndMultipart(void);
72 extern char             *cgiFormEncode(char *dst, const char *src,
73                                        size_t dstsize);
74 extern void             cgiFreeSearch(void *search);
75 extern const char       *cgiGetArray(const char *name, int element);
76 extern void             cgiGetAttributes(ipp_t *request, const char *tmpl);
77 extern const char       *cgiGetCookie(const char *name);
78 extern const cgi_file_t *cgiGetFile(void);
79 extern cups_array_t     *cgiGetIPPObjects(ipp_t *response, void *search);
80 extern int              cgiGetSize(const char *name);
81 extern char             *cgiGetTemplateDir(void);
82 extern const char       *cgiGetVariable(const char *name);
83 extern int              cgiInitialize(void);
84 extern int              cgiIsPOST(void);
85 extern void             cgiMoveJobs(http_t *http, const char *dest, int job_id);
86 extern void             cgiPrintCommand(http_t *http, const char *dest,
87                                         const char *command, const char *title);
88 extern void             cgiPrintTestPage(http_t *http, const char *dest);
89 extern char             *cgiRewriteURL(const char *uri, char *url, int urlsize,
90                                        const char *newresource);
91 extern void             cgiSetArray(const char *name, int element,
92                                     const char *value);
93 extern void             cgiSetCookie(const char *name, const char *value,
94                                      const char *path, const char *domain,
95                                      time_t expires, int secure);
96 extern ipp_attribute_t  *cgiSetIPPObjectVars(ipp_attribute_t *obj,
97                                              const char *prefix, int element);
98 extern int              cgiSetIPPVars(ipp_t *response, const char *filter_name,
99                                       const char *filter_value,
100                                       const char *prefix, int parent_el);
101 extern void             cgiSetServerVersion(void);
102 extern void             cgiSetSize(const char *name, int size);
103 extern void             cgiSetVariable(const char *name, const char *value);
104 extern void             cgiShowIPPError(const char *message);
105 extern void             cgiShowJobs(http_t *http, const char *dest);
106 extern void             cgiStartHTML(const char *title);
107 extern void             cgiStartMultipart(void);
108 extern int              cgiSupportsMultipart(void);
109 extern const char       *cgiText(const char *message);
110
111 #  ifdef __cplusplus
112 }
113 #  endif /* __cplusplus */
114
115 #endif /* !_CUPS_CGI_H_ */
116
117 /*
118  * End of "$Id: cgi.h 8976 2010-02-02 07:12:05Z mike $".
119  */