* </pre>
*/
+/** Tamaño de la cabecera UDP */
+#define UDP_HEADER_SIZE 8
+
/** Puerto UDP nuestro */
extern uint16 udp_port_local;
/** Puerto UDP de destino */
extern uint16 udp_port_remote;
-/** Tamaño del datagrama UDP */
+/** Tamaño del payload del datagrama UDP (no soportamos más de 255) */
extern byte udp_dgram_len;
/** Lee la cabecera del datagrama UDP.
*/
bool udp_read_dgram_header();
-/** Recibe un word del payload UDP chequeando el checksum. */
-uint16 udp_read_word();
+/** Recibe un word del payload UDP chequeando el checksum.
+ * @precond Hay que llamar antes a netdev_read_start()
+ */
+byte udp_read_byte();
/* Indica si el checksum calculado está ok */
bool udp_checksum_ok();
*/
void udp_write_dgram_header();
-/** Escribe un word al payload UDP chequeando el checksum. */
-void udp_write_word(uint16 w);
+/** Escribe un word al payload UDP chequeando el checksum.
+ * @precond Hay que llamar antes a netdev_write_start()
+ */
+void udp_write_byte(byte b);
-/* Escribe el checksum calculado al frame a enviar */
-void udp_write_checksum();
+/* Escribe el checksum calculado al frame a enviar
+ * @param offset Offset a partir de donde están las cabeceras UDP.
+ */
+void udp_write_checksum(byte offset);
#endif /* _UDP_H_ */