ReactOS  0.4.15-dev-492-ga1108f6
ifenum.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _InterfaceIndexTable
 

Macros

#define MAX_INTERFACE_PHYSADDR   8
 
#define MAX_INTERFACE_DESCRIPTION   256
 

Typedefs

typedef struct _InterfaceIndexTable InterfaceIndexTable
 

Functions

void interfaceMapInit (void)
 
void interfaceMapFree (void)
 
DWORD getNumInterfaces (void)
 
DWORD getNumNonLoopbackInterfaces (void)
 
InterfaceIndexTablegetInterfaceIndexTable (void)
 
InterfaceIndexTablegetNonLoopbackInterfaceIndexTable (void)
 
const chargetInterfaceNameByIndex (DWORD index)
 
void consumeInterfaceName (const char *ifname)
 
DWORD getInterfaceIndexByName (const char *name, PDWORD index)
 
DWORD getInterfaceIPAddrByName (const char *name)
 
DWORD getInterfaceIPAddrByIndex (DWORD index)
 
DWORD getInterfaceMaskByName (const char *name)
 
DWORD getInterfaceMaskByIndex (DWORD index)
 
DWORD getInterfaceBCastAddrByName (const char *name)
 
DWORD getInterfaceBCastAddrByIndex (DWORD index)
 
DWORD getInterfacePhysicalByName (const char *name, PDWORD len, PBYTE addr, PDWORD type)
 
DWORD getInterfacePhysicalByIndex (DWORD index, PDWORD len, PBYTE addr, PDWORD type)
 
DWORD getInterfaceStatusByName (const char *name, PDWORD status)
 
DWORD getInterfaceStatusByIndex (DWORD index, PDWORD status)
 
DWORD getInterfaceMtuByName (const char *name, PDWORD mtu)
 
DWORD getInterfaceMtuByIndex (DWORD index, PDWORD mtu)
 
DWORD getInterfaceEntryByName (const char *name, PMIB_IFROW entry)
 
DWORD getInterfaceEntryByIndex (DWORD index, PMIB_IFROW entry)
 
chartoIPAddressString (unsigned int addr, char string[16])
 
NTSTATUS addIPAddress (IPAddr Address, IPMask Mask, DWORD IfIndex, PULONG NteContext, PULONG NteInstance)
 
NTSTATUS deleteIpAddress (ULONG NteContext)
 
DWORD createIpForwardEntryOS (PMIB_IPFORWARDROW pRoute)
 
BOOL isLoopback (HANDLE tcpFile, TDIEntityID *loop_maybe)
 

Macro Definition Documentation

◆ MAX_INTERFACE_DESCRIPTION

#define MAX_INTERFACE_DESCRIPTION   256

Definition at line 48 of file ifenum.h.

◆ MAX_INTERFACE_PHYSADDR

#define MAX_INTERFACE_PHYSADDR   8

Definition at line 47 of file ifenum.h.

Typedef Documentation

◆ InterfaceIndexTable

Function Documentation

◆ addIPAddress()

NTSTATUS addIPAddress ( IPAddr  Address,
IPMask  Mask,
DWORD  IfIndex,
PULONG  NteContext,
PULONG  NteInstance 
)

Definition at line 642 of file ifenum_reactos.c.

644 {
645  HANDLE tcpFile;
649 
650  TRACE("Called.\n");
651 
652  if( !NT_SUCCESS(status) ) return status;
653 
654  Data.NteContext = IfIndex;
655  Data.NewAddress = Address;
656  Data.NewNetmask = Mask;
657 
658  status = NtDeviceIoControlFile( tcpFile,
659  NULL,
660  NULL,
661  NULL,
662  &Iosb,
664  &Data,
665  sizeof(Data),
666  &Data,
667  sizeof(Data) );
668 
669  closeTcpFile( tcpFile );
670 
671  if( NT_SUCCESS(status) ) {
672  *NteContext = Iosb.Information;
673  *NteInstance = Data.NewAddress;
674  }
675 
676  if (!NT_SUCCESS(status)) {
677  ERR("addIPAddress for if %d returning 0x%lx\n", IfIndex, status);
678  }
679 
680  return status;
681 
682 }
LONG NTSTATUS
Definition: precomp.h:26
NTSYSAPI NTSTATUS NTAPI NtDeviceIoControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
static WCHAR Address[46]
Definition: ping.c:68
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
#define FILE_WRITE_DATA
Definition: nt_native.h:631
#define TRACE(s)
Definition: solgame.cpp:4
return Iosb
Definition: create.c:4402
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define IOCTL_SET_IP_ADDRESS
Definition: tcpioctl.h:43
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
#define ERR(fmt,...)
Definition: debug.h:110
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by AddIPAddress().

