[Winpcap-users] Problems with modifying pcap-win32.c to support our
device
Varuna De Silva
varunax at gmail.com
Thu Sep 13 06:34:27 GMT 2007
Hi,
We need to add support for our device in libpcap, it is a USB device with a
custom driver.
- I am in the Windows platform & Working with VS2005 (C++)
- I have downloaded WinPcap and compiled the packet.dll (Though not
used) and then wpcap.dll from source successfully
- The build configuration is Debug_REMOTE
As I was previously educated I wrote my own program with including
pcap.hand other
necessary headers for the driver. Within it I gave my device the name
"usb_ss7_if".
And next I want to call the pcap_open_live() in libpcap.
What I did In my program
I wrote my own program usb.c in VS2005 in a new project.
This had the initialization of the device name and I called
pcap_open_live().
I linked the wpcap.lib (and other necessary libraries for the driver) in
winpcap\wpcap\LIB which is refreshed every time I build wpcap entire
solution
What I did to Pcap-win32.c
- I changed the project properties to include my own preprocesser
directive HAVE_USBSS7_API in project window
- I changed the pcap_open_live() in this c file as below
pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char
*ebuf)
{
register pcap_t *p;
NetType type;
#ifdef HAVE_REMOTE
char host[PCAP_BUF_SIZE + 1];
char port[PCAP_BUF_SIZE + 1];
char name[PCAP_BUF_SIZE + 1];
int srctype;
#ifdef HAVE_USBSS7_API
printf("I am inside the Win32 \n");
return NULL;
#endif
..............................................continued....
I added my piece of code inside the HAVE_REMOTE because I am using that
build configuration.
I just want to know when I call pcap_open_live to which program does it get
called which has that
routine (In windows)
I know that the routine gets called since I get an error message when I call
pcap_open_live(),
But I doubt if it is the routine in Pcap-win32.c
The error message
Error opening adapter: The system cannot find the device specified. (20)
In seeing this message I just changed the occurrence of this statement in
pcap-win32.c
if (p->adapter == NULL)
{
free(p);
/* Adapter detected but we are not able to open it. Return failure.
*/
snprintf(ebuf, PCAP_ERRBUF_SIZE, "Error opening adapter ss7_usb:
%s", pcap_win32strerror());
return NULL;
}
Just to see if it works .... Unfortunately not:-) the error message stays
the same
The error message is alright cause I have done nothing to open the device,
But I want to know from where I get this message. Is it not the
Pcap-win32.c in winpcap\libpcap
Does Pcap-win32.c.orig has anything to do with it ? I didnt mingled with it
since that is not is the project tree.
Please Help me out with this....
I have no way out from here!
Thank you all
Xavier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winpcap.org/pipermail/winpcap-users/attachments/20070913/9fc53469/attachment.html
More information about the Winpcap-users
mailing list