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