1 2 /* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) NGINX, Inc. 5 */ 6 7 #ifndef _NXT_MAIN_PROCESS_H_INCLUDED_ 8 #define _NXT_MAIN_PROCESS_H_INCLUDED_ 9 10 11 typedef enum { 12 NXT_SOCKET_ERROR_SYSTEM = 0, 13 NXT_SOCKET_ERROR_NOINET6, 14 NXT_SOCKET_ERROR_PORT, 15 NXT_SOCKET_ERROR_INUSE, 16 NXT_SOCKET_ERROR_NOADDR, 17 NXT_SOCKET_ERROR_ACCESS, 18 NXT_SOCKET_ERROR_PATH, 19 } nxt_socket_error_t; 20 21 22 nxt_int_t nxt_main_process_start(nxt_thread_t *thr, nxt_task_t *task, 23 nxt_runtime_t *runtime); 24 void nxt_main_stop_all_processes(nxt_task_t *task, nxt_runtime_t *runtime); 25 26 nxt_int_t nxt_controller_start(nxt_task_t *task, void *data); 27 nxt_int_t nxt_router_start(nxt_task_t *task, void *data); 28 nxt_int_t nxt_discovery_start(nxt_task_t *task, void *data); 29 nxt_int_t nxt_app_start(nxt_task_t *task, void *data); 30 31 extern nxt_port_handlers_t nxt_controller_process_port_handlers; 32 extern nxt_port_handlers_t nxt_discovery_process_port_handlers; 33 extern nxt_port_handlers_t nxt_app_process_port_handlers; 34 extern nxt_port_handlers_t nxt_router_process_port_handlers; 35 extern const nxt_sig_event_t nxt_main_process_signals[]; 36 extern const nxt_sig_event_t nxt_worker_process_signals[]; 37 38 39 #endif /* _NXT_MAIN_PROCESS_H_INCLUDED_ */ 40