|
|
@@ -177,7 +177,7 @@ int rt_setsockopt (SOCKET s, int level, int optname, void *optval, unsigned int
|
|
|
}
|
|
|
|
|
|
|
|
|
-int rt_sockioctl(SOCKET s, int cmd, uint32_t arg)
|
|
|
+int rt_sockioctl(SOCKET s, int cmd, uint64_t arg)
|
|
|
{
|
|
|
return ioctl(s, cmd, arg);
|
|
|
}
|
|
|
@@ -581,7 +581,7 @@ int rt_if_mac_get(int index, unsigned char *mac)
|
|
|
ifr.ifr_name[IFNAMSIZ - 1] = 0;
|
|
|
|
|
|
//获取Mac地址
|
|
|
- ret = ioctl(sock,SIOCGIFHWADDR,(uint32_t)&ifr);
|
|
|
+ ret = ioctl(sock,SIOCGIFHWADDR,(uint64_t)&ifr);
|
|
|
if( ret < 0)
|
|
|
{
|
|
|
// rt_printf("Not setup SIOCGIFHWADDR(ret=%d)\n",ret);
|
|
|
@@ -678,7 +678,7 @@ int rt_if_ip_get(int index, unsigned char *ip)
|
|
|
memset(&ifr,0,sizeof(ifr));
|
|
|
strcpy(ifr.ifr_name,g_if_name[index]);
|
|
|
|
|
|
- if(rt_sockioctl(sock,SIOCGIFADDR,(uint32_t)&ifr) != 0)
|
|
|
+ if(rt_sockioctl(sock,SIOCGIFADDR,(uint64_t)&ifr) != 0)
|
|
|
{
|
|
|
rt_socket_close(sock);
|
|
|
return -1;
|
|
|
@@ -768,7 +768,7 @@ int rt_if_mask_get(int index, unsigned char *mask)
|
|
|
memset(&ifr,0,sizeof(ifr));
|
|
|
strcpy(ifr.ifr_name,g_if_name[index]);
|
|
|
|
|
|
- if(rt_sockioctl(sock,SIOCGIFNETMASK,(uint32_t)&ifr) != 0)
|
|
|
+ if(rt_sockioctl(sock,SIOCGIFNETMASK,(uint64_t)&ifr) != 0)
|
|
|
{
|
|
|
rt_socket_close(sock);
|
|
|
return -1;
|
|
|
@@ -838,7 +838,7 @@ int rt_route_add(int index,unsigned char * destination,unsigned char *gateway)
|
|
|
((struct sockaddr_in *) &rt.rt_genmask)->sin_family = AF_INET;
|
|
|
((struct sockaddr_in *) &rt.rt_genmask)->sin_addr.s_addr = 0 ;
|
|
|
|
|
|
- if( -1 == ioctl(sock,SIOCADDRT,(uint32_t)&rt))
|
|
|
+ if( -1 == ioctl(sock,SIOCADDRT,(uint64_t)&rt))
|
|
|
{
|
|
|
rt_printf("rt_route_add fail");
|
|
|
close(sock);
|
|
|
@@ -905,7 +905,7 @@ int rt_route_del(int index,unsigned char * destination,unsigned char *gateway)
|
|
|
((struct sockaddr_in *) &rt.rt_genmask)->sin_family = AF_INET;
|
|
|
((struct sockaddr_in *) &rt.rt_genmask)->sin_addr.s_addr = 0 ;
|
|
|
|
|
|
- if( -1 == ioctl(sock,SIOCDELRT,(uint32_t)&rt))
|
|
|
+ if( -1 == ioctl(sock,SIOCDELRT,(uint64_t)&rt))
|
|
|
{
|
|
|
rt_printf("rt_route_del fail");
|
|
|
close(sock);
|
|
|
@@ -1029,7 +1029,7 @@ int rt_get_net_linkstatus(int if_index)
|
|
|
/* Get the vitals from the interface. */
|
|
|
strncpy(ifr.ifr_name, g_if_name[if_index], IFNAMSIZ);
|
|
|
|
|
|
- if (ioctl(skfd, SIOCGMIIPHY, (uint32_t)&ifr) < 0)
|
|
|
+ if (ioctl(skfd, SIOCGMIIPHY, (uint64_t)&ifr) < 0)
|
|
|
{
|
|
|
rt_printf( "SIOCGMIIPHY on %s failed!\n", ifr.ifr_name);
|
|
|
close(skfd);
|
|
|
@@ -1040,7 +1040,7 @@ int rt_get_net_linkstatus(int if_index)
|
|
|
phy_id = data[0];
|
|
|
data[1] = 1;
|
|
|
|
|
|
- if (ioctl(skfd, SIOCGMIIREG, (uint32_t)&ifr) < 0)
|
|
|
+ if (ioctl(skfd, SIOCGMIIREG, (uint64_t)&ifr) < 0)
|
|
|
{
|
|
|
rt_printf( "SIOCGMIIREG on %s failed!\n", ifr.ifr_name);
|
|
|
close(skfd);
|
|
|
@@ -1067,7 +1067,9 @@ int rt_get_netcard_id_from_socket(SOCKET s)
|
|
|
|
|
|
|
|
|
rt_getsockname(s, (struct sockaddr *)&local_addr, &len);
|
|
|
-
|
|
|
+ // 此处需转换,否则匹配不到对应ip
|
|
|
+ local_addr.sin_addr.s_addr = ntohl(local_addr.sin_addr.s_addr);
|
|
|
+
|
|
|
index = -1;
|
|
|
for(i=0;i<g_net_num;i++)
|
|
|
{
|
|
|
@@ -1235,7 +1237,7 @@ int rt_if_ip_get2(int eth_id, int index, unsigned char *ip)
|
|
|
memset(&ifr,0,sizeof(ifr));
|
|
|
strcpy(ifr.ifr_name,buf);
|
|
|
|
|
|
- if(rt_sockioctl(sock,SIOCGIFADDR,(uint32_t)&ifr) != 0)
|
|
|
+ if(rt_sockioctl(sock,SIOCGIFADDR,(uint64_t)&ifr) != 0)
|
|
|
{
|
|
|
rt_socket_close(sock);
|
|
|
return -1;
|