1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

r8399: move the ejs and esp code closer to the directory layout used by the

upstream sources. This makes it much easier to keep it up to date.

I will separate out the mpr code into lib/appweb/mpr next
(This used to be commit 52db7a052baeb0f11361ed69b71cb790039e3cc9)
This commit is contained in:
Andrew Tridgell 2005-07-13 00:06:38 +00:00 committed by Gerald (Jerry) Carter
parent e5700ea560
commit adbb1612c1
38 changed files with 48 additions and 664 deletions

View File

@ -732,7 +732,7 @@ sub Parse($$)
pidl "
/* EJS wrapper functions auto-generated by pidl */
#include \"includes.h\"
#include \"lib/ejs/ejs.h\"
#include \"lib/appweb/ejs/ejs.h\"
#include \"scripting/ejs/ejsrpc.h\"
#include \"librpc/gen_ndr/ndr_misc_ejs.h\"
#include \"$hdr\"

View File

@ -19,7 +19,7 @@ lib/events/config.mk
lib/popt/config.mk
lib/cmdline/config.mk
lib/socket_wrapper/config.mk
lib/ejs/config.mk
lib/appweb/config.mk
param/config.mk
smb_server/config.mk
rpc_server/config.mk

View File

@ -0,0 +1,24 @@
#######################
# Start SUBSYSTEM EJS
[SUBSYSTEM::EJS]
ADD_OBJ_FILES = \
lib/appweb/ejs/ejsLib.o \
lib/appweb/ejs/ejsLex.o \
lib/appweb/ejs/ejsParser.o \
lib/appweb/ejs/ejsProcs.o \
lib/appweb/ejs/miniMpr.o \
lib/appweb/ejs/var.o
NOPROTO=YES
# End SUBSYSTEM EJS
#######################
#######################
# Start SUBSYSTEM ESP
[SUBSYSTEM::ESP]
ADD_OBJ_FILES = \
lib/appweb/esp/esp.o \
lib/appweb/esp/espProcs.o
REQUIRED_SUBSYSTEMS = EJS
NOPROTO=YES
# End SUBSYSTEM ESP
#######################

View File

@ -29,7 +29,7 @@
* @end
*/
#include "lib/ejs/miniMpr.h"
#include "lib/appweb/ejs/miniMpr.h"
/************************************ Code ************************************/
#if !BLD_APPWEB

View File

@ -36,10 +36,10 @@
#ifndef _h_ESP_h
#define _h_ESP_h 1
#include "lib/ejs/ejs.h"
#include "web_server/esp/espEnv.h"
#include "lib/ejs/var.h"
#include "lib/ejs/miniMpr.h"
#include "lib/appweb/ejs/ejs.h"
#include "lib/appweb/esp/espEnv.h"
#include "lib/appweb/ejs/var.h"
#include "lib/appweb/ejs/miniMpr.h"
/*********************************** Defines **********************************/

View File

