|
@@ -27,10 +27,13 @@
|
|
|
#include <string.h>
|
|
#include <string.h>
|
|
|
#include <stdio.h>
|
|
#include <stdio.h>
|
|
|
#include <assert.h>
|
|
#include <assert.h>
|
|
|
|
|
+#include <stdarg.h>
|
|
|
|
|
+#include <ctype.h>
|
|
|
|
|
+#include <pthread.h>
|
|
|
|
|
+#include <limits.h>
|
|
|
|
|
+#include <semaphore.h>
|
|
|
|
|
+#include <errno.h>
|
|
|
|
|
|
|
|
-#ifndef __cplusplus
|
|
|
|
|
-int snprintf(char *buffer, size_t count, const char *format, ...);
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|
|
extern "C" {
|
|
@@ -43,48 +46,23 @@ extern void DEBUGME(void);
|
|
|
|
|
|
|
|
#define DIE do{bh_debug("Die here\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); DEBUGME(void); while(1);}while(0)
|
|
#define DIE do{bh_debug("Die here\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); DEBUGME(void); while(1);}while(0)
|
|
|
|
|
|
|
|
-#define BH_PLATFORM "Linux"
|
|
|
|
|
|
|
+#define BH_PLATFORM "VxWorks"
|
|
|
|
|
|
|
|
/* NEED qsort */
|
|
/* NEED qsort */
|
|
|
|
|
|
|
|
-#include <stdarg.h>
|
|
|
|
|
-#include <ctype.h>
|
|
|
|
|
-#include <pthread.h>
|
|
|
|
|
-#include <limits.h>
|
|
|
|
|
-#include <semaphore.h>
|
|
|
|
|
-#include <errno.h>
|
|
|
|
|
-
|
|
|
|
|
#define _STACK_SIZE_ADJUSTMENT (32 * 1024)
|
|
#define _STACK_SIZE_ADJUSTMENT (32 * 1024)
|
|
|
|
|
|
|
|
-/* Stack size of applet manager thread. */
|
|
|
|
|
-#define BH_APPLET_MANAGER_THREAD_STACK_SIZE (8 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
-
|
|
|
|
|
-/* Stack size of HMC thread. */
|
|
|
|
|
-#define BH_HMC_THREAD_STACK_SIZE (4 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
-
|
|
|
|
|
-/* Stack size of watchdog thread. */
|
|
|
|
|
-#define BH_WATCHDOG_THREAD_SIZE (4 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
-
|
|
|
|
|
/* Stack size of applet threads's native part. */
|
|
/* Stack size of applet threads's native part. */
|
|
|
#define BH_APPLET_PRESERVED_STACK_SIZE (8 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
#define BH_APPLET_PRESERVED_STACK_SIZE (8 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
|
|
|
-/* Stack size of remote invoke listen thread. */
|
|
|
|
|
-#define BH_REMOTE_INVOKE_THREAD_STACK_SIZE (4 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
-
|
|
|
|
|
-/* Stack size of remote post listen thread. */
|
|
|
|
|
-#define BH_REMOTE_POST_THREAD_STACK_SIZE (4 * 1024 + _STACK_SIZE_ADJUSTMENT)
|
|
|
|
|
-
|
|
|
|
|
-/* Maximal recursion depth of interpreter. */
|
|
|
|
|
-#define BH_MAX_INTERP_RECURSION_DEPTH 8
|
|
|
|
|
-
|
|
|
|
|
/* Default thread priority */
|
|
/* Default thread priority */
|
|
|
#define BH_THREAD_DEFAULT_PRIORITY 0
|
|
#define BH_THREAD_DEFAULT_PRIORITY 0
|
|
|
|
|
|
|
|
#define BH_ROUTINE_MODIFIER
|
|
#define BH_ROUTINE_MODIFIER
|
|
|
|
|
+
|
|
|
#define BHT_TIMEDOUT ETIMEDOUT
|
|
#define BHT_TIMEDOUT ETIMEDOUT
|
|
|
|
|
|
|
|
#define INVALID_THREAD_ID 0xFFffFFff
|
|
#define INVALID_THREAD_ID 0xFFffFFff
|
|
|
-#define INVALID_SEM_ID SEM_FAILED
|
|
|
|
|
|
|
|
|
|
typedef pthread_t korp_tid;
|
|
typedef pthread_t korp_tid;
|
|
|
typedef pthread_mutex_t korp_mutex;
|
|
typedef pthread_mutex_t korp_mutex;
|
|
@@ -97,27 +75,41 @@ typedef void* (*thread_start_routine_t)(void*);
|
|
|
#define wa_free bh_free
|
|
#define wa_free bh_free
|
|
|
#define wa_strdup bh_strdup
|
|
#define wa_strdup bh_strdup
|
|
|
|
|
|
|
|
|
|
+int snprintf(char *buffer, size_t count, const char *format, ...);
|
|
|
double fmod(double x, double y);
|
|
double fmod(double x, double y);
|
|
|
float fmodf(float x, float y);
|
|
float fmodf(float x, float y);
|
|
|
|
|
+double sqrt(double x);
|
|
|
|
|
|
|
|
-/* Definitions for applet debugging */
|
|
|
|
|
-#define APPLET_DEBUG_LISTEN_PORT 8000
|
|
|
|
|
-#define BH_SOCKET_INVALID_SOCK -1
|
|
|
|
|
#define BH_WAIT_FOREVER 0xFFFFFFFF
|
|
#define BH_WAIT_FOREVER 0xFFFFFFFF
|
|
|
-typedef int bh_socket_t;
|
|
|
|
|
|
|
|
|
|
#ifndef NULL
|
|
#ifndef NULL
|
|
|
# define NULL ((void*) 0)
|
|
# define NULL ((void*) 0)
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
|
|
+/**
|
|
|
|
|
+ * Return the offset of the given field in the given type.
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param Type the type containing the filed
|
|
|
|
|
+ * @param field the field in the type
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return the offset of field in Type
|
|
|
|
|
+ */
|
|
|
|
|
+#ifndef offsetof
|
|
|
|
|
+#define offsetof(Type, field) ((size_t)(&((Type *)0)->field))
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
#define bh_assert assert
|
|
#define bh_assert assert
|
|
|
|
|
|
|
|
-extern int b_memcpy_s(void * s1, unsigned int s1max, const void * s2,
|
|
|
|
|
- unsigned int n);
|
|
|
|
|
-extern int b_strcat_s(char * s1, size_t s1max, const char * s2);
|
|
|
|
|
-extern int b_strcpy_s(char * s1, size_t s1max, const char * s2);
|
|
|
|
|
|
|
+int b_memcpy_s(void * s1, unsigned int s1max, const void * s2,
|
|
|
|
|
+ unsigned int n);
|
|
|
|
|
+int b_strcat_s(char * s1, size_t s1max, const char * s2);
|
|
|
|
|
+int b_strcpy_s(char * s1, size_t s1max, const char * s2);
|
|
|
|
|
+
|
|
|
|
|
+char *bh_read_file_to_buffer(const char *filename, int *ret_size);
|
|
|
|
|
+
|
|
|
|
|
+char *bh_strdup(const char *s);
|
|
|
|
|
|
|
|
-extern char *bh_strdup(const char *s);
|
|
|
|
|
|
|
+int bh_platform_init();
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
#ifdef __cplusplus
|
|
|
}
|
|
}
|