Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
srohatgi01
GitHub Repository: srohatgi01/cups
Path: blob/master/cgi-bin/cgi.h
1090 views
1
/*
2
* CGI support library definitions for CUPS.
3
*
4
* Copyright © 2007-2019 by Apple Inc.
5
* Copyright © 1997-2006 by Easy Software Products.
6
*
7
* Licensed under Apache License v2.0. See the file "LICENSE" for more
8
* information.
9
*/
10
11
#ifndef _CUPS_CGI_H_
12
# define _CUPS_CGI_H_
13
14
# include <stdio.h>
15
# include <stdlib.h>
16
# include <time.h>
17
# include <sys/stat.h>
18
19
# ifdef _WIN32
20
# include <direct.h>
21
# include <io.h>
22
# else
23
# include <unistd.h>
24
# endif /* _WIN32 */
25
26
# include <cups/cups.h>
27
# include <cups/array.h>
28
# include "help-index.h"
29
30
31
/*
32
* C++ magic...
33
*/
34
35
# ifdef __cplusplus
36
extern "C" {
37
# endif /* __cplusplus */
38
39
/*
40
* Types...
41
*/
42
43
typedef struct cgi_file_s /**** Uploaded file data ****/
44
{
45
char tempfile[1024], /* Temporary file containing data */
46
*name, /* Variable name */
47
*filename, /* Original filename */
48
*mimetype; /* MIME media type */
49
size_t filesize; /* Size of uploaded file */
50
} cgi_file_t;
51
52
53
/*
54
* Prototypes...
55
*/
56
57
extern void cgiAbort(const char *title, const char *stylesheet,
58
const char *format, ...);
59
extern int cgiCheckVariables(const char *names);
60
extern void cgiClearVariables(void);
61
extern void *cgiCompileSearch(const char *query);
62
extern void cgiCopyTemplateFile(FILE *out, const char *tmpl);
63
extern void cgiCopyTemplateLang(const char *tmpl);
64
extern int cgiDoSearch(void *search, const char *text);
65
extern void cgiEndHTML(void);
66
extern void cgiEndMultipart(void);
67
extern char *cgiFormEncode(char *dst, const char *src,
68
size_t dstsize);
69
extern void cgiFreeSearch(void *search);
70
extern char *cgiGetArray(const char *name, int element);
71
extern void cgiGetAttributes(ipp_t *request, const char *tmpl);
72
extern const char *cgiGetCookie(const char *name);
73
extern const cgi_file_t *cgiGetFile(void);
74
extern cups_array_t *cgiGetIPPObjects(ipp_t *response, void *search);
75
extern int cgiGetSize(const char *name);
76
extern char *cgiGetTemplateDir(void);
77
extern char *cgiGetVariable(const char *name);
78
extern int cgiInitialize(void);
79
extern int cgiIsPOST(void);
80
extern void cgiMoveJobs(http_t *http, const char *dest, int job_id);
81
extern void cgiPrintCommand(http_t *http, const char *dest,
82
const char *command, const char *title);
83
extern void cgiPrintTestPage(http_t *http, const char *dest);
84
extern char *cgiRewriteURL(const char *uri, char *url, int urlsize,
85
const char *newresource);
86
extern void cgiSetArray(const char *name, int element,
87
const char *value);
88
extern void cgiSetCookie(const char *name, const char *value,
89
const char *path, const char *domain,
90
time_t expires, int secure);
91
extern ipp_attribute_t *cgiSetIPPObjectVars(ipp_attribute_t *obj,
92
const char *prefix, int element);
93
extern int cgiSetIPPVars(ipp_t *response, const char *filter_name,
94
const char *filter_value,
95
const char *prefix, int parent_el);
96
extern void cgiSetServerVersion(void);
97
extern void cgiSetSize(const char *name, int size);
98
extern void cgiSetVariable(const char *name, const char *value);
99
extern void cgiShowIPPError(const char *message);
100
extern void cgiShowJobs(http_t *http, const char *dest);
101
extern void cgiStartHTML(const char *title);
102
extern void cgiStartMultipart(void);
103
extern int cgiSupportsMultipart(void);
104
extern const char *cgiText(const char *message);
105
106
# ifdef __cplusplus
107
}
108
# endif /* __cplusplus */
109
110
#endif /* !_CUPS_CGI_H_ */
111
112