]> git.llucax.com Git - z.facultad/66.09/etherled.git/blobdiff - src/netdev.h
Agrego ejemplo de los leds andando escrito en ASM para sdcc. Falta hacer el .h
[z.facultad/66.09/etherled.git] / src / netdev.h
index 635432b7099ad19c2f9935ecb439687f74dc6a3d..27bbb3bb86be1ce3d51dc5f982d5f00e2ce56f6b 100644 (file)
@@ -5,51 +5,82 @@
 
 #include "types.h"
 
+/** Tamaño del frame */
+extern byte netdev_len;
+
 /** Inicializa dispositivo de red
  * @return true si se inicializó correctamente, false si no
  */
 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_send_end();
+void netdev_write_end();
 
-/** Comienza la lectura de un nuevo frame
- * @return Cantidad de bytes del frame leído
+/** 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_recv_end();
+
+/** Comienza a leer bytes del dispositivo de red
+ * @param len Cantidad de bytes a leer
+ */
+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_