ZT1_jniutils.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef ZT1_jniutils_h_
  2. #define ZT1_jniutils_h_
  3. #include <stdio.h>
  4. #include <jni.h>
  5. #include <ZeroTierOne.h>
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9. #define LOG_TAG "ZeroTierOneJNI"
  10. #if __ANDROID__
  11. #include <android/log.h>
  12. #define LOGV(...) ((void)__android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
  13. #define LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))
  14. #define LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__))
  15. #define LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))
  16. #else
  17. #define LOGV(...) fprintf(stdout, __VA_ARGS__)
  18. #define LOGI(...) fprintf(stdout, __VA_ARGS__)
  19. #define LOGD(...) fprintf(stdout, __VA_ARGS__)
  20. #define LOGE(...) fprintf(stdout, __VA_ARGS__)
  21. #endif
  22. jobject createResultObject(JNIEnv *env, ZT1_ResultCode code);
  23. jobject createVirtualNetworkStatus(JNIEnv *env, ZT1_VirtualNetworkStatus status);
  24. jobject createVirtualNetworkType(JNIEnv *env, ZT1_VirtualNetworkType type);
  25. jobject createEvent(JNIEnv *env, ZT1_Event event);
  26. jobject createPeerRole(JNIEnv *env, ZT1_PeerRole role);
  27. jobject createVirtualNetworkConfigOperation(JNIEnv *env, ZT1_VirtualNetworkConfigOperation op);
  28. jobject newArrayList(JNIEnv *env);
  29. bool appendItemToArrayList(JNIEnv *env, jobject array, jobject object);
  30. jobject newInetSocketAddress(JNIEnv *env, const sockaddr_storage &addr);
  31. jobject newInetAddress(JNIEnv *env, const sockaddr_storage &addr);
  32. jobject newMulticastGroup(JNIEnv *env, const ZT1_MulticastGroup &mc);
  33. jobject newPeer(JNIEnv *env, const ZT1_Peer &peer);
  34. jobject newPeerPhysicalPath(JNIEnv *env, const ZT1_PeerPhysicalPath &ppp);
  35. jobject newNetworkConfig(JNIEnv *env, const ZT1_VirtualNetworkConfig &config);
  36. jobject newVersion(JNIEnv *env, int major, int minor, int rev, long featureFlags);
  37. #ifdef __cplusplus
  38. }
  39. #endif
  40. #endif