我想用代码中使用的pcap循环添加mysql连接
MYSQL *con;
u_char *my_arguments = con;
pcap_loop(handle, total_packet_count, my_packet_handler, my_arguments);
但是它给出了错误
警告:从不兼容的指针类型初始化 [-Wincompatible-pointer-types] u_char * my_arguments = con; ^ ~~
所以我需要什么帮助?
当我直接将con的值放入pcap_loop(handle,total_packet_count,my_packet_handler,con)之类的pcap循环中时;它显示了新错误
错误是
从不兼容的指针类型传递“ pcap_loop”的参数4 [-Wincompatible-pointer-types] pcap_loop(handle,total_packet_count,my_packet_handler,con);
注意:预期为“ u_char * {aka unsigned char *}”,但参数的类型为“ MYSQL * {aka struct st_mysql *}” PCAP_API int pcap_loop(pcap_t *,int,pcap_handler,u_char *);
但我希望将其推入pcap循环
答案 0 :(得分:0)
pcap_loop()
,pcap_dispatch()
的“用户”参数以及回调应该应该被定义为void *
,因为它是指向回调可以理解的一些任意数据,但是将其定义为u_char *
。
因此,您应该将MYSQL *
强制转换为u_char *
:
pcap_loop(handle, total_packet_count, my_packet_handler, (u_char *)con);