1*977Smax.romanov@gmail.com
2*977Smax.romanov@gmail.com /*
3*977Smax.romanov@gmail.com * Copyright (C) NGINX, Inc.
4*977Smax.romanov@gmail.com */
5*977Smax.romanov@gmail.com
6*977Smax.romanov@gmail.com #ifndef _NXT_JAVA_JNI_H_INCLUDED_
7*977Smax.romanov@gmail.com #define _NXT_JAVA_JNI_H_INCLUDED_
8*977Smax.romanov@gmail.com
9*977Smax.romanov@gmail.com
10*977Smax.romanov@gmail.com #include <jni.h>
11*977Smax.romanov@gmail.com #include <nxt_unit_typedefs.h>
12*977Smax.romanov@gmail.com
13*977Smax.romanov@gmail.com
14*977Smax.romanov@gmail.com int nxt_java_jni_init(JNIEnv *env);
15*977Smax.romanov@gmail.com
16*977Smax.romanov@gmail.com void nxt_java_throw_NoSuchElementException(JNIEnv *env, const char *msg);
17*977Smax.romanov@gmail.com
18*977Smax.romanov@gmail.com void nxt_java_throw_IOException(JNIEnv *env, const char *msg);
19*977Smax.romanov@gmail.com
20*977Smax.romanov@gmail.com void nxt_java_throw_IllegalStateException(JNIEnv *env, const char *msg);
21*977Smax.romanov@gmail.com
22*977Smax.romanov@gmail.com nxt_unit_field_t *nxt_java_findHeader(nxt_unit_field_t *f, nxt_unit_field_t *e,
23*977Smax.romanov@gmail.com const char *name, uint8_t name_len);
24*977Smax.romanov@gmail.com
25*977Smax.romanov@gmail.com int nxt_java_strcaseeq(const char *str1, const char *str2, int len);
26*977Smax.romanov@gmail.com
27*977Smax.romanov@gmail.com jstring nxt_java_newString(JNIEnv *env, char *str, uint32_t len);
28*977Smax.romanov@gmail.com
29*977Smax.romanov@gmail.com
30*977Smax.romanov@gmail.com typedef struct {
31*977Smax.romanov@gmail.com uint32_t header_size;
32*977Smax.romanov@gmail.com uint32_t buf_size;
33*977Smax.romanov@gmail.com
34*977Smax.romanov@gmail.com jobject jreq;
35*977Smax.romanov@gmail.com jobject jresp;
36*977Smax.romanov@gmail.com
37*977Smax.romanov@gmail.com nxt_unit_buf_t *first;
38*977Smax.romanov@gmail.com nxt_unit_buf_t *buf;
39*977Smax.romanov@gmail.com
40*977Smax.romanov@gmail.com } nxt_java_request_data_t;
41*977Smax.romanov@gmail.com
42*977Smax.romanov@gmail.com
43*977Smax.romanov@gmail.com static inline jlong
nxt_ptr2jlong(void * ptr)44*977Smax.romanov@gmail.com nxt_ptr2jlong(void *ptr)
45*977Smax.romanov@gmail.com {
46*977Smax.romanov@gmail.com return (jlong) (intptr_t) ptr;
47*977Smax.romanov@gmail.com }
48*977Smax.romanov@gmail.com
49*977Smax.romanov@gmail.com static inline void *
nxt_jlong2ptr(jlong l)50*977Smax.romanov@gmail.com nxt_jlong2ptr(jlong l)
51*977Smax.romanov@gmail.com {
52*977Smax.romanov@gmail.com return (void *) (intptr_t) l;
53*977Smax.romanov@gmail.com }
54*977Smax.romanov@gmail.com
55*977Smax.romanov@gmail.com #endif /* _NXT_JAVA_JNI_H_INCLUDED_ */
56