00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _KLONE_CONTEXT_H_
00012 #define _KLONE_CONTEXT_H_
00013
00014 #include "klone_conf.h"
00015 #include <u/libu.h>
00016 #include <klone/klone.h>
00017 #include <klone/server.h>
00018 #include <klone/backend.h>
00019 #include <klone/os.h>
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025
00026 typedef struct context_s
00027 {
00028 server_t *server;
00029 u_config_t *config;
00030 backend_t *backend;
00031 char *ext_config;
00032 int debug;
00033 int daemon;
00034 char **arg;
00035 size_t narg;
00036 int pipc;
00037 int cgi;
00038
00039 #ifdef OS_WIN
00040 SERVICE_STATUS_HANDLE hServiceStatus;
00041 SERVICE_STATUS status;
00042 enum { SERV_NOP, SERV_INSTALL, SERV_REMOVE } serv_op;
00043
00044 #endif
00045 } context_t;
00046
00047
00048 extern context_t *ctx;
00049
00050 #ifdef __cplusplus
00051 }
00052 #endif
00053
00054 #endif