ReactOS 0.4.16-dev-1946-g52006dd
icmpapi.h File Reference

Go to the source code of this file.

Macros

#define IPHLPAPI_DLL_LINKAGE
 

Functions

IPHLPAPI_DLL_LINKAGE HANDLE WINAPI IcmpCreateFile (VOID)
 
IPHLPAPI_DLL_LINKAGE HANDLE WINAPI Icmp6CreateFile (VOID)
 
IPHLPAPI_DLL_LINKAGE BOOL WINAPI IcmpCloseHandle (_In_ HANDLE IcmpHandle)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho (_In_ HANDLE IcmpHandle, _In_ IPAddr DestinationAddress, _In_reads_bytes_(RequestSize) LPVOID RequestData, _In_ WORD RequestSize, _In_opt_ PIP_OPTION_INFORMATION RequestOptions, _Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8) DWORD ReplySize, _In_ DWORD Timeout)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho2 (_In_ HANDLE IcmpHandle, _In_opt_ HANDLE Event, _In_opt_ FARPROC ApcRoutine, _In_opt_ PVOID ApcContext, _In_ IPAddr DestinationAddress, _In_reads_bytes_(RequestSize) LPVOID RequestData, _In_ WORD RequestSize, _In_opt_ PIP_OPTION_INFORMATION RequestOptions, _Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8) DWORD ReplySize, _In_ DWORD Timeout)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho2Ex (_In_ HANDLE IcmpHandle, _In_opt_ HANDLE Event, _In_opt_ FARPROC ApcRoutine, _In_opt_ PVOID ApcContext, _In_ IPAddr SourceAddress, _In_ IPAddr DestinationAddress, _In_reads_bytes_(RequestSize) LPVOID RequestData, _In_ WORD RequestSize, _In_opt_ PIP_OPTION_INFORMATION RequestOptions, _Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8+sizeof(IO_STATUS_BLOCK)) DWORD ReplySize, _In_ DWORD Timeout)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI Icmp6SendEcho2 (_In_ HANDLE IcmpHandle, _In_opt_ HANDLE Event, _In_opt_ FARPROC ApcRoutine, _In_opt_ PVOID ApcContext, _In_ struct sockaddr_in6 *SourceAddress, _In_ struct sockaddr_in6 *DestinationAddress, _In_reads_bytes_(RequestSize) LPVOID RequestData, _In_ WORD RequestSize, _In_opt_ PIP_OPTION_INFORMATION RequestOptions, _Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMPV6_ECHO_REPLY)+RequestSize+8+sizeof(IO_STATUS_BLOCK)) DWORD ReplySize, _In_ DWORD Timeout)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpParseReplies (_Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMP_ECHO_REPLY)+8) DWORD ReplySize)
 
IPHLPAPI_DLL_LINKAGE DWORD WINAPI Icmp6ParseReplies (_Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _In_range_(>=, sizeof(ICMPV6_ECHO_REPLY)+8) DWORD ReplySize)
 

Macro Definition Documentation

◆ IPHLPAPI_DLL_LINKAGE

#define IPHLPAPI_DLL_LINKAGE

Definition at line 17 of file icmpapi.h.

Function Documentation

◆ Icmp6CreateFile()

IPHLPAPI_DLL_LINKAGE HANDLE WINAPI Icmp6CreateFile ( VOID  )

Definition at line 15 of file icmp.c.

16{
17 HANDLE IcmpFile;
22
27 NULL,
28 NULL);
29
31 &IcmpFile,
35 NULL,
39 0,
40 NULL,
41 0);
42
43 if (!NT_SUCCESS(Status))
44 {
47 }
48
49 return IcmpFile;
50}
LONG NTSTATUS
Definition: precomp.h:26
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
#define SetLastError(x)
Definition: compat.h:752
#define INVALID_HANDLE_VALUE
Definition: compat.h:731
#define FILE_ATTRIBUTE_NORMAL
Definition: compat.h:137
#define FILE_SHARE_READ
Definition: compat.h:136
#define L(x)
Definition: resources.c:13
#define FILE_OPEN_IF
Definition: from_kernel.h:56
Status
Definition: gdiplustypes.h:25
#define OBJ_CASE_INSENSITIVE
Definition: winternl.h:228
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
#define InitializeObjectAttributes(p, n, a, r, s)
Definition: reg.c:106
#define FILE_SHARE_WRITE
Definition: nt_native.h:681
NTSTATUS NTAPI NtCreateFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER AllocationSize OPTIONAL, IN ULONG FileAttributes, IN ULONG ShareAccess, IN ULONG CreateDisposition, IN ULONG CreateOptions, IN PVOID EaBuffer OPTIONAL, IN ULONG EaLength)
#define GENERIC_EXECUTE
Definition: nt_native.h:91
static OUT PIO_STATUS_BLOCK IoStatusBlock
Definition: pipe.c:75
#define RTL_CONSTANT_STRING(s)
Definition: tunneltest.c:14
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3281

