X-Git-Url: https://git.llucax.com/z.facultad/66.09/etherled.git/blobdiff_plain/184461d7b468cd81882a29e292b6f7a9822b50d8..d6c5f7cf0e7f53c9251477b092e8b208a313e928:/src/netdev.h?ds=sidebyside diff --git a/src/netdev.h b/src/netdev.h index e824666..27bbb3b 100644 --- a/src/netdev.h +++ b/src/netdev.h @@ -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_