/* * 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 # include # include # include # ifdef _WIN32 # include # include # else # include # endif /* _WIN32 */ # include # include # 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_ */