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 transferencia al dispositivo de red
27 * @param len Cantidad de bytes a escribir
29 void netdev_write_start(byte len);
31 /** Escribe un byte al buffer de la placa de red para ser enviado
32 * @precond netdev_write_start() debe haber sido ejecutada
33 * @param b Byte a enviar
35 void netdev_write_byte(byte b);
37 /** Escribe un word al buffer de la placa de red para ser enviado
38 * @precond netdev_write_start() debe haber sido ejecutada
39 * @param w Word a enviar
41 void netdev_write_word(uint16 w);
43 /** Finaliza una transferencia al dispositivo de red
44 * @precond netdev_write_start() fue llamada y se ecribió la cantidad de bytes
45 * en ella especificada
47 void netdev_write_end();
49 /** Comienza la recepción de un nuevo frame
50 * @return Cantidad de bytes a recibir
52 byte netdev_recv_start();
54 /** Finaliza la lectura del frame
55 * @precond netdev_recv_start() debe haber sido ejecutada
57 void netdev_recv_end();
59 /** Comienza a leer bytes del dispositivo de red
60 * @param len Cantidad de bytes a leer
62 void netdev_read_start(byte len);
64 /** Lee un byte del buffer de la placa de red
65 * @precond netdev_recv_start() debe haber sido ejecutada
67 byte netdev_read_byte();
69 /** Lee un word del buffer de la placa de red
70 * @precond netdev_recv_start() debe haber sido ejecutada
72 uint16 netdev_read_word();
74 /** Finaliza la lectura del frame
75 * @precond netdev_recv_start() debe haber sido ejecutada
77 void netdev_read_end();