]> git.llucax.com Git - z.facultad/66.09/etherled.git/blobdiff - src/netdev.h
Implementado el checksum de UDP, tanto para paquetes recibidos como para
[z.facultad/66.09/etherled.git] / src / netdev.h
index e8246661b5a02021b7b824cb79e3aa76c9d06d26..27bbb3bb86be1ce3d51dc5f982d5f00e2ce56f6b 100644 (file)
@@ -13,46 +13,74 @@ extern byte netdev_len;
  */
 bool netdev_init();
 
-/** Comienza el envío de un nuevo frame
- * @param len Tamaño del frame a enviar
- */
+/** Comienza el envío de un nuevo frame */
 void netdev_send_start();
 
-/** Escribe un byte al buffer de la placa de red para ser enviado
+/** Finaliza el envío del frame
  * @precond netdev_send_start() debe haber sido ejecutada
+ * @precond se copiaron datos al dispositivo para enviar
+ * @param len Cantidad de bytes a transmitir
+ */
+void netdev_send_end(byte len);
+
+/** Comienza una escritura a los buffers del dispositivo de red
+ * @param len Cantidad de bytes a escribir
+ */
+void netdev_write_start(byte len);
+
+/** Comienza una escritura a los buffers del dispositivo de red a partir de un
+ * offset dado. 
+ * @param offset Offset en donde comenzar a escribir
+ * @param len Cantidad de bytes a escribir
+ */
+void netdev_write_start_at(byte offset, byte len);
+
+/** Escribe un byte al buffer de la placa de red para ser enviado
+ * @precond netdev_write_start() debe haber sido ejecutada
  * @param b Byte a enviar
  */
-void netdev_send_byte(byte b);
+void netdev_write_byte(byte b);
 
 /** Escribe un word al buffer de la placa de red para ser enviado
- * @precond netdev_send_start() debe haber sido ejecutada
+ * @precond netdev_write_start() debe haber sido ejecutada
  * @param w Word a enviar
  */
-void netdev_send_word(uint16 w);
+void netdev_write_word(uint16 w);
 
-/** Finaliza el envío del frame
- * @precond netdev_send_start() debe haber sido ejecutada
+/** Finaliza una transferencia al dispositivo de red
+ * @precond netdev_write_start() fue llamada y se ecribió la cantidad de bytes
+ *          en ella especificada
+ */
+void netdev_write_end();
+
+/** Comienza la recepción de un nuevo frame
+ * @return Cantidad de bytes a recibir
+ */
+byte netdev_recv_start();
+
+/** Finaliza la lectura del frame
+ * @precond netdev_recv_start() debe haber sido ejecutada
  */
-void netdev_send_end();
+void netdev_recv_end();
 
-/** Comienza la lectura de un nuevo frame
- * @postcond Deja en netdev_len el tamaño del frame recibido
+/** Comienza a leer bytes del dispositivo de red
+ * @param len Cantidad de bytes a leer
  */
-void netdev_recv_start();
+void netdev_read_start(byte len);
 
 /** Lee un byte del buffer de la placa de red
  * @precond netdev_recv_start() debe haber sido ejecutada
  */
-byte netdev_recv_byte();
+byte netdev_read_byte();
 
 /** Lee un word del buffer de la placa de red
  * @precond netdev_recv_start() debe haber sido ejecutada
  */
-uint16 netdev_recv_word();
+uint16 netdev_read_word();
 
 /** Finaliza la lectura del frame
  * @precond netdev_recv_start() debe haber sido ejecutada
  */
-void netdev_recv_end();
+void netdev_read_end();
 
 #endif // _NETDEV_H_