Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:software:homelab:library:module:ethernet [2013/07/01 13:59] heikopikneret:software:homelab:library:module:ethernet [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 48: Line 48:
  
  
-~~PB~~+<pagebreak>
  
 ===== Näide ===== ===== Näide =====
Line 56: Line 56:
 #include <homelab/module/ethernet.h> #include <homelab/module/ethernet.h>
  
-// Veebilehe koostamiseks eraldi funktsioon+// Veebilehe koostamiseks eraldi funktsioon
 uint16_t ethernet_load_webpage(uint8_t on_off); uint16_t ethernet_load_webpage(uint8_t on_off);
  
Line 77: Line 77:
 { {
   
- uint16_t pktlen; +    uint16_t pktlen; 
- char *str;  +    char *str;  
   
- // Etherneti initseerimine vastavalt etteantud aadressidele +    // Etherneti initseerimine vastavalt etteantud aadressidele 
- ethernet_init(mymac, myip); +    ethernet_init(mymac, myip);
                  
-        while(1) +    while(1) 
-+    
- // Võtab vastu pakette, kuni saab endale määratud andmetega paketi +        // Võtab vastu pakette, kuni saab endale määratud andmetega paketi 
-     pktlen=ethernet_get_packet(BUFFER_SIZE, buf);+        pktlen=ethernet_get_packet(BUFFER_SIZE, buf);
  
-        // Teeb paketi eeltöötluse ja vastab "ping" paketile. Tagastab paketi URL-i.+        // Teeb paketi eeltöötluse ja vastab "ping" paketile. Tagastab URL-i.
         gPlen=ethernet_analyse_packet(buf,pktlen);         gPlen=ethernet_analyse_packet(buf,pktlen);
  
- // Kui on URL-is on infot, siis hakkab seda analüüsima+        // Kui on URL-is on infot, siis hakkab seda analüüsima
         if (gPlen!=0)         if (gPlen!=0)
- {               +        {               
             // Laeb URL-i aadressiosa viita "str". Olgu veel öeldud, et              // Laeb URL-i aadressiosa viita "str". Olgu veel öeldud, et 
-     //URL-is on neli esimest kohta IP aadressi numbrid.       +            //URL-is on neli esimest kohta IP aadressi numbrid.       
             str = (char *)&(buf[gPlen+4]);             str = (char *)&(buf[gPlen+4]);
   
- // Otsib URL-ist stringi "/x"               +        // Otsib URL-ist stringi "/x"               
- if (strncmp("/x",str,2)==0) +        if (strncmp("/x",str,2)==0) 
- +        
-                         // Laeb veebilehe +            // Laeb veebilehe 
- gPlen = ethernet_load_webpage(0);              +            gPlen = ethernet_load_webpage(0);              
-                 }                                  +        }                                  
   
- // Kuva varem valmis laetud veebileht                 +        // Kuva varem valmis laetud veebileht                 
-                        ethernet_print_webpage (buf,gPlen);      +        ethernet_print_webpage (buf,gPlen);               
-             +        
- }+
     }     }
     return (0);     return (0);
Line 119: Line 118:
     uint16_t plen=0;      uint16_t plen=0; 
  
- // Laeb html koodi saatmiseks puhvrisse +    // Laeb html koodi saatmiseks puhvrisse 
- // Need suured stringid on salvestatud PSTR makro abil programmimälusse, +    // Need suured stringid on salvestatud PSTR makro abil programmimälusse, 
- // et mitte raisata liigselt töömälu.+    // et mitte raisata liigselt töömälu.
  
- // Laeb veebilehe päise +    // Laeb veebilehe päise 
-       plen=ethernet_load_data(buf,0,PSTR("HTTP/1.0 200 OK\r\nContent-Type:   text/html\r\nPragma: no-cache\r\n\r\n"));+    plen=ethernet_load_data 
 +    ( 
 +      buf, 
 +      0, 
 +      PSTR("HTTP/1.0 200 OK\r\nContent-Type:   text/html\r\nPragma: no-cache\r\n\r\n") 
 +    );
                
     // Laeb veebilehe sisu, milleks on tekst "Kodulabor"        // Laeb veebilehe sisu, milleks on tekst "Kodulabor"   
et/software/homelab/library/module/ethernet.1372676369.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0