Main Page | Directories | File List | Globals

frb.c File Reference

#include <agnix/agnix.h>
#include <agnix/net/net.h>
#include <agnix/memory.h>

Include dependency graph for frb.c:

Go to the source code of this file.

Defines

#define MOD_NAME   "NET: "

Functions

u8 * frb_data (struct frb_s *frb)
u8 * frb_push (struct frb_s *frb, int size)
u8 * frb_pop (struct frb_s *frb, int size)
int frb_create (struct frb_s *frb)
int frb_destroy (struct frb_s *frb)
int frb_reverse (struct frb_s *frb)


Define Documentation

#define MOD_NAME   "NET: "
 

Definition at line 18 of file frb.c.


Function Documentation

int frb_create struct frb_s *  frb  ) 
 

Definition at line 43 of file frb.c.

References get_free_pages().

Referenced by arp_reply(), and arp_request().

00044 {
00045     frb->frb_len     = 0;
00046     frb->frb_offset  = 0;
00047     frb->frb_data    = (u8 *)get_free_pages(0);
00048     
00049     return 0;
00050 }

Here is the call graph for this function:

u8* frb_data struct frb_s *  frb  ) 
 

Definition at line 20 of file frb.c.

Referenced by arp_recv(), arp_recv_request_lock(), eth_header_parse(), frb_pop(), frb_push(), ip_recv(), and rtl_8029_send_frame().

00021 {
00022     return (frb->frb_data + frb->frb_offset);
00023 }

int frb_destroy struct frb_s *  frb  ) 
 

Definition at line 52 of file frb.c.

References put_free_pages().

Referenced by arp_reply(), and arp_request().

00053 {
00054     put_free_pages((u32)frb->frb_data, 0);
00055     
00056     return 0;
00057 }

Here is the call graph for this function:

u8* frb_pop struct frb_s *  frb,
int  size
 

Definition at line 32 of file frb.c.

References frb_data().

Referenced by arp_header_build(), and eth_header_build().

00033 {
00034     if (frb->frb_offset < size)
00035         return NULL;
00036         
00037     frb->frb_offset -= size;
00038     frb->frb_len    += size;
00039     
00040     return frb_data(frb);
00041 }

Here is the call graph for this function:

u8* frb_push struct frb_s *  frb,
int  size
 

Definition at line 25 of file frb.c.

References frb_data().

Referenced by eth_header_parse().

00026 {
00027     frb->frb_offset += size;
00028     
00029     return frb_data(frb);
00030 }

Here is the call graph for this function:

int frb_reverse struct frb_s *  frb  ) 
 

Definition at line 59 of file frb.c.

Referenced by arp_reply(), and arp_request().

00060 {
00061     frb->frb_offset = 1000;
00062     
00063     return 0;
00064 }

Dokumentacje wygenerowano programem Doxygen 1.4.2 dla projektu Agnix