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