◆ consumeInterfaceName()

void consumeInterfaceName ( const char ifname)

Definition at line 376 of file ifenum_reactos.c.

376  {
377  HeapFree( GetProcessHeap(), 0, (char *)name );
378 }
#define GetProcessHeap()
Definition: compat.h:404
Definition: name.c:38
#define HeapFree(x, y, z)
Definition: compat.h:403

Referenced by GetAdaptersInfo(), GetIfEntry(), and GetInterfaceInfo().

◆ createIpForwardEntryOS()

DWORD createIpForwardEntryOS ( PMIB_IPFORWARDROW  pRoute)

◆ deleteIpAddress()

NTSTATUS deleteIpAddress ( ULONG  NteContext)

Definition at line 684 of file ifenum_reactos.c.

685 {
686  HANDLE tcpFile;
689 
690  TRACE("Called.\n");
691 
692  if( !NT_SUCCESS(status) ) return status;
693 
694  status = NtDeviceIoControlFile( tcpFile,
695  NULL,
696  NULL,
697  NULL,
698  &Iosb,
700  &NteContext,
701  sizeof(USHORT),
702  NULL,
703  0 );
704 
705  closeTcpFile( tcpFile );
706 
707  if (!NT_SUCCESS(status)) {
708  ERR("deleteIpAddress(%lu) returning 0x%lx\n", NteContext, status);
709  }
710 
711  return status;
712 }
LONG NTSTATUS
Definition: precomp.h:26
NTSYSAPI NTSTATUS NTAPI NtDeviceIoControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
#define FILE_WRITE_DATA
Definition: nt_native.h:631
#define IOCTL_DELETE_IP_ADDRESS
Definition: tcpioctl.h:46
#define TRACE(s)
Definition: solgame.cpp:4
return Iosb
Definition: create.c:4402
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
#define ERR(fmt,...)
Definition: debug.h:110
unsigned short USHORT
Definition: pedump.c:61
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by DeleteIPAddress().

◆ getInterfaceBCastAddrByIndex()

DWORD getInterfaceBCastAddrByIndex ( DWORD  index)

Definition at line 508 of file ifenum_reactos.c.

508  {
509  return getAddrByIndexOrName( 0, index, IPABcast );
510 }
GLuint index
Definition: glext.h:6031
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)

Referenced by GetIpAddrTable().

◆ getInterfaceBCastAddrByName()

DWORD getInterfaceBCastAddrByName ( const char name)

Definition at line 504 of file ifenum_reactos.c.

504  {
505  return getAddrByIndexOrName( (char *)name, 0, IPABcast );
506 }
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
Definition: name.c:38

◆ getInterfaceEntryByIndex()

DWORD getInterfaceEntryByIndex ( DWORD  index,
PMIB_IFROW  entry 
)

Definition at line 607 of file ifenum_reactos.c.

608 {
609  HANDLE tcpFile;
610  IFInfo info;
611  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
612 
613  TRACE("Called.\n");
614 
615  if( NT_SUCCESS(status) ) {
616  status = getInterfaceInfoByIndex( tcpFile, index, &info );
617 
618  if( NT_SUCCESS(status) ) {
619  memcpy( &entry->wszName[MAX_INTERFACE_NAME_LEN],
620  &info.if_info,
621  sizeof(info.if_info) );
622  }
623 
624  closeTcpFile( tcpFile );
625  }
626 
627  return status;
628 }
LONG NTSTATUS
Definition: precomp.h:26
struct _test_info info[]
Definition: SetCursorPos.c:19
#define FILE_READ_DATA
Definition: nt_native.h:628
GLuint index
Definition: glext.h:6031
#define TRACE(s)
Definition: solgame.cpp:4
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
#define MAX_INTERFACE_NAME_LEN
Definition: ifmib.h:31
uint32_t entry
Definition: isohybrid.c:63
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
NTSTATUS getInterfaceInfoByIndex(HANDLE tcpFile, DWORD index, IFInfo *info)
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by GetIfEntry().

◆ getInterfaceEntryByName()

DWORD getInterfaceEntryByName ( const char name,
PMIB_IFROW  entry 
)

Definition at line 582 of file ifenum_reactos.c.