◆ Icmp6ParseReplies()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI Icmp6ParseReplies ( _Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMPV6_ECHO_REPLY)+8) DWORD  ReplySize 
)

◆ Icmp6SendEcho2()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI Icmp6SendEcho2 ( _In_ HANDLE  IcmpHandle,
_In_opt_ HANDLE  Event,
_In_opt_ FARPROC  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_In_ struct sockaddr_in6 SourceAddress,
_In_ struct sockaddr_in6 DestinationAddress,
_In_reads_bytes_(RequestSize) LPVOID  RequestData,
_In_ WORD  RequestSize,
_In_opt_ PIP_OPTION_INFORMATION  RequestOptions,
_Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMPV6_ECHO_REPLY)+RequestSize+8+sizeof(IO_STATUS_BLOCK)) DWORD  ReplySize,
_In_ DWORD  Timeout 
)

◆ IcmpCloseHandle()

IPHLPAPI_DLL_LINKAGE BOOL WINAPI IcmpCloseHandle ( _In_ HANDLE  IcmpHandle)

Definition at line 202 of file icmp.c.

204{
206
207 Status = NtClose(IcmpHandle);
208 if (!NT_SUCCESS(Status))
209 {
211 return FALSE;
212 }
213
214 return TRUE;
215}
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3402

Referenced by RunTraceRoute(), test_Icmp6CreateFile(), test_IcmpCloseHandle(), test_IcmpCreateFile(), test_IcmpSendEcho(), testIcmpSendEcho(), and wmain().

◆ IcmpCreateFile()

IPHLPAPI_DLL_LINKAGE HANDLE WINAPI IcmpCreateFile ( VOID  )

Definition at line 219 of file icmp.c.

220{
221 HANDLE IcmpFile;
226
229 &DeviceName,
231 NULL,
232 NULL);
233
235 &IcmpFile,
239 NULL,
243 0,
244 NULL,
245 0);
246
247 if (!NT_SUCCESS(Status))
248 {
251 }
252
253 return IcmpFile;
254}

◆ IcmpParseReplies()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpParseReplies ( _Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMP_ECHO_REPLY)+8) DWORD  ReplySize 
)

◆ IcmpSendEcho()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho ( _In_ HANDLE  IcmpHandle,
_In_ IPAddr  DestinationAddress,
_In_reads_bytes_(RequestSize) LPVOID  RequestData,
_In_ WORD  RequestSize,
_In_opt_ PIP_OPTION_INFORMATION  RequestOptions,
_Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8) DWORD  ReplySize,
_In_ DWORD  Timeout 
)

◆ IcmpSendEcho2()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho2 ( _In_ HANDLE  IcmpHandle,
_In_opt_ HANDLE  Event,
_In_opt_ FARPROC  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_In_ IPAddr  DestinationAddress,
_In_reads_bytes_(RequestSize) LPVOID  RequestData,
_In_ WORD  RequestSize,
_In_opt_ PIP_OPTION_INFORMATION  RequestOptions,
_Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8) DWORD  ReplySize,
_In_ DWORD  Timeout 
)

◆ IcmpSendEcho2Ex()

IPHLPAPI_DLL_LINKAGE DWORD WINAPI IcmpSendEcho2Ex ( _In_ HANDLE  IcmpHandle,
_In_opt_ HANDLE  Event,
_In_opt_ FARPROC  ApcRoutine,
_In_opt_ PVOID  ApcContext,
_In_ IPAddr  SourceAddress,
_In_ IPAddr  DestinationAddress,
_In_reads_bytes_(RequestSize) LPVOID  RequestData,
_In_ WORD  RequestSize,
_In_opt_ PIP_OPTION_INFORMATION  RequestOptions,
_Out_writes_bytes_(ReplySize) LPVOID  ReplyBuffer,
_In_range_(>=, sizeof(ICMP_ECHO_REPLY)+RequestSize+8+sizeof(IO_STATUS_BLOCK)) DWORD  ReplySize,
_In_ DWORD  Timeout 
)