]> Joshua Wise's Git repositories - netwatch.git/blobdiff - net/net.c
Add httpd.
[netwatch.git] / net / net.c
index 9d99342a48a6c9f3dd46aa7f340c17c88e0976c1..8390f044e09c46640f4b1d478eb0f8783b96b28d 100644 (file)
--- a/net/net.c
+++ b/net/net.c
@@ -13,6 +13,8 @@
 #include "lwip/sys.h"
 #include <lwip/stats.h>
 #include <lwip/snmp.h>
 #include "lwip/sys.h"
 #include <lwip/stats.h>
 #include <lwip/snmp.h>
+#include <lwip/dhcp.h>
+#include <lwip/tcp.h>
 #include "netif/etharp.h"
 #include "netif/ppp_oe.h"
 
 #include "netif/etharp.h"
 #include "netif/ppp_oe.h"
 
@@ -28,11 +30,20 @@ void eth_poll()
        struct pbuf *p, *q;
        struct eth_hdr *ethhdr;
        int pos = 0;
        struct pbuf *p, *q;
        struct eth_hdr *ethhdr;
        int pos = 0;
+       static int ticks = 0;
        
        if (!_nic)
                return;
        
        smram_tseg_set_state(SMRAM_TSEG_OPEN);
        
        if (!_nic)
                return;
        
        smram_tseg_set_state(SMRAM_TSEG_OPEN);
+       
+       if ((ticks % 1000) == 0)        /* About a minute */
+               dhcp_coarse_tmr();
+       if ((ticks % 8) == 0)   /* About 500msec*/
+               dhcp_fine_tmr();
+       if ((ticks % 4) == 0)   /* About 250msec*/
+               tcp_tmr();
+       ticks++;
 
        if (!_nic->poll(_nic, 0))
                return;
 
        if (!_nic->poll(_nic, 0))
                return;
@@ -129,21 +140,25 @@ static err_t _init(struct netif *netif)
 
 int eth_register(struct nic *nic)
 {
 
 int eth_register(struct nic *nic)
 {
-       static struct ip_addr ipa = { 0x2dba0280 } , netmask = { 0xF0FFFFFF } , gw = { 0x2eba0280 };
+       static struct ip_addr ipa = { 0 } , netmask = { 0 } , gw = { 0 };
        
        if (_nic)
                return -1;
        netif_add(&_netif, &ipa, &netmask, &gw, (void*)nic, _init, ethernet_input);
        netif_set_default(&_netif);
        netif_set_up(&_netif);
        
        if (_nic)
                return -1;
        netif_add(&_netif, &ipa, &netmask, &gw, (void*)nic, _init, ethernet_input);
        netif_set_default(&_netif);
        netif_set_up(&_netif);
+       dhcp_start(&_netif);
        _nic = nic;
        return 0;
 }
 
 void eth_init()
 {
        _nic = nic;
        return 0;
 }
 
 void eth_init()
 {
+       extern void httpd_init();
+       
        /* Required for DMA to work. :( */
        smram_tseg_set_state(SMRAM_TSEG_OPEN);
        lwip_init();
        pci_probe_driver(a3c90x_driver);
        /* Required for DMA to work. :( */
        smram_tseg_set_state(SMRAM_TSEG_OPEN);
        lwip_init();
        pci_probe_driver(a3c90x_driver);
+       httpd_init();
 }
 }
This page took 0.021043 seconds and 4 git commands to generate.