Adapter: some info display.
Socket: implemented send and recv.
Modified: trunk/reactos/subsys/system/dhcp/adapter.c
Modified: trunk/reactos/subsys/system/dhcp/socket.c
_____
Modified: trunk/reactos/subsys/system/dhcp/adapter.c
--- trunk/reactos/subsys/system/dhcp/adapter.c 2005-04-08 11:04:13 UTC
(rev 14543)
+++ trunk/reactos/subsys/system/dhcp/adapter.c 2005-04-08 11:08:26 UTC
(rev 14544)
@@ -91,7 +91,9 @@
Adapter->DhclientConfig.retry_interval;
strncpy(Adapter->DhclientInfo.name, Adapter->IfMib.bDescr,
sizeof(Adapter->DhclientInfo.name));
- DH_DbgPrint(MID_TRACE,("Adapter Name: [%s]\n",
Adapter->DhclientInfo.name));
+ DH_DbgPrint(MID_TRACE,("Adapter Name: [%s] (Bind Status
%x)\n",
+ Adapter->DhclientInfo.name,
+ Adapter->BindStatus));
ifi = &Adapter->DhclientInfo;
}
}
@@ -156,6 +158,7 @@
}
void if_register_send(struct interface_info *ip) {
+
}
void if_register_receive(struct interface_info *ip) {
_____
Modified: trunk/reactos/subsys/system/dhcp/socket.c
--- trunk/reactos/subsys/system/dhcp/socket.c 2005-04-08 11:04:13 UTC
(rev 14543)
+++ trunk/reactos/subsys/system/dhcp/socket.c 2005-04-08 11:08:26 UTC
(rev 14544)
@@ -12,7 +12,18 @@
struct in_addr addr,
struct sockaddr_in *broadcast,
struct hardware *hardware ) {
- return 0;
+ int result =
+ sendto( ip->wfdesc, (char *)p, size, 0,
+ (struct sockaddr *)broadcast, sizeof(*broadcast) );
+
+ if (result < 0) {
+ note ("send_packet: %x", result);
+ if (result == WSAENETUNREACH)
+ note ("send_packet: please consult README file%s",
+ " regarding broadcast address.");
+ }
+
+ return result;
}
ssize_t receive_packet(struct interface_info *ip,
@@ -20,5 +31,9 @@
size_t packet_len,
struct sockaddr_in *dest,
struct hardware *hardware ) {
- return 0;
+ int recv_addr_size = sizeof(*dest);
+ int result =
+ recvfrom (ip -> rfdesc, (char *)packet_data, packet_len, 0,
+ (struct sockaddr *)dest, &recv_addr_size );
+ return result;
}
Show replies by date