#include "includes.h"
Funciones | |
void | eth_generate_header (BYTE *rxtx_buffer, WORD_BYTES type, BYTE *dest_mac) |
Genera el encabezado ethernet Rellena MAC de destino y origen y campo Length/Type. | |
WORD | software_checksum (BYTE *rxtx_buffer, WORD len, DWORD sum) |
Implementa el calculo de checksum En realidad no es estrictamente necesario que se encuentre aqui y no en un archivo auxiliar. |
No encapsula al ENC ya que para enviar/recibir cualquier paquete sobre ethernet, se tiene que hacer referencia directa a ENC28J60_send_packet
TODO: agregar funcion eth_send_packet
void eth_generate_header | ( | BYTE * | rxtx_buffer, | |
WORD_BYTES | type, | |||
BYTE * | dest_mac | |||
) |
Genera el encabezado ethernet
Rellena MAC de destino y origen y campo Length/Type.
rxtx_buffer | el buffer donde esta el paquete al que se le colocara el header. | |
type | tipo de paquete Ethernet | |
dest_mac | MAC de destino |
Implementa el calculo de checksum
En realidad no es estrictamente necesario que se encuentre aqui y no en un archivo auxiliar.
Se calcula como el complemento a 1 de la suma de los complementos a 1 de todas las palabras de 16 bits de la cabecera.
rxtx_buffer | el buffer donde esta el paquete a realizar checksum. | |
len | largo de campos a tener en cuenta | |
sum | posicion donde comienzan datos a tener en cuenta |