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;
 }