Specifically, the Microsoft Platform SDK. Installing Visual Studio is not sufficient, you must install the MS Platform SDK as well.
----- Original Message ----- From: "Murugappan Viswanath" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, August 19, 2002 12:17 AM Subject: RE: [WinPcap-users] no one 2 help: MAC and IP > its there as a part of Microsoft SDK > > M.Viswanath > i labs > 0606 & 0608, Tidel Park, Chennai 600 113. > * 2540220 Ext.2006 > * MOBILE : 9840066012 > http://www.i-labs.ws > > > -----Original Message----- > From: Nitesh Gupta [mailto:[EMAIL PROTECTED]] > Sent: Monday, August 19, 2002 9:40 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Re: [WinPcap-users] no one 2 help: MAC and IP > > > where can I find IPHlpApi.h and DLL > > Thanks, > Nitesh > > --- nergim <[EMAIL PROTECTED]> wrote: > > Ok, good luck > > > > #include <Packet32.h> > > #include <IPHlpApi.h> > > > > typedef struct { > > char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]; > > char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + > > 4]; > > char Mac[15]; > > char ip_addr[17]; > > char protocol[32]; > > IP_ADDR_STRING addresses; > > LPADAPTER LPA; > > NetType nett; > > struct bpf_stat stats; > > char *buffer; // Packet buffer > > LPPACKET lpp; > > HANDLE hthread; > > int processed; > > int terminate; > > int fragc; > > } e_adapter; > > typedef struct { > > int AdapterCount; > > e_adapter adapters[1]; > > } e_adapters; > > e_adapters *GetAdapters(void) { > > int i; > > ULONG ulOutBufLen; > > DWORD dwRetVal; > > int AdapterCount = 0; > > e_adapters *adapters = NULL; > > FIXED_INFO *FixedInfo; > > PIP_ADAPTER_INFO pip, pIPAda; > > PIP_ADDR_STRING adr, adr2; > > FixedInfo = (FIXED_INFO *) GlobalAlloc( GPTR, > > sizeof( FIXED_INFO ) ); > > ulOutBufLen = sizeof( FIXED_INFO ); > > > > if( ERROR_BUFFER_OVERFLOW == GetNetworkParams( > > FixedInfo, &ulOutBufLen ) ) > > { > > GlobalFree( FixedInfo ); > > FixedInfo = GlobalAlloc( GPTR, ulOutBufLen ); > > } > > if ( dwRetVal = GetNetworkParams( FixedInfo, > > &ulOutBufLen ) ) { > > GlobalFree( FixedInfo ); > > return NULL; > > } > > if (GetAdaptersInfo(NULL, &ulOutBufLen) != > > ERROR_BUFFER_OVERFLOW) { > > GlobalFree( FixedInfo ); > > return NULL; > > } > > pIPAda = calloc(1, ulOutBufLen); > > if (GetAdaptersInfo(pIPAda, &ulOutBufLen) != > > ERROR_SUCCESS) { > > GlobalFree( FixedInfo ); > > free(pIPAda); > > return NULL; > > } > > AdapterCount = 0; > > for (pip = pIPAda; pip; pip = pip->Next) > > AdapterCount++; > > > > adapters = calloc(1, > > sizeof(e_adapters) > > +(AdapterCount-1)*sizeof(e_adapter) > > ); > > if (!adapters) > > return NULL; > > adapters->AdapterCount = AdapterCount; > > for (pip = pIPAda, i=0; i < AdapterCount; i++, > > pip=pip->Next) { > > LPADAPTER LPA; > > sprintf( > > adapters->adapters[i].AdapterName, > > "\\Device\\Packet_%s", > > pip->AdapterName > > ); > > adapters->adapters[i].addresses = > > pip->IpAddressList; > > for (adr = &adapters->adapters[i].addresses; adr; > > ) { > > if (adr2 = adr->Next) { > > adr->Next = calloc(sizeof(*adr), 1); > > memcpy(adr->Next, adr2, sizeof(*adr)); > > adr = adr->Next; > > } else > > break; > > } > > sprintf( > > adapters->adapters[i].ip_addr, > > "%s", > > pip->IpAddressList.IpAddress.String > > ); > > > > strcpy(adapters->adapters[i].Description, > > pip->Description); > > prmacaddr(adapters->adapters[i].Mac, > > pip->Address); > > LPA = adapters->adapters[i].LPA = > > > PacketOpenAdapter(adapters->adapters[i].AdapterName); > > if (!LPA || (LPA->hFile == INVALID_HANDLE_VALUE)) > > { > > adapters->adapters[i].LPA = NULL; > > } > > else { > > PacketSetHwFilter(LPA, > > NDIS_PACKET_TYPE_PROMISCUOUS > > ); > > PacketGetNetType(LPA, > > &adapters->adapters[i].nett); > > strcpy(adapters->adapters[i].protocol, > > nettypes[adapters->adapters[i].nett.LinkType]); > > } > > } > > GlobalFree( FixedInfo ); > > free(pIPAda); > > return adapters; > > } > > > > > > > __________________________________________________ > Do You Yahoo!? > HotJobs - Search Thousands of New Jobs > http://www.hotjobs.com
