X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fser_p.h;h=d0071feb5f21b75f46704ed395e6cc4473d04ea3;hb=faed9d33b0a6bd6c2376e313fa3b73512c545caa;hp=025d79f26e24ed049ea798784505aacfc3ec7874;hpb=277b540c0764dd376dcf583acdc97a2b2fd3d8e6;p=bertos.git diff --git a/drv/ser_p.h b/drv/ser_p.h old mode 100755 new mode 100644 index 025d79f2..d0071feb --- a/drv/ser_p.h +++ b/drv/ser_p.h @@ -1,8 +1,33 @@ -/*! +/** * \file * * * \brief Hardware dependent serial driver (interface) @@ -13,39 +38,34 @@ * \author Giovanni Bajo */ -/*#* - *#* $Log$ - *#* 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 +#include /* 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 */