blob: 128647eb8ad24e08536803f3635fad5831ea7a25 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
/*
* Copyright (C) Igor Sysoev
* Copyright (C) NGINX, Inc.
*/
#ifndef _NXT_LIB_H_INCLUDED_
#define _NXT_LIB_H_INCLUDED_
#include <nxt_auto_config.h>
#define NXT_VERSION "0.1"
typedef struct nxt_port_s nxt_port_t;
typedef struct nxt_task_s nxt_task_t;
typedef struct nxt_port_recv_msg_s nxt_port_recv_msg_t;
typedef void (*nxt_port_handler_t)(nxt_task_t *task, nxt_port_recv_msg_t *msg);
typedef struct nxt_sig_event_s nxt_sig_event_t;
typedef struct nxt_runtime_s nxt_runtime_t;
typedef struct nxt_thread_s nxt_thread_t;
typedef struct nxt_event_engine_s nxt_event_engine_t;
typedef struct nxt_log_s nxt_log_t;
typedef struct nxt_thread_pool_s nxt_thread_pool_t;
typedef void (*nxt_work_handler_t)(nxt_task_t *task, void *obj, void *data);
#include <nxt_unix.h>
#include <nxt_clang.h>
#include <nxt_types.h>
#include <nxt_time.h>
#include <nxt_mp.h>
#include <nxt_array.h>
typedef uint16_t nxt_port_id_t;
#include <nxt_queue.h>
#include <nxt_thread_id.h>
#include <nxt_errno.h>
#include <nxt_file.h>
#include <nxt_random.h>
#include <nxt_string.h>
#include <nxt_lvlhsh.h>
#include <nxt_atomic.h>
#include <nxt_spinlock.h>
#include <nxt_work_queue.h>
#include <nxt_log.h>
#include <nxt_thread_time.h>
#include <nxt_rbtree.h>
#include <nxt_timer.h>
#include <nxt_fiber.h>
#include <nxt_thread.h>
#include <nxt_process.h>
#include <nxt_utf8.h>
#include <nxt_file_name.h>
#include <nxt_sprintf.h>
#include <nxt_parse.h>
/* TODO: remove unused */
typedef struct nxt_fd_event_s nxt_fd_event_t;
typedef struct nxt_sockaddr_s nxt_sockaddr_t;
#include <nxt_malloc.h>
#include <nxt_mem_map.h>
#include <nxt_socket.h>
#include <nxt_dyld.h>
typedef void *(*nxt_mem_proto_alloc_t)(void *pool, size_t size);
typedef void (*nxt_mem_proto_free_t)(void *pool, void *p);
typedef struct {
nxt_mem_proto_alloc_t alloc;
nxt_mem_proto_free_t free;
} nxt_mem_proto_t;
#include <nxt_mem_zone.h>
#include <nxt_signal.h>
#if (NXT_THREADS)
#include <nxt_semaphore.h>
#endif
#include <nxt_djb_hash.h>
#include <nxt_murmur_hash.h>
#include <nxt_hash.h>
#include <nxt_sort.h>
#include <nxt_vector.h>
#include <nxt_list.h>
#include <nxt_service.h>
typedef struct nxt_buf_s nxt_buf_t;
typedef struct nxt_port_mmap_s nxt_port_mmap_t;
#include <nxt_buf.h>
#include <nxt_buf_pool.h>
#include <nxt_recvbuf.h>
typedef struct nxt_conn_s nxt_conn_t;
#include <nxt_sendbuf.h>
#include <nxt_log_moderation.h>
#if (NXT_SSLTLS)
#include <nxt_ssltls.h>
#endif
#define nxt_thread() \
(nxt_thread_t *) nxt_thread_get_data(nxt_thread_context)
nxt_thread_extern_data(nxt_thread_t, nxt_thread_context);
#include <nxt_thread_log.h>
#include <nxt_fd_event.h>
#include <nxt_file_event.h>
#include <nxt_port.h>
#include <nxt_port_memory.h>
#include <nxt_port_rpc.h>
#if (NXT_THREADS)
#include <nxt_thread_pool.h>
#endif
typedef void (*nxt_event_conn_handler_t)(nxt_thread_t *thr, nxt_conn_t *c);
#include <nxt_listen_socket.h>
#include <nxt_conn.h>
#include <nxt_event_engine.h>
#include <nxt_job.h>
#include <nxt_job_file.h>
#include <nxt_buf_filter.h>
#include <nxt_job_resolve.h>
#include <nxt_sockaddr.h>
#include <nxt_cache.h>
#include <nxt_source.h>
typedef struct nxt_upstream_source_s nxt_upstream_source_t;
#include <nxt_http_parse.h>
#include <nxt_stream_source.h>
#include <nxt_upstream.h>
#include <nxt_upstream_source.h>
#include <nxt_http_source.h>
#include <nxt_fastcgi_source.h>
#include <nxt_runtime.h>
#include <nxt_port_hash.h>
#if (NXT_LIB_UNIT_TEST)
#include <../test/nxt_lib_unit_test.h>
#else
#define NXT_LIB_UNIT_TEST_STATIC static
#endif
/*
* The envp argument must be &environ if application may
* change its process title with nxt_process_title().
*/
NXT_EXPORT nxt_int_t nxt_lib_start(const char *app, char **argv, char ***envp);
NXT_EXPORT void nxt_lib_stop(void);
NXT_EXPORT extern nxt_uint_t nxt_ncpu;
NXT_EXPORT extern nxt_uint_t nxt_pagesize;
NXT_EXPORT extern nxt_task_t nxt_main_task;
NXT_EXPORT extern nxt_atomic_t nxt_task_ident;
#endif /* _NXT_LIB_H_INCLUDED_ */
|