12 #define WIN32_NO_STATUS 31 #define SIZEOF_ICMP_ERROR 8 32 #define SIZEOF_IO_STATUS_BLOCK 8 33 #define PACKET_SIZE 32 34 #define MAX_IPADDRESS 32 35 #define NUM_OF_PINGS 3 75 for (
x = 0;
x < uID;
x++)
77 lpStr += (*lpStr) + 1;
100 if ((*lpTarget) !=
NULL)
148 #define OutputText(Id, ...) ConResMsgPrintfEx(StdOut, NULL, 0, Id, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), ##__VA_ARGS__) 149 #endif //USE_CONUTILS 196 Info.Target->ai_addrlen,
238 bool Resolved =
false;
240 if (
Info.ResolveAddresses)
281 _In_ bool OutputHopAddress,
282 _Out_ bool& FoundTarget
295 AddressInfo = &EchoReplyV6->
Address;
300 PICMP_ECHO_REPLY32 EchoReplyV4;
308 AddressInfo = &EchoReplyV4->
Address;
353 if (OutputHopAddress)
396 ReplySize +=
sizeof(ICMP_ECHO_REPLY32);
428 ZeroMemory(&IpOptionInfo,
sizeof(IpOptionInfo));
432 bool FoundTarget =
false;
433 while ((HopCount <=
Info.MaxHops) && (FoundTarget ==
false) && (Quit ==
false))
439 IpOptionInfo.
Ttl = static_cast<UCHAR>(HopCount);
516 if (
argv[
i][0] ==
'-')
529 printf(
"-j is not yet implemented.\n");
570 Info.ResolveAddresses =
true;
static INT LengthOfStrResource(_In_ HINSTANCE hInst, _In_ UINT uID)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
_In_ ULONG _In_ ULONG _In_ ULONG Length
BOOL WINAPI IcmpCloseHandle(_In_ HANDLE IcmpHandle)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
struct _IPV6_ADDRESS_EX * PIPV6_ADDRESS_EX
ADDRESS_FAMILY sin6_family
IN BOOLEAN OUT PSTR Buffer
WCHAR HostName[NI_MAXHOST]
struct icmp_echo_reply * PICMP_ECHO_REPLY
#define FORMAT_MESSAGE_FROM_STRING
static bool RunTraceRoute()
INT WSAAPI WSACleanup(VOID)
#define IDS_DEST_NET_UNREACHABLE
#define INVALID_HANDLE_VALUE
IN PVOID IN PVOID IN USHORT IN USHORT Size
LPVOID WINAPI LockResource(HGLOBAL handle)
GLint GLint GLint GLint GLint x
EXTERN_C int wmain(int argc, wchar_t *argv[])
struct sockaddr * PSOCKADDR
_Check_return_ unsigned long __cdecl wcstoul(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
#define IP_TTL_EXPIRED_TRANSIT
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
#define SIZEOF_IO_STATUS_BLOCK
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
#define ConInitStdStreams()
INT WSAAPI GetAddrInfoW(IN PCWSTR pszNodeName, IN PCWSTR pszServiceName, IN const ADDRINFOW *ptHints, OUT PADDRINFOW *pptResult)
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
static bool DecodeResponse(_In_ PVOID ReplyBuffer, _In_ bool OutputHopAddress, _Out_ bool &FoundTarget)
static INT AllocAndLoadString(_In_ UINT uID, _Out_ LPWSTR *lpTarget)
static INT OutputText(_In_ UINT uID,...)
#define IDS_DEST_HOST_UNREACHABLE
#define IP_GENERAL_FAILURE
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
ICMPV6_ECHO_REPLY_LH * PICMPV6_ECHO_REPLY
DWORD WINAPI Icmp6SendEcho2(_In_ HANDLE IcmpHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _In_ struct sockaddr_in6 *SourceAddress, _In_ struct sockaddr_in6 *DestinationAddress, _In_ LPVOID RequestData, _In_ WORD RequestSize, _In_ PIP_OPTION_INFORMATION RequestOptions, _Out_ LPVOID ReplyBuffer, _In_ DWORD ReplySize, _In_ DWORD Timeout)
#define IP_DEST_NET_UNREACHABLE
static bool ResolveTarget()
DWORD WINAPI IcmpSendEcho2(_In_ HANDLE IcmpHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _In_ IPAddr DestinationAddress, _In_ LPVOID RequestData, _In_ WORD RequestSize, _In_opt_ PIP_OPTION_INFORMATION RequestOptions, _Out_ LPVOID ReplyBuffer, _In_ DWORD ReplySize, _In_ DWORD Timeout)
INT WSAAPI GetNameInfoW(IN CONST SOCKADDR *pSockaddr, IN socklen_t SockaddrLength, OUT PWCHAR pNodeBuffer, IN DWORD NodeBufferSize, OUT PWCHAR pServiceBuffer, IN DWORD ServiceBufferSize, IN INT Flags)
ICMPV6_ECHO_REPLY_LH ICMPV6_ECHO_REPLY
_Must_inspect_result_ _In_ PFLT_PORT _In_ ULONG _Out_writes_bytes_opt_ ReplyLength PVOID ReplyBuffer
#define IDS_TRANSMIT_FAILED
unsigned int RoundTripTime
#define SIZEOF_ICMP_ERROR
#define IDS_UNABLE_RESOLVE
WCHAR TargetIP[MAX_IPADDRESS]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
HLOCAL NTAPI LocalFree(HLOCAL hMem)
HANDLE WINAPI Icmp6CreateFile(void)
struct sockaddr_in SOCKADDR_IN
WINSOCK_API_LINKAGE VOID WSAAPI FreeAddrInfoW(_In_opt_ PADDRINFOW pAddrInfo)
SOCKADDR_IN6_LH SOCKADDR_IN6
#define IDS_TRACE_COMPLETE
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
#define IDS_REQ_TIMED_OUT
#define IP_DEST_HOST_UNREACHABLE
HANDLE WINAPI IcmpCreateFile(void)
static bool ParseCmdline(int argc, wchar_t *argv[])
struct icmp_echo_reply ICMP_ECHO_REPLY
static ULONG GetULONG(_In_z_ LPWSTR String)
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define HeapFree(x, y, z)
static bool PrintHopInfo(_In_ PVOID Buffer)
#define IDS_INVALID_OPTION
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char * Format