mirror of https://gitee.com/openkylin/cups.git
111 lines
3.4 KiB
C
111 lines
3.4 KiB
C
/*
|
||
* CGI support library definitions for CUPS.
|
||
*
|
||
* Copyright © 2007-2019 by Apple Inc.
|
||
* Copyright © 1997-2006 by Easy Software Products.
|
||
*
|
||
* Licensed under Apache License v2.0. See the file "LICENSE" for more
|
||
* information.
|
||
*/
|
||
|
||
#ifndef _CUPS_CGI_H_
|
||
# define _CUPS_CGI_H_
|
||
|
||
# include <stdio.h>
|
||
# include <stdlib.h>
|
||
# include <time.h>
|
||
# include <sys/stat.h>
|
||
|
||
# ifdef _WIN32
|
||
# include <direct.h>
|
||
# include <io.h>
|
||
# else
|
||
# include <unistd.h>
|
||
# endif /* _WIN32 */
|
||
|
||
# include <cups/cups.h>
|
||
# include <cups/array.h>
|
||
# include "help-index.h"
|
||
|
||
|
||
/*
|
||
* C++ magic...
|
||
*/
|
||
|
||
# ifdef __cplusplus
|
||
extern "C" {
|
||
# endif /* __cplusplus */
|
||
|
||
/*
|
||
* Types...
|
||
*/
|
||
|
||
typedef struct cgi_file_s /**** Uploaded file data ****/
|
||
{
|
||
char tempfile[1024], /* Temporary file containing data */
|
||
*name, /* Variable name */
|
||
*filename, /* Original filename */
|
||
*mimetype; /* MIME media type */
|
||
size_t filesize; /* Size of uploaded file */
|
||
} cgi_file_t;
|
||
|
||
|
||
/*
|
||
* Prototypes...
|
||
*/
|
||
|
||
extern void cgiAbort(const char *title, const char *stylesheet,
|
||
const char *format, ...);
|
||
extern int cgiCheckVariables(const char *names);
|
||
extern void cgiClearVariables(void);
|
||
extern void *cgiCompileSearch(const char *query);
|
||
extern void cgiCopyTemplateFile(FILE *out, const char *tmpl);
|
||
extern void cgiCopyTemplateLang(const char *tmpl);
|
||
extern int cgiDoSearch(void *search, const char *text);
|
||
extern void cgiEndHTML(void);
|
||
extern void cgiEndMultipart(void);
|
||
extern char *cgiFormEncode(char *dst, const char *src,
|
||
size_t dstsize);
|
||
extern void cgiFreeSearch(void *search);
|
||
extern char *cgiGetArray(const char *name, int element);
|
||
extern void cgiGetAttributes(ipp_t *request, const char *tmpl);
|
||
extern const char *cgiGetCookie(const char *name);
|
||
extern const cgi_file_t *cgiGetFile(void);
|
||
extern cups_array_t *cgiGetIPPObjects(ipp_t *response, void *search);
|
||
extern int cgiGetSize(const char *name);
|
||
extern char *cgiGetTemplateDir(void);
|
||
extern char *cgiGetVariable(const char *name);
|
||
extern int cgiInitialize(void);
|
||
extern int cgiIsPOST(void);
|
||
extern void cgiMoveJobs(http_t *http, const char *dest, int job_id);
|
||
extern void cgiPrintCommand(http_t *http, const char *dest,
|
||
const char *command, const char *title);
|
||
extern void cgiPrintTestPage(http_t *http, const char *dest);
|
||
extern char *cgiRewriteURL(const char *uri, char *url, int urlsize,
|
||
const char *newresource);
|
||
extern void cgiSetArray(const char *name, int element,
|
||
const char *value);
|
||
extern void cgiSetCookie(const char *name, const char *value,
|
||
const char *path, const char *domain,
|
||
time_t expires, int secure);
|
||
extern ipp_attribute_t *cgiSetIPPObjectVars(ipp_attribute_t *obj,
|
||
const char *prefix, int element);
|
||
extern int cgiSetIPPVars(ipp_t *response, const char *filter_name,
|
||
const char *filter_value,
|
||
const char *prefix, int parent_el);
|
||
extern void cgiSetServerVersion(void);
|
||
extern void cgiSetSize(const char *name, int size);
|
||
extern void cgiSetVariable(const char *name, const char *value);
|
||
extern void cgiShowIPPError(const char *message);
|
||
extern void cgiShowJobs(http_t *http, const char *dest);
|
||
extern void cgiStartHTML(const char *title);
|
||
extern void cgiStartMultipart(void);
|
||
extern int cgiSupportsMultipart(void);
|
||
extern const char *cgiText(const char *message);
|
||
|
||
# ifdef __cplusplus
|
||
}
|
||
# endif /* __cplusplus */
|
||
|
||
#endif /* !_CUPS_CGI_H_ */
|