583 {
584  HANDLE tcpFile;
585  IFInfo info;
586  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
587 
588  TRACE("Called.\n");
589 
590  if( NT_SUCCESS(status) ) {
591  status = getInterfaceInfoByName( tcpFile, (char *)name, &info );
592 
593  if( NT_SUCCESS(status) ) {
594  memcpy( &entry->wszName[MAX_INTERFACE_NAME_LEN],
595  &info.if_info,
596  sizeof(info.if_info) );
597  }
598 
599  TRACE("entry->bDescr = %s\n", entry->bDescr);
600 
601  closeTcpFile( tcpFile );
602  }
603 
604  return status;
605 }
LONG NTSTATUS
Definition: precomp.h:26
struct _test_info info[]
Definition: SetCursorPos.c:19
NTSTATUS getInterfaceInfoByName(HANDLE tcpFile, char *name, IFInfo *info)
#define FILE_READ_DATA
Definition: nt_native.h:628
#define TRACE(s)
Definition: solgame.cpp:4
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
#define MAX_INTERFACE_NAME_LEN
Definition: ifmib.h:31
uint32_t entry
Definition: isohybrid.c:63
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
Definition: name.c:38
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ getInterfaceIndexByName()

DWORD getInterfaceIndexByName ( const char name,
PDWORD  index 
)

Definition at line 380 of file ifenum_reactos.c.

381 {
382  IFInfo ifInfo;
383  HANDLE tcpFile;
384  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
385 
386  if( NT_SUCCESS(status) ) {
387  status = getInterfaceInfoByName( tcpFile, (char *)name, &ifInfo );
388 
389  if( NT_SUCCESS(status) ) {
390  *index = ifInfo.if_info.ent.if_index;
391  }
392 
393  closeTcpFile( tcpFile );
394  }
395 
396  return status;
397 }
LONG NTSTATUS
Definition: precomp.h:26
ULONG if_index
Definition: tcpioctl.h:108
NTSTATUS getInterfaceInfoByName(HANDLE tcpFile, char *name, IFInfo *info)
#define FILE_READ_DATA
Definition: nt_native.h:628
GLuint index
Definition: glext.h:6031
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
Definition: name.c:38
IFEntrySafelySized if_info
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ getInterfaceIndexTable()

InterfaceIndexTable* getInterfaceIndexTable ( void  )

Definition at line 446 of file ifenum_reactos.c.

446  {
448 }
InterfaceIndexTable * getInterfaceIndexTableInt(BOOL nonLoopbackOnly)

Referenced by GetIfTable(), and GetIpAddrTable().

◆ getInterfaceIPAddrByIndex()

DWORD getInterfaceIPAddrByIndex ( DWORD  index)

Definition at line 500 of file ifenum_reactos.c.

500  {
501  return getAddrByIndexOrName( 0, index, IPAAddr );
502 }
GLuint index
Definition: glext.h:6031
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)

Referenced by GetAdaptersInfo(), and GetIpAddrTable().

◆ getInterfaceIPAddrByName()

DWORD getInterfaceIPAddrByName ( const char name)

Definition at line 454 of file ifenum_reactos.c.

455 {
456  return INADDR_ANY;
457 }
#define INADDR_ANY
Definition: StrAddr.c:4

◆ getInterfaceMaskByIndex()

DWORD getInterfaceMaskByIndex ( DWORD  index)

Definition at line 516 of file ifenum_reactos.c.

516  {
517  return getAddrByIndexOrName( 0, index, IPAMask );
518 }
GLuint index
Definition: glext.h:6031
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)

Referenced by GetAdaptersInfo(), and GetIpAddrTable().

◆ getInterfaceMaskByName()

DWORD getInterfaceMaskByName ( const char name)

Definition at line 512 of file ifenum_reactos.c.

512  {
513  return getAddrByIndexOrName( (char *)name, 0, IPAMask );
514 }
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
Definition: name.c:38

◆ getInterfaceMtuByIndex()

DWORD getInterfaceMtuByIndex ( DWORD  index,
PDWORD  mtu 
)

Definition at line 566 of file ifenum_reactos.c.

566  {
567  *mtu = getAddrByIndexOrName( 0, index, IFMtu );
568  return STATUS_SUCCESS;
569 }
GLuint index
Definition: glext.h:6031
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
return STATUS_SUCCESS
Definition: btrfs.c:3014

◆ getInterfaceMtuByName()

DWORD getInterfaceMtuByName ( const char name,
PDWORD  mtu 
)

Definition at line 561 of file ifenum_reactos.c.

