Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
afw_server_fcgi_internal.h
Go to the documentation of this file.
1 // See the 'COPYING' file in the project root for licensing information.
2 /*
3  * Adaptive Framework Internal FCGI Server Header
4  *
5  * Copyright (c) 2010-2023 Clemson University
6  *
7  */
8 
9 #ifndef __AFW_SERVER_FCGI_INTERNAL_H__
10 #define __AFW_SERVER_FCGI_INTERNAL_H__
11 
12 
13 
19 #include "fcgiapp.h"
20 #include "afw_minimal.h"
21 #include "afw_request.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 
28 typedef struct afw_server_fcgi_internal_s
30 
33 
36 
38  afw_server_t pub;
39 
40  /* Server pool. */
41  const afw_pool_t *p;
42 
43  /* Server xctx. */
44  afw_xctx_t *xctx;
45 
46  /* Server request director. */
47  const afw_request_handler_t * director;
48 
49  /* Object used to access server environment variables. */
50  const afw_object_t *environment_variables_object;
51 
52  /* Trace flag index for request process. */
53  afw_size_t flag_index_trace_process;
54 
55  /* Socket */
56  int sock;
57 
58  /* threads. */
60 };
61 
62 
64 
66 
67  const afw_thread_t *thread;
68 
69  FCGX_Request *fcgx_request;
70 };
71 
72 
74  afw_request_t pub;
75 
76  /* Server */
78 
79  /* Request state. */
80  afw_request_state_t state;
81 
82  /* FCGX Request used in run loop. */
83  FCGX_Request *fcgx_request;
84 };
85 
86 
88 #define AFW_ERROR_RV_SOURCE_ID_Z_fcgi "fcgi"
89 
97 const afw_server_t *
99  const char *path, afw_integer_t thread_count, afw_xctx_t *xctx);
100 
107  FCGX_Request *fcgx_request,
108  afw_xctx_t *xctx);
109 
113 const afw_object_t *
116  afw_xctx_t *xctx);
117 
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif /* __AFW_SERVER_FCGI_INTERNAL_H__ */
Adaptive Framework Minimal Header.
Header for interface afw_request* helpers.
const afw_object_t * afw_server_fcgi_internal_create_properties_object(afw_server_fcgi_internal_request_t *request, afw_xctx_t *xctx)
afw_server_fcgi_internal_request_t * afw_server_fcgi_internal_create_request(afw_server_fcgi_internal_t *server, FCGX_Request *fcgx_request, afw_xctx_t *xctx)
const afw_server_t * afw_server_fcgi_internal_create(const char *path, afw_integer_t thread_count, afw_xctx_t *xctx)
Create an FCGI afw_server.
apr_size_t afw_size_t
size_t.
Definition: afw_common.h:151
apr_int64_t afw_integer_t
typedef for big signed int.
Definition: afw_common.h:321
enum afw_request_state_e afw_request_state_t
Interface afw_object public struct.
Interface afw_pool public struct.
Interface afw_request_handler public struct.
Interface afw_request public struct.
Interface afw_server public struct.
Struct for public part of afw_pool_t.
Definition: afw_thread.h:56
Interface afw_xctx public struct.