34 * Macros and misc constants
35 */
36
37 #define MAX_PACKET_LEN 65536
38
39 #define NET_WAIT_READ 0x01
40 #define NET_WAIT_WRITE 0x02
41 #define NET_WAIT_CONNECT 0x04
42
43 /************************************************************************
44 * Cached field IDs
45 *
46 * The naming convention for field IDs is
47 * <class abbrv>_<fieldName>ID
48 */
49 extern jclass ia_class;
50 extern jfieldID iac_addressID;
51 extern jfieldID iac_familyID;
52 extern jfieldID iac_hostNameID;
53 extern jfieldID iac_origHostNameID;
54 extern jfieldID ia_preferIPv6AddressID;
55
56 JNIEXPORT void JNICALL initInetAddressIDs(JNIEnv *env);
57
58 /** (Inet6Address accessors)
59 * set_ methods return JNI_TRUE on success JNI_FALSE on error
60 * get_ methods that return int/boolean, return -1 on error
61 * get_ methods that return objects return NULL on error.
62 */
63 extern jboolean setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
64 extern unsigned int getInet6Address_scopeid(JNIEnv *env, jobject ia6Obj);
65 extern jboolean setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
66 extern jboolean getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
67 extern jboolean setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
68
69 extern void setInetAddress_addr(JNIEnv *env, jobject iaObj, int address);
70 extern void setInetAddress_family(JNIEnv *env, jobject iaObj, int family);
71 extern void setInetAddress_hostName(JNIEnv *env, jobject iaObj, jobject h);
72 extern int getInetAddress_addr(JNIEnv *env, jobject iaObj);
73 extern int getInetAddress_family(JNIEnv *env, jobject iaObj);
74
175
176 JNIEXPORT int JNICALL
177 NET_SetSockOpt(int fd, int level, int opt, const void *arg, int len);
178
179 JNIEXPORT int JNICALL
180 NET_Bind(int fd, SOCKETADDRESS *sa, int len);
181
182 JNIEXPORT int JNICALL
183 NET_MapSocketOption(jint cmd, int *level, int *optname);
184
185 JNIEXPORT int JNICALL
186 NET_MapSocketOptionV6(jint cmd, int *level, int *optname);
187
188 JNIEXPORT jint JNICALL
189 NET_EnableFastTcpLoopback(int fd);
190
191 unsigned short in_cksum(unsigned short *addr, int len);
192
193 jint NET_Wait(JNIEnv *env, jint fd, jint flags, jint timeout);
194
195 #endif /* NET_UTILS_H */
|
34 * Macros and misc constants
35 */
36
37 #define MAX_PACKET_LEN 65536
38
39 #define NET_WAIT_READ 0x01
40 #define NET_WAIT_WRITE 0x02
41 #define NET_WAIT_CONNECT 0x04
42
43 /************************************************************************
44 * Cached field IDs
45 *
46 * The naming convention for field IDs is
47 * <class abbrv>_<fieldName>ID
48 */
49 extern jclass ia_class;
50 extern jfieldID iac_addressID;
51 extern jfieldID iac_familyID;
52 extern jfieldID iac_hostNameID;
53 extern jfieldID iac_origHostNameID;
54
55 JNIEXPORT void JNICALL initInetAddressIDs(JNIEnv *env);
56
57 /** (Inet6Address accessors)
58 * set_ methods return JNI_TRUE on success JNI_FALSE on error
59 * get_ methods that return int/boolean, return -1 on error
60 * get_ methods that return objects return NULL on error.
61 */
62 extern jboolean setInet6Address_scopeifname(JNIEnv *env, jobject ia6Obj, jobject scopeifname);
63 extern unsigned int getInet6Address_scopeid(JNIEnv *env, jobject ia6Obj);
64 extern jboolean setInet6Address_scopeid(JNIEnv *env, jobject ia6Obj, int scopeid);
65 extern jboolean getInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *dest);
66 extern jboolean setInet6Address_ipaddress(JNIEnv *env, jobject ia6Obj, char *address);
67
68 extern void setInetAddress_addr(JNIEnv *env, jobject iaObj, int address);
69 extern void setInetAddress_family(JNIEnv *env, jobject iaObj, int family);
70 extern void setInetAddress_hostName(JNIEnv *env, jobject iaObj, jobject h);
71 extern int getInetAddress_addr(JNIEnv *env, jobject iaObj);
72 extern int getInetAddress_family(JNIEnv *env, jobject iaObj);
73
174
175 JNIEXPORT int JNICALL
176 NET_SetSockOpt(int fd, int level, int opt, const void *arg, int len);
177
178 JNIEXPORT int JNICALL
179 NET_Bind(int fd, SOCKETADDRESS *sa, int len);
180
181 JNIEXPORT int JNICALL
182 NET_MapSocketOption(jint cmd, int *level, int *optname);
183
184 JNIEXPORT int JNICALL
185 NET_MapSocketOptionV6(jint cmd, int *level, int *optname);
186
187 JNIEXPORT jint JNICALL
188 NET_EnableFastTcpLoopback(int fd);
189
190 unsigned short in_cksum(unsigned short *addr, int len);
191
192 jint NET_Wait(JNIEnv *env, jint fd, jint flags, jint timeout);
193
194 int lookupCharacteristicsToAddressFamily(int characteristics);
195
196 int addressesInSystemOrder(int characteristics);
197
198 #endif /* NET_UTILS_H */
|