1 // vim: set et sw=4 sts=4 :
8 /** Tamaño del frame */
9 extern byte netdev_len;
11 /** Inicializa dispositivo de red
12 * @return true si se inicializó correctamente, false si no
16 /** Comienza el envío de un nuevo frame */
17 void netdev_send_start();
19 /** Finaliza el envío del frame
20 * @precond netdev_send_start() debe haber sido ejecutada
21 * @precond se copiaron datos al dispositivo para enviar
22 * @param len Cantidad de bytes a transmitir
24 void netdev_send_end(byte len);
26 /** Comienza una escritura a los buffers del dispositivo de red
27 * @param len Cantidad de bytes a escribir
29 void netdev_write_start(byte len);
31 /** Comienza una escritura a los buffers del dispositivo de red a partir de un
33 * @param offset Offset en donde comenzar a escribir
34 * @param len Cantidad de bytes a escribir
36 void netdev_write_start_at(byte offset, byte len);
38 /** Escribe un byte al buffer de la placa de red para ser enviado
39 * @precond netdev_write_start() debe haber sido ejecutada
40 * @param b Byte a enviar
42 void netdev_write_byte(byte b);
44 /** Escribe un word al buffer de la placa de red para ser enviado
45 * @precond netdev_write_start() debe haber sido ejecutada
46 * @param w Word a enviar
48 void netdev_write_word(uint16 w);
50 /** Finaliza una transferencia al dispositivo de red
51 * @precond netdev_write_start() fue llamada y se ecribió la cantidad de bytes
52 * en ella especificada
54 void netdev_write_end();
56 /** Comienza la recepción de un nuevo frame
57 * @return Cantidad de bytes a recibir
59 byte netdev_recv_start();
61 /** Finaliza la lectura del frame
62 * @precond netdev_recv_start() debe haber sido ejecutada
64 void netdev_recv_end();
66 /** Comienza a leer bytes del dispositivo de red
67 * @param len Cantidad de bytes a leer
69 void netdev_read_start(byte len);
71 /** Lee un byte del buffer de la placa de red
72 * @precond netdev_recv_start() debe haber sido ejecutada
74 byte netdev_read_byte();
76 /** Lee un word del buffer de la placa de red
77 * @precond netdev_recv_start() debe haber sido ejecutada
79 uint16 netdev_read_word();
81 /** Finaliza la lectura del frame
82 * @precond netdev_recv_start() debe haber sido ejecutada
84 void netdev_read_end();