561  {
562  *mtu = getAddrByIndexOrName( (char *)name, 0, IFMtu );
563  return STATUS_SUCCESS;
564 }
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
Definition: name.c:38
return STATUS_SUCCESS
Definition: btrfs.c:3014

◆ getInterfaceNameByIndex()

const char* getInterfaceNameByIndex ( DWORD  index)

Definition at line 351 of file ifenum_reactos.c.

352 {
353  IFInfo ifInfo;
354  HANDLE tcpFile;
355  char *interfaceName = NULL;
356  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
357 
358  if( NT_SUCCESS(status) ) {
359  status = getInterfaceInfoByIndex( tcpFile, index, &ifInfo );
360 
361  if( NT_SUCCESS(status) ) {
362  interfaceName = HeapAlloc( GetProcessHeap(), 0,
363  ifInfo.if_info.ent.if_descrlen + 1 );
364  if( interfaceName ) {
365  memcpy(interfaceName, ifInfo.if_info.ent.if_descr, ifInfo.if_info.ent.if_descrlen);
366  interfaceName[ifInfo.if_info.ent.if_descrlen] = '\0';
367  }
368  }
369 
370  closeTcpFile( tcpFile );
371  }
372 
373  return interfaceName;
374 }
ULONG if_descrlen
Definition: tcpioctl.h:129
LONG NTSTATUS
Definition: precomp.h:26
#define FILE_READ_DATA
Definition: nt_native.h:628
smooth NULL
Definition: ftsmooth.c:416
GLuint index
Definition: glext.h:6031
#define GetProcessHeap()
Definition: compat.h:404
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
NTSTATUS getInterfaceInfoByIndex(HANDLE tcpFile, DWORD index, IFInfo *info)
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
IFEntrySafelySized if_info
UCHAR if_descr[1]
Definition: tcpioctl.h:130
Definition: ps.c:97

Referenced by GetAdaptersInfo(), GetIfEntry(), GetInterfaceInfo(), and GetPerAdapterInfo().

◆ getInterfacePhysicalByIndex()

DWORD getInterfacePhysicalByIndex ( DWORD  index,
PDWORD  len,
PBYTE  addr,
PDWORD  type 
)

Definition at line 544 of file ifenum_reactos.c.

546 {
547  HANDLE tcpFile;
548  IFInfo info;
549  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
550 
551  if( NT_SUCCESS(status) ) {
552  status = getInterfaceInfoByIndex( tcpFile, index, &info );
553  if( NT_SUCCESS(status) )
555  closeTcpFile( tcpFile );
556  }
557 
558  return status;
559 }
LONG NTSTATUS
Definition: precomp.h:26
void getInterfacePhysicalFromInfo(IFInfo *info, PDWORD len, PBYTE addr, PDWORD type)
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
struct _test_info info[]
Definition: SetCursorPos.c:19
#define FILE_READ_DATA
Definition: nt_native.h:628
GLuint index
Definition: glext.h:6031
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
GLenum const GLvoid * addr
Definition: glext.h:9621
GLenum GLsizei len
Definition: glext.h:6722
NTSTATUS getInterfaceInfoByIndex(HANDLE tcpFile, DWORD index, IFInfo *info)
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by GetAdaptersInfo().

◆ getInterfacePhysicalByName()

DWORD getInterfacePhysicalByName ( const char name,
PDWORD  len,
PBYTE  addr,
PDWORD  type 
)

Definition at line 527 of file ifenum_reactos.c.

529 {
530  HANDLE tcpFile;
531  IFInfo info;
532  NTSTATUS status = openTcpFile( &tcpFile, FILE_READ_DATA );
533 
534  if( NT_SUCCESS(status) ) {
535  status = getInterfaceInfoByName( tcpFile, (char *)name, &info );
536  if( NT_SUCCESS(status) )
538  closeTcpFile( tcpFile );
539  }
540 
541  return status;
542 }
LONG NTSTATUS
Definition: precomp.h:26
void getInterfacePhysicalFromInfo(IFInfo *info, PDWORD len, PBYTE addr, PDWORD type)
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
struct _test_info info[]
Definition: SetCursorPos.c:19
NTSTATUS getInterfaceInfoByName(HANDLE tcpFile, char *name, IFInfo *info)
#define FILE_READ_DATA
Definition: nt_native.h:628
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
VOID closeTcpFile(HANDLE h)
Definition: handle.c:43
GLenum const GLvoid * addr
Definition: glext.h:9621
GLenum GLsizei len
Definition: glext.h:6722
NTSTATUS openTcpFile(PHANDLE tcpFile, ACCESS_MASK DesiredAccess)
Definition: handle.c:12
Definition: name.c:38
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

