]> git.ipfire.org Git - thirdparty/cups.git/blame - cgi-bin/cgi.h
Merge changes from CUPS 1.5svn-r8950.
[thirdparty/cups.git] / cgi-bin / cgi.h
CommitLineData
ef416fc2 1/*
bc44d920 2 * "$Id: cgi.h 6649 2007-07-11 21:46:42Z mike $"
ef416fc2 3 *
4 * CGI support library definitions.
5 *
d2354e63 6 * Copyright 2007-2009 by Apple Inc.
ef416fc2 7 * Copyright 1997-2006 by Easy Software Products.
8 *
9 * These coded instructions, statements, and computer programs are the
bc44d920 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/".
ef416fc2 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
ef55b745
MS
36/*
37 * C++ magic...
38 */
39
40# ifdef __cplusplus
41extern "C" {
42# endif /* __cplusplus */
43
ef416fc2 44/*
45 * Types...
46 */
47
48typedef 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
62extern void cgiAbort(const char *title, const char *stylesheet,
63 const char *format, ...);
64extern int cgiCheckVariables(const char *names);
ef55b745 65extern void cgiClearVariables(void);
ef416fc2 66extern void *cgiCompileSearch(const char *query);
67extern void cgiCopyTemplateFile(FILE *out, const char *tmpl);
68extern void cgiCopyTemplateLang(const char *tmpl);
69extern int cgiDoSearch(void *search, const char *text);
70extern void cgiEndHTML(void);
58dc1933 71extern void cgiEndMultipart(void);
ef416fc2 72extern char *cgiFormEncode(char *dst, const char *src, size_t dstsize);
73extern void cgiFreeSearch(void *search);
74extern const char *cgiGetArray(const char *name, int element);
75extern void cgiGetAttributes(ipp_t *request, const char *tmpl);
76extern char *cgiGetCookie(const char *name, char *buf, int buflen);
77extern const cgi_file_t *cgiGetFile(void);
78extern cups_array_t *cgiGetIPPObjects(ipp_t *response, void *search);
79extern int cgiGetSize(const char *name);
80extern char *cgiGetTemplateDir(void);
81extern const char *cgiGetVariable(const char *name);
82extern int cgiInitialize(void);
83extern int cgiIsPOST(void);
fa73b229 84extern void cgiMoveJobs(http_t *http, const char *dest, int job_id);
58dc1933
MS
85extern void cgiPrintCommand(http_t *http, const char *dest,
86 const char *command, const char *title);
fa73b229 87extern void cgiPrintTestPage(http_t *http, const char *dest);
ef416fc2 88extern char *cgiRewriteURL(const char *uri, char *url, int urlsize,
89 const char *newresource);
90extern void cgiSetArray(const char *name, int element,
91 const char *value);
92extern void cgiSetCookie(const char *name, const char *value,
93 const char *path, const char *domain,
94 time_t expires, int secure);
95extern ipp_attribute_t *cgiSetIPPObjectVars(ipp_attribute_t *obj,
96 const char *prefix, int element);
97extern int cgiSetIPPVars(ipp_t *response, const char *filter_name,
98 const char *filter_value,
99 const char *prefix, int parent_el);
100extern void cgiSetServerVersion(void);
101extern void cgiSetSize(const char *name, int size);
102extern void cgiSetVariable(const char *name, const char *value);
fa73b229 103extern void cgiShowIPPError(const char *message);
ef416fc2 104extern void cgiShowJobs(http_t *http, const char *dest);
105extern void cgiStartHTML(const char *title);
58dc1933 106extern void cgiStartMultipart(void);
d2354e63 107extern int cgiSupportsMultipart(void);
fa73b229 108extern const char *cgiText(const char *message);
ef416fc2 109
ef55b745
MS
110# ifdef __cplusplus
111}
112# endif /* __cplusplus */
113
ef416fc2 114#endif /* !_CUPS_CGI_H_ */
115
116/*
bc44d920 117 * End of "$Id: cgi.h 6649 2007-07-11 21:46:42Z mike $".
ef416fc2 118 */