libwebsockets
Lightweight C library for HTML5 websockets
lws-cgi.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2019 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22
* IN THE SOFTWARE.
23
*/
24
35
enum
lws_enum_stdinouterr
{
36
LWS_STDIN
= 0,
37
LWS_STDOUT
= 1,
38
LWS_STDERR
= 2,
39
};
40
41
enum
lws_cgi_hdr_state
{
42
LCHS_HEADER
,
43
LCHS_CR1
,
44
LCHS_LF1
,
45
LCHS_CR2
,
46
LCHS_LF2
,
47
LHCS_RESPONSE
,
48
LHCS_DUMP_HEADERS
,
49
LHCS_PAYLOAD
,
50
LCHS_SINGLE_0A
,
51
};
52
53
struct
lws_cgi_args
{
54
struct
lws **
stdwsi
;
55
enum
lws_enum_stdinouterr
ch
;
56
unsigned
char
*
data
;
57
enum
lws_cgi_hdr_state
hdr_state
;
58
int
len
;
59
};
60
61
#ifdef LWS_WITH_CGI
72
LWS_VISIBLE
LWS_EXTERN
int
73
lws_cgi(
struct
lws *wsi,
const
char
*
const
*exec_array,
74
int
script_uri_path_len,
int
timeout_secs,
75
const
struct
lws_protocol_vhost_options
*mp_cgienv);
76
82
LWS_VISIBLE
LWS_EXTERN
int
83
lws_cgi_write_split_stdout_headers(
struct
lws *wsi);
84
90
LWS_VISIBLE
LWS_EXTERN
int
91
lws_cgi_kill(
struct
lws *wsi);
92
99
LWS_VISIBLE
LWS_EXTERN
struct
lws *
100
lws_cgi_get_stdwsi(
struct
lws *wsi,
enum
lws_enum_stdinouterr
ch);
101
102
#endif
104
lws_protocol_vhost_options
Definition:
lws-context-vhost.h:1308
LWS_EXTERN
#define LWS_EXTERN
Definition:
libwebsockets.h:225
LWS_VISIBLE
#define LWS_VISIBLE
Definition:
libwebsockets.h:220
lws_enum_stdinouterr
lws_enum_stdinouterr
Definition:
lws-cgi.h:35
LWS_STDOUT
@ LWS_STDOUT
Definition:
lws-cgi.h:37
LWS_STDERR
@ LWS_STDERR
Definition:
lws-cgi.h:38
LWS_STDIN
@ LWS_STDIN
Definition:
lws-cgi.h:36
lws_cgi_args::len
int len
Definition:
lws-cgi.h:58
lws_cgi_hdr_state
lws_cgi_hdr_state
Definition:
lws-cgi.h:41
LCHS_LF2
@ LCHS_LF2
Definition:
lws-cgi.h:46
LHCS_RESPONSE
@ LHCS_RESPONSE
Definition:
lws-cgi.h:47
LCHS_CR1
@ LCHS_CR1
Definition:
lws-cgi.h:43
LCHS_HEADER
@ LCHS_HEADER
Definition:
lws-cgi.h:42
LHCS_DUMP_HEADERS
@ LHCS_DUMP_HEADERS
Definition:
lws-cgi.h:48
LCHS_LF1
@ LCHS_LF1
Definition:
lws-cgi.h:44
LCHS_SINGLE_0A
@ LCHS_SINGLE_0A
Definition:
lws-cgi.h:50
LCHS_CR2
@ LCHS_CR2
Definition:
lws-cgi.h:45
LHCS_PAYLOAD
@ LHCS_PAYLOAD
Definition:
lws-cgi.h:49
lws_cgi_args::stdwsi
struct lws ** stdwsi
Definition:
lws-cgi.h:54
lws_cgi_args::hdr_state
enum lws_cgi_hdr_state hdr_state
Definition:
lws-cgi.h:57
lws_cgi_args::data
unsigned char * data
Definition:
lws-cgi.h:56
lws_cgi_args::ch
enum lws_enum_stdinouterr ch
Definition:
lws-cgi.h:55
lws_cgi_args
Definition:
lws-cgi.h:53
include
libwebsockets
lws-cgi.h
Generated on Wed Dec 18 2024 07:29:37 for libwebsockets by
1.9.1