xref: /unit/src/java/nxt_jni.h (revision 977:4f9268f27b57)
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