diff options
author | Max Romanov <max.romanov@gmail.com> | 2019-02-28 18:02:42 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@gmail.com> | 2019-02-28 18:02:42 +0300 |
commit | 5bfdebb9e4161a689113d73775498949a09d7fb5 (patch) | |
tree | fcb69169e3da983db0eb1f48d2dccc2ac2ff867b /src/java/nxt_jni.h | |
parent | ec7319d32c9c41597a99a9422ff324c97a92bb21 (diff) | |
download | unit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.gz unit-5bfdebb9e4161a689113d73775498949a09d7fb5.tar.bz2 |
Introducing Java Servlet Container beta.
Diffstat (limited to 'src/java/nxt_jni.h')
-rw-r--r-- | src/java/nxt_jni.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/java/nxt_jni.h b/src/java/nxt_jni.h new file mode 100644 index 00000000..62acb752 --- /dev/null +++ b/src/java/nxt_jni.h @@ -0,0 +1,55 @@ + +/* + * Copyright (C) NGINX, Inc. + */ + +#ifndef _NXT_JAVA_JNI_H_INCLUDED_ +#define _NXT_JAVA_JNI_H_INCLUDED_ + + +#include <jni.h> +#include <nxt_unit_typedefs.h> + + +int nxt_java_jni_init(JNIEnv *env); + +void nxt_java_throw_NoSuchElementException(JNIEnv *env, const char *msg); + +void nxt_java_throw_IOException(JNIEnv *env, const char *msg); + +void nxt_java_throw_IllegalStateException(JNIEnv *env, const char *msg); + +nxt_unit_field_t *nxt_java_findHeader(nxt_unit_field_t *f, nxt_unit_field_t *e, + const char *name, uint8_t name_len); + +int nxt_java_strcaseeq(const char *str1, const char *str2, int len); + +jstring nxt_java_newString(JNIEnv *env, char *str, uint32_t len); + + +typedef struct { + uint32_t header_size; + uint32_t buf_size; + + jobject jreq; + jobject jresp; + + nxt_unit_buf_t *first; + nxt_unit_buf_t *buf; + +} nxt_java_request_data_t; + + +static inline jlong +nxt_ptr2jlong(void *ptr) +{ + return (jlong) (intptr_t) ptr; +} + +static inline void * +nxt_jlong2ptr(jlong l) +{ + return (void *) (intptr_t) l; +} + +#endif /* _NXT_JAVA_JNI_H_INCLUDED_ */ |