extern void* memcpy(void *dst, const void* src, int n);
 
 
-int Packet_Received(struct NE2K_Packet_Info* info, uchar_t *pkt) ;
+int Packet_Received(struct NE2K_Packet_Info* info, uchar_t *pkt);
 
 void init_network() {
    int i = 0;
       sockets[i].recv_buf = NULL;
    }
 
+
     //initiate uIP
     uip_init();
     uip_arp_init();
     Init_Ne2k(&Packet_Received);
 
 
+
 }
 
 static int allocate_socket_fd() {
   
   sockets[sockfd].con = uip_connect((uip_ipaddr_t *)&ip_addr, htons(port));
 
+
   if (sockets[sockfd].con == NULL){
-       release_socket_fd(sockfd);
-       return -1;
+    release_socket_fd(sockfd);
+    return -1;
   }
 
   return sockfd;
 
   struct socket *sock = get_socket_from_fd(sockfd);
 
+
   // here we need some lock mechnism, just disable interrupt may not work properly because recv() will be run as a kernel thread 
 buf_read:
   recvlen = rb_read(sock->recv_buf, buf, len);
 static int  get_socket_from_port(ushort_t lport) {
   int i;
   
-  for (i = 0; i<MAX_SOCKS; i++){
-       if (sockets[i].con->lport == lport) 
-               return i;
+
+  for (i = 0; i < MAX_SOCKS; i++){
+    if (sockets[i].con->lport == lport) {
+      return i;
+    }
   }
   
   return -1;
 }
 
 
-void
-socket_appcall(void)
-{
-  int sockfd; 
 
+void socket_appcall(void) {
+
+  int sockfd; 
+  
   sockfd = get_socket_from_port(uip_conn->lport);
 
-  if (sockfd == -1) return;
-    
-  if(uip_connected()) {
-       connected(sockfd);
+  
+  if (sockfd == -1) {
+    return;
+  }
+
+  if (uip_connected()) {
+    connected(sockfd);
+
   }
   
-  if(uip_closed() ||uip_aborted() ||uip_timedout()) {
+  if (uip_closed() ||uip_aborted() ||uip_timedout()) {
      closed(sockfd);
      return;
   }
   
-  if(uip_acked()) {
+  if (uip_acked()) {
      acked(sockfd);
   }
   
-  if(uip_newdata()) {
+  if (uip_newdata()) {
      newdata(sockfd);
   }
   
-  if(uip_rexmit() ||
-     uip_newdata() ||
-     uip_acked() ||
-     uip_connected() ||
-     uip_poll()) {
-     senddata(sockfd);
+  if (uip_rexmit() ||
+      uip_newdata() ||
+      uip_acked() ||
+      uip_connected() ||
+      uip_poll()) {
+    senddata(sockfd);
   }
 }
 
 
 
-int Packet_Received(struct NE2K_Packet_Info* info, uchar_t *pkt) 
-{
-         uip_len = info->size; 
-         
-         //  for (i = 0; i < info->size; i++) {
-         //  uip_buf[i] = *(pkt + i);
-         //}
-
-         memcpy(uip_buf, pkt, uip_len);
-         Free(pkt);
-         if(BUF->type == htons(UIP_ETHTYPE_ARP)) {
-               uip_arp_arpin();
-               if (uip_len > 0){
-                       //ethernet_devicedriver_send();
-                       NE2K_Transmit(uip_len);
-               }                                       
-          } else {
-               uip_arp_ipin();
-               uip_input();
-               if(uip_len > 0) {
-                      uip_arp_out();
-                    //ethernet_devicedriver_send();
-                       NE2K_Transmit(uip_len);
-              }
-       }                         
-         return 0;
+
+int Packet_Received(struct NE2K_Packet_Info * info, uchar_t * pkt) {
+  //int i;
+  
+  uip_len = info->size; 
+
+  //  for (i = 0; i < info->size; i++) {
+  //  uip_buf[i] = *(pkt + i);
+  //}
+
+  memcpy(uip_buf, pkt, uip_len);
+
+
+  Free(pkt);
+
+  if (BUF->type == htons(UIP_ETHTYPE_ARP)) {
+    uip_arp_arpin();
+
+    if (uip_len > 0) {
+      NE2K_Transmit(uip_len);
+    }                                  
+
+  } else {
+
+    uip_arp_ipin();
+    uip_input();
+
+    if (uip_len > 0) {
+      uip_arp_out();
+      NE2K_Transmit(uip_len);
+    }
+  }
+                         
+  return 0;
+
 }