📄 cresponse.h
字号:
#ifndef __ITM_CRESPONSE_H__
#define __ITM_CRESPONSE_H__
#define CRESPONSE 1
#if (CRESPONSE)
#include "jni.h"
#endif
#include <stdio.h>
#include <time.h>
#ifdef WIN32
#include <winsock.h>
#else
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#define closesocket close
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef u_int SOCKET;
typedef unsigned long DWORD;
typedef struct sockaddr SOCKADDR;
typedef struct sockaddr *PSOCKADDR;
typedef struct sockaddr *LPSOCKADDR;
typedef struct sockaddr_in SOCKADDR_IN;
typedef struct sockaddr_in *PSOCKADDR_IN;
typedef struct sockaddr_in *LPSOCKADDR_IN;
#endif
#define REQ_DATASIZE 32 // Echo Request Data size
// IP Header -- RFC 791
typedef struct tagIPHDR
{
u_char VIHL; // Version and IHL
u_char TOS; // Type Of Service
short TotLen; // Total Length
short ID; // Identification
short FlagOff; // Flags and Fragment Offset
u_char TTL; // Time To Live
u_char Protocol; // Protocol
u_short Checksum; // Checksum
struct in_addr iaSrc; // Internet Address - Source
struct in_addr iaDst; // Internet Address - Destination
}IPHDR, *PIPHDR;
// ICMP Header - RFC 792
typedef struct tagICMPHDR
{
u_char Type; // Type
u_char Code; // Code
u_short Checksum; // Checksum
u_short ID; // Identification
u_short Seq; // Sequence
char Data; // Data
}ICMPHDR, *PICMPHDR;
#define REQ_DATASIZE 32 // Echo Request Data size
#define ICMP_ECHOREQ 8
// ICMP Echo Request
typedef struct tagECHOREQUEST
{
ICMPHDR icmpHdr;
DWORD dwTime;
char cData[REQ_DATASIZE];
}ECHOREQUEST, *PECHOREQUEST;
// ICMP Echo Reply
typedef struct tagECHOREPLY
{
IPHDR ipHdr;
ECHOREQUEST echoRequest;
char cFiller[256];
}ECHOREPLY, *PECHOREPLY;
u_short in_cksum(u_short *addr, int len);
int SendEchoRequest(SOCKET s, LPSOCKADDR_IN lpstToAddr);
int WaitForEchoReply(SOCKET s);
int RecvEchoReply(SOCKET s, LPSOCKADDR_IN lpsaFrom, u_char *pTTL, char* ipAddress);
//UINT PingThread( LPVOID pParam );
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: HelloWorld
* Method: displayHelloWorld
* Signature: ()V
*/
//JNIEXPORT jintArray JNICALL Java_com_servinvent_itmanager_snmp_cping_CResponse_GetTime(JNIEnv *env, jobject obj, jstring s, jint rcount);
#if (CRESPONSE==1)
JNIEXPORT jintArray JNICALL Java_com_qwserv_itm_util_protocol_RemotePing_CResponse_GetTime(JNIEnv *env, jobject obj, jstring s, jint rcount);
#endif
#ifdef __cplusplus
}
#endif
#endif //__ITM_CRESPONSE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -