/**
* \file
- * Copyright (C) 2003,2004 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ * <!--
+ * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/)
+ * This file is part of DevLib - See README.devlib for information.
+ * -->
*
* \brief Hardware dependent serial driver (interface)
*
* \author Giovanni Bajo <rasky@develer.com>
*/
-/*
- * $Log$
- * Revision 1.1 2004/05/23 18:10:11 bernie
- * Import drv/ modules.
- *
- * Revision 1.1 2004/05/14 12:47:26 rasky
- * Importato nuovo supporto seriale per AVR da Stefano
- *
- * Revision 1.3 2004/05/08 13:59:08 aleph
- * Fix header guard
- *
- * Revision 1.2 2004/05/08 13:58:36 aleph
- * Add log comment
- *
- */
+/*#*
+ *#* $Log$
+ *#* Revision 1.10 2006/07/19 12:56:26 bernie
+ *#* Convert to new Doxygen style.
+ *#*
+ *#* Revision 1.9 2006/02/17 22:23:06 bernie
+ *#* Update POSIX serial emulator.
+ *#*
+ *#* Revision 1.8 2005/11/04 16:20:02 bernie
+ *#* Fix reference to README.devlib in header.
+ *#*
+ *#* Revision 1.7 2005/01/14 00:47:56 aleph
+ *#* Rename callbacks; SerialHardwareVT.txSending: New callback.
+ *#*
+ *#* Revision 1.6 2004/12/08 08:56:58 bernie
+ *#* Reformat.
+ *#*
+ *#* Revision 1.5 2004/09/06 21:40:50 bernie
+ *#* Move buffer handling in chip-specific driver.
+ *#*
+ *#* Revision 1.4 2004/08/25 14:12:08 rasky
+ *#* Aggiornato il comment block dei log RCS
+ *#*
+ *#* Revision 1.3 2004/06/03 11:27:09 bernie
+ *#* Add dual-license information.
+ *#*
+ *#* Revision 1.2 2004/05/23 18:21:53 bernie
+ *#* Trim CVS logs and cleanup header info.
+ *#*
+ *#*/
+
+#ifndef DRV_SER_P_H
+#define DRV_SER_P_H
-#ifndef _DRV_SER_P_H
-#define _DRV_SER_P_H
+#include <cfg/compiler.h> /* size_t */
struct SerialHardware;
struct Serial;
struct SerialHardwareVT
{
- void (*init)(struct SerialHardware* ctx, struct Serial* ser);
- void (*cleanup)(struct SerialHardware* ctx);
- void (*setbaudrate)(struct SerialHardware* ctx, unsigned long rate);
- void (*setparity)(struct SerialHardware* ctx, int parity);
- void (*enabletxirq)(struct SerialHardware* ctx);
+ void (*init)(struct SerialHardware *ctx, struct Serial *ser);
+ void (*cleanup)(struct SerialHardware *ctx);
+ void (*setBaudrate)(struct SerialHardware *ctx, unsigned long rate);
+ void (*setParity)(struct SerialHardware *ctx, int parity);
+ void (*txStart)(struct SerialHardware *ctx);
+ bool (*txSending)(struct SerialHardware *ctx);
};
struct SerialHardware
{
- const struct SerialHardwareVT* table;
+ const struct SerialHardwareVT *table;
+ unsigned char *txbuffer;
+ unsigned char *rxbuffer;
+ size_t txbuffer_size;
+ size_t rxbuffer_size;
};
-struct SerialHardware* ser_hw_getdesc(int unit);
+struct SerialHardware *ser_hw_getdesc(int unit);
-#endif // _DRV_SER_P_H
+#endif /* DRV_SER_P_H */