@ -1,627 +0,0 @@
/*
* @file mprOs.h
* @brief Include O/S headers and smooth out per-O/S differences
* @copy default
*
* Copyright (c) Mbedthis Software LLC, 2003-2005. All Rights Reserved.
*
* This software is distributed under commercial and open source licenses.
* You may use the GPL open source license described below or you may acquire
* a commercial license from Mbedthis Software. You agree to be fully bound
* by the terms of either license. Consult the LICENSE.TXT distributed with
* this software for full details.
*
* This software is open source; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version. See the GNU General Public License for more
* details at: http://www.mbedthis.com/downloads/gplLicense.html
*
* This program is distributed WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* This GPL license does NOT permit incorporating this software into
* proprietary programs. If you are unable to comply with the GPL, you must
* acquire a commercial license to use this software. Commercial licenses
* for this software and support services are available from Mbedthis
* Software at http://www.mbedthis.com
*
* @end
******************************* Documentation *********************************
*
* This header is part of the Mbedthis Portable Runtime and aims to include
* all necessary O/S headers and to unify the constants and declarations
* required by Mbedthis products. It can be included by C or C++ programs.
*
********************************************************************************/
#error foo
blah blah;
#ifndef _h_MPR_OS_HDRS
#define _h_MPR_OS_HDRS 1
#include "lib/ejs/config.h"
/********************************* CPU Families *********************************/
/*
* Porters, add your CPU families here and update configure code.
*/
#define MPR_CPU_UNKNOWN 0
#define MPR_CPU_IX86 1
#define MPR_CPU_PPC 2
#define MPR_CPU_SPARC 3
#define MPR_CPU_XSCALE 4
#define MPR_CPU_ARM 5
#define MPR_CPU_MIPS 6
#define MPR_CPU_68K 7
#define MPR_CPU_SIMNT 8 /* VxWorks NT simulator */
#define MPR_CPU_SIMSPARC 9 /* VxWorks sparc simulator */
/********************************* O/S Includes *********************************/
#if LINUX || SOLARIS
#include <sys/types.h>
#include <time.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <dlfcn.h>
#include <fcntl.h>
#include <grp.h>
#include <errno.h>
#include <libgen.h>
#include <limits.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <pthread.h>
#include <pwd.h>
#include <resolv.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <syslog.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/param.h>
#include <sys/resource.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <unistd.h>
#if LINUX
#include <stdint.h>
#endif
#if SOLARIS
#include <netinet/in_systm.h>
#endif
#if BLD_FEATURE_FLOATING_POINT
#define __USE_ISOC99 1
#include <math.h>
#include <values.h>
#endif
#endif /* LINUX || SOLARIS */
#if VXWORKS
#include <vxWorks.h>
#include <envLib.h>
#include <sys/types.h>
#include <time.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <fcntl.h>
#include <errno.h>
#include <limits.h>
#include <loadLib.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/tcp.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sysSymTbl.h>
#include <sys/fcntlcom.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/times.h>
#include <sys/wait.h>
#include <unistd.h>
#include <unldLib.h>
#if BLD_FEATURE_FLOATING_POINT
#include <float.h>
#define __USE_ISOC99 1
#include <math.h>
#endif
#include <sockLib.h>
#include <inetLib.h>
#include <ioLib.h>
#include <pipeDrv.h>
#include <hostLib.h>
#include <netdb.h>
#include <tickLib.h>
#include <taskHookLib.h>
#endif /* VXWORKS */
#if MACOSX
#include <time.h>
#include <arpa/inet.h>
#include <ctype.h>
#include <fcntl.h>
#include <grp.h>
#include <errno.h>
#include <libgen.h>
#include <limits.h>
#include <mach-o/dyld.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <pthread.h>
#include <pwd.h>
#include <resolv.h>
#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <syslog.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/param.h>
#include <sys/resource.h>
#include <sys/sem.h>
#include <sys/shm.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <sys/time.h>
#include <sys/times.h>
#include <sys/types.h>
#include <sys/utsname.h>
#include <sys/wait.h>
#include <unistd.h>
#endif /* MACOSX */
#if WIN
#include <ctype.h>
#include <conio.h>
#include <direct.h>
#include <errno.h>
#include <fcntl.h>
#include <io.h>
#include <limits.h>
#include <malloc.h>
#include <process.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <time.h>
#define WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#include <windows.h>
#include <winbase.h>
#if BLD_FEATURE_FLOATING_POINT
#include <float.h>
#endif
#include <shlobj.h>
#include <shellapi.h>
#include <wincrypt.h>
#endif /* WIN */
#ifdef __cplusplus
extern "C" {
#endif
/********************************************************************************/
/******************************* General Defines ********************************/
/********************************************************************************/
#define MAXINT INT_MAX
#define BITS(type) (BITSPERBYTE * (int) sizeof(type))
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
/*
* Set FD_SETSIZE to the maximum number of files (sockets) that you want to
* support. It is used in select.cpp.
*
* #ifdef FD_SETSIZE
* #undef FD_SETSIZE
* #endif
* #define FD_SETSIZE 128
*/
typedef char *MprStr; /* Used for dynamic strings */
/********************************************************************************/
/*******************************/ Linux Defines *********************************/
/********************************************************************************/
#if LINUX
typedef unsigned char uchar;
#if BLD_FEATURE_INT64
__extension__ typedef long long int int64;
__extension__ typedef unsigned long long int uint64;
#define INT64(x) (x##LL)
#endif
#define closesocket(x) close(x)
#define MPR_BINARY ""
#define MPR_TEXT ""
#define O_BINARY 0
#define O_TEXT 0
#define SOCKET_ERROR -1
#define MPR_DLL_EXT ".so"
#if BLD_FEATURE_FLOATING_POINT
#define MAX_FLOAT MAXFLOAT
#endif
#if BLD_FEATURE_MALLOC
/*
* PORTERS: You will need add assembler code for your architecture here
* only if you want to use the fast malloc (BLD_FEATURE_MALLOC)
*/
#if UNUSED
#define MPR_GET_RETURN(ip) __builtin_return_address(0)
#else
#if BLD_HOST_CPU_ARCH == MPR_CPU_IX86
#define MPR_GET_RETURN(ip) \
asm("movl 4(%%ebp),%%eax ; movl %%eax,%0" : \
"=g" (ip) : \
: "eax")
#endif
#endif /* UNUSED */
#endif /* BLD_FEATURE_MALLOC */
#if FUTURE
/* #define mprGetHiResTime(x) __asm__ __volatile__ ("rdtsc" : "=A" (x)) */
/* extern char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); */
/* */
/* Atomic functions */
/* */
typedef struct { volatile int counter; } mprAtomic_t;
#if BLD_FEATURE_MULTITHREAD
#define LOCK "lock ; "
#else
#define LOCK ""
#endif
static __inline__ void mprAtomicInc(mprAtomic_t* v) {
__asm__ __volatile__(
LOCK "incl %0"
:"=m" (v->counter)
:"m" (v->counter));
}
static __inline__ void mprAtomicDec(mprAtomic_t* v) {
__asm__ __volatile__(
LOCK "decl %0"
:"=m" (v->counter)
:"m" (v->counter));
}
#endif /* FUTURE */
#endif /* LINUX */
/********************************************************************************/
/******************************* VxWorks Defines ********************************/
/********************************************************************************/
#if VXWORKS
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
#define HAVE_SOCKLEN_T
typedef int socklen_t;
#if BLD_FEATURE_INT64
typedef long long int int64;
typedef unsigned long long int uint64;
#define INT64(x) (x##LL)
#endif
#define closesocket(x) close(x)
#define getpid() taskIdSelf()
#define MPR_BINARY ""
#define MPR_TEXT ""
#define O_BINARY 0
#define O_TEXT 0
#define SOCKET_ERROR -1
#define MPR_DLL_EXT ".so"
#if BLD_FEATURE_FLOATING_POINT
#define MAX_FLOAT FLT_MAX
#endif
#undef R_OK
#define R_OK 4
#undef W_OK
#define W_OK 2
#undef X_OK
#define X_OK 1
#undef F_OK
#define F_OK 0
#define MSG_NOSIGNAL 0
extern int access(char *path, int mode);
extern int sysClkRateGet();
#if BLD_FEATURE_MALLOC
/*
* PORTERS: You will need add assembler code for your architecture here
* only if you want to use the fast malloc (BLD_FEATURE_MALLOC)
*/
#if UNUSED
#define MPR_GET_RETURN(ip) __builtin_return_address(0)
#else
#if BLD_HOST_CPU_ARCH == MPR_CPU_IX86
#define MPR_GET_RETURN(ip) \
asm("movl 4(%%ebp),%%eax ; movl %%eax,%0" : \
"=g" (ip) : \
: "eax")
#endif
#endif /* UNUSED */
#endif /* BLD_FEATURE_MALLOC */
#endif /* VXWORKS */
/********************************************************************************/
/******************************** MacOsx Defines ********************************/
/********************************************************************************/
#if MACOSX
typedef unsigned long ulong;
typedef unsigned char uchar;
#if BLD_FEATURE_INT64
__extension__ typedef long long int int64;
__extension__ typedef unsigned long long int uint64;
#define INT64(x) (x##LL)
#endif
#define closesocket(x) close(x)
#define MPR_BINARY ""
#define MPR_TEXT ""
#define O_BINARY 0
#define O_TEXT 0
#define SOCKET_ERROR -1
#define MPR_DLL_EXT ".dylib"
#define MSG_NOSIGNAL 0
#define __WALL 0x40000000
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#if BLD_FEATURE_FLOATING_POINT
#define MAX_FLOAT MAXFLOAT
#endif
#if MPR_FEATURE_MALLOC
/*
* PORTERS: You will need add assembler code for your architecture here
* only if you want to use the fast malloc (MPR_FEATURE_MALLOC)
*/
#define MPR_GET_RETURN(ip) __builtin_return_address
#endif
#if FUTURE
/* #define mprGetHiResTime(x) __asm__ __volatile__ ("rdtsc" : "=A" (x)) */
/* extern char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); */
/* */
/* Atomic functions */
/* */
typedef struct { volatile int counter; } mprAtomic_t;
#if MPR_FEATURE_MULTITHREAD
#define LOCK "lock ; "
#else
#define LOCK ""
#endif
static __inline__ void mprAtomicInc(mprAtomic_t* v) {
__asm__ __volatile__(
LOCK "incl %0"
:"=m" (v->counter)
:"m" (v->counter));
}
static __inline__ void mprAtomicDec(mprAtomic_t* v) {
__asm__ __volatile__(
LOCK "decl %0"
:"=m" (v->counter)
:"m" (v->counter));
}
#endif
#endif /* MACOSX */
/********************************************************************************/
/******************************* Windows Defines ********************************/
/********************************************************************************/
#if WIN
typedef unsigned char uchar;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned short ushort;
#if BLD_FEATURE_INT64
typedef __int64 int64;
typedef unsigned __int64 uint64;
#define INT64(x) (x##i64)
#endif
typedef int uid_t;
typedef void *handle;
typedef char *caddr_t;
typedef long pid_t;
typedef int gid_t;
typedef ushort mode_t;
typedef void *siginfo_t;
#define HAVE_SOCKLEN_T
typedef int socklen_t;
#undef R_OK
#define R_OK 4
#undef W_OK
#define W_OK 2
#undef X_OK
#define X_OK 1
#undef F_OK
#define F_OK 0
#ifndef EADDRINUSE
#define EADDRINUSE 46
#endif
#ifndef EWOULDBLOCK
#define EWOULDBLOCK EAGAIN
#endif
#ifndef ENETDOWN
#define ENETDOWN 43
#endif
#ifndef ECONNRESET
#define ECONNRESET 44
#endif
#ifndef ECONNREFUSED
#define ECONNREFUSED 45
#endif
#define MSG_NOSIGNAL 0
#define MPR_BINARY "b"
#define MPR_TEXT "t"
#if BLD_FEATURE_FLOATING_POINT
#define MAX_FLOAT DBL_MAX
#endif
#ifndef FILE_FLAG_FIRST_PIPE_INSTANCE
#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
#endif
#define access _access
#define close _close
#define fileno _fileno
#define fstat _fstat
#define getpid _getpid
#define open _open
#define putenv _putenv
#define read _read
#define stat _stat
#define umask _umask
#define unlink _unlink
#define write _write
#define strdup _strdup
#define lseek _lseek
#define mkdir(a,b) _mkdir(a)
#define rmdir(a) _rmdir(a)
#if BLD_FEATURE_MALLOC
/*
* PORTERS: You will need add assembler code for your architecture here
* only if you want to use the fast malloc (BLD_FEATURE_MALLOC)
*/
#if MPR_CPU_IX86
#define MPR_GET_RETURN(ip) \
__asm { mov eax, 4[ebp] } \
__asm { mov ip, eax }
#endif
#endif
#define MPR_DLL_EXT ".dll"
extern void srand48(long);
extern long lrand48(void);
extern long ulimit(int, ...);
extern long nap(long);
extern uint sleep(unsigned int secs);
extern uid_t getuid(void);
extern uid_t geteuid(void);
#endif /* WIN */
/********************************************************************************/
/*****************************/ Solaris Defines *********************************/
/********************************************************************************/
#if SOLARIS
typedef unsigned char uchar;
#if BLD_FEATURE_INT64
typedef long long int int64;
typedef unsigned long long int uint64;
#define INT64(x) (x##LL)
#endif
#define closesocket(x) close(x)
#define MPR_BINARY ""
#define MPR_TEXT ""
#define O_BINARY 0
#define O_TEXT 0
#define SOCKET_ERROR -1
#define MPR_DLL_EXT ".so"
#define MSG_NOSIGNAL 0
#define INADDR_NONE ((in_addr_t) 0xffffffff)
#define __WALL 0
#define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE
#if BLD_FEATURE_FLOATING_POINT
#define MAX_FLOAT MAXFLOAT
#endif
#endif /* SOLARIS */
/********************************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* _h_MPR_OS_HDRS */
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim:tw=78
* vim600: sw=4 ts=4 fdm=marker
* vim<600: sw=4 ts=4
*/

View File

@ -21,7 +21,7 @@
*/
#include "includes.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "scripting/ejs/smbcalls.h"
#include "librpc/gen_ndr/ndr_security.h"
#include "librpc/gen_ndr/ndr_lsa.h"

View File

@ -21,7 +21,7 @@
*/
#include "includes.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "lib/ldb/include/ldb.h"
/*

View File

@ -22,7 +22,7 @@
*/
#include "includes.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "scripting/ejs/smbcalls.h"
/*

View File

@ -20,7 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
void mpr_Return(int eid, struct MprVar);
NTSTATUS mprSetVar(struct MprVar *v, const char *name, struct MprVar val);

View File

@ -22,7 +22,7 @@
*/
#include "includes.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "auth/auth.h"
#include "scripting/ejs/smbcalls.h"

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "libcli/raw/libcliraw.h"
#include "libcli/composite/composite.h"
#include "clilist.h"

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "param/loadparm.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "lib/ldb/include/ldb.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "librpc/gen_ndr/ndr_nbt.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "system/passwd.h"

View File

@ -23,7 +23,7 @@
#include "includes.h"
#include "lib/cmdline/popt_common.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "system/passwd.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "librpc/gen_ndr/ndr_echo.h"
#include "lib/cmdline/popt_common.h"
#include "lib/messaging/irpc.h"

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "system/passwd.h"
/*

View File

@ -22,7 +22,7 @@
#include "includes.h"
#include "scripting/ejs/smbcalls.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "system/time.h"
/*

View File

@ -23,7 +23,7 @@
#include "includes.h"
#include "dynconfig.h"
#include "lib/ejs/ejs.h"
#include "lib/appweb/ejs/ejs.h"
#include "scripting/ejs/smbcalls.h"
void ejs_exception(const char *reason)

View File

@ -1,18 +1,5 @@
# web server subsystem
#######################
# Start SUBSYSTEM ESP
[SUBSYSTEM::ESP]
ADD_OBJ_FILES = \
web_server/esp/esp.o \
web_server/esp/espProcs.o
REQUIRED_SUBSYSTEMS = EJS
NOPROTO=YES
# End SUBSYSTEM ESP
#######################
#######################
# Start SUBSYSTEM WEB
[SUBSYSTEM::WEB]

View File

@ -28,7 +28,7 @@
#include "system/filesys.h"
#include "system/iconv.h"
#include "system/time.h"
#include "web_server/esp/esp.h"
#include "lib/appweb/esp/esp.h"
#include "dlinklist.h"
#include "lib/tls/tls.h"