◆ getInterfaceStatusByIndex()

DWORD getInterfaceStatusByIndex ( DWORD  index,
PDWORD  status 
)

Definition at line 576 of file ifenum_reactos.c.

577 {
579  return STATUS_SUCCESS;
580 }
GLuint index
Definition: glext.h:6031
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
return STATUS_SUCCESS
Definition: btrfs.c:3014
Definition: ps.c:97

◆ getInterfaceStatusByName()

DWORD getInterfaceStatusByName ( const char name,
PDWORD  status 
)

Definition at line 571 of file ifenum_reactos.c.

571  {
572  *status = getAddrByIndexOrName( (char *)name, 0, IFStatus );
573  return STATUS_SUCCESS;
574 }
DWORD getAddrByIndexOrName(char *name, DWORD index, IPHLPAddrType addrType)
Definition: name.c:38
return STATUS_SUCCESS
Definition: btrfs.c:3014
Definition: ps.c:97

◆ getNonLoopbackInterfaceIndexTable()

InterfaceIndexTable* getNonLoopbackInterfaceIndexTable ( void  )

Definition at line 450 of file ifenum_reactos.c.

450  {
452 }
#define TRUE
Definition: types.h:120
InterfaceIndexTable * getInterfaceIndexTableInt(BOOL nonLoopbackOnly)

Referenced by GetAdaptersInfo(), and GetInterfaceInfo().

◆ getNumInterfaces()

DWORD getNumInterfaces ( void  )

Definition at line 263 of file ifenum_reactos.c.

264 {
265  return getNumInterfacesInt( FALSE );
266 }
static DWORD getNumInterfacesInt(BOOL onlyNonLoopback)

Referenced by GetIfTable(), GetIpAddrTable(), and GetNumberOfInterfaces().

◆ getNumNonLoopbackInterfaces()

DWORD getNumNonLoopbackInterfaces ( void  )

Definition at line 268 of file ifenum_reactos.c.

269 {
270  return getNumInterfacesInt( TRUE );
271 }
#define TRUE
Definition: types.h:120
static DWORD getNumInterfacesInt(BOOL onlyNonLoopback)

Referenced by GetAdaptersInfo(), and GetInterfaceInfo().

◆ interfaceMapFree()

void interfaceMapFree ( void  )

Definition at line 54 of file ifenum_reactos.c.

55 {
56  /* Ditto. */
57 }

Referenced by DllMain().

◆ interfaceMapInit()

void interfaceMapInit ( void  )

Definition at line 49 of file ifenum_reactos.c.

50 {
51  /* For now, nothing */
52 }

Referenced by DllMain().

◆ isLoopback()

BOOL isLoopback ( HANDLE  tcpFile,
TDIEntityID loop_maybe 
)

Definition at line 119 of file ifenum_reactos.c.

119  {
120  IFEntrySafelySized entryInfo;
122 
123  status = tdiGetMibForIfEntity( tcpFile,
124  loop_maybe,
125  &entryInfo );
126 
127  return NT_SUCCESS(status) &&
128  (entryInfo.ent.if_type == IFENT_SOFTWARE_LOOPBACK);
129 }
LONG NTSTATUS
Definition: precomp.h:26
ULONG if_type
Definition: tcpioctl.h:109
#define IFENT_SOFTWARE_LOOPBACK
NTSTATUS tdiGetMibForIfEntity(HANDLE tcpFile, TDIEntityID *ent, IFEntrySafelySized *entry)
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
static SERVICE_STATUS status
Definition: service.c:31
Definition: ps.c:97

Referenced by getInterfaceIndexTableInt(), and getNumInterfacesInt().

◆ toIPAddressString()

char* toIPAddressString ( unsigned int  addr,
char  string[16] 
)

Definition at line 630 of file ifenum_reactos.c.

631 {
632  struct in_addr iAddr;
633 
634  iAddr.s_addr = addr;
635 
636  if (string)
637  strncpy(string, inet_ntoa(iAddr), 16);
638 
639  return inet_ntoa(iAddr);
640 }
char * strncpy(char *DstString, const char *SrcString, ACPI_SIZE Count)
Definition: utclib.c:427
u32_t s_addr
Definition: inet.h:45
#define inet_ntoa(addr)
Definition: inet.h:100
Definition: tcpip.h:125
GLenum const GLvoid * addr
Definition: glext.h:9621

Referenced by GetAdaptersInfo().