From: qwert Date: Thu, 7 Aug 2008 13:24:57 +0000 (+0000) Subject: Refactor SERIAL macro. X-Git-Tag: 2.0.0~367 X-Git-Url: https://codewiz.org/gitweb?a=commitdiff_plain;h=7bc87271c5cf15a352dadef1c425b808aab5d35e;p=bertos.git Refactor SERIAL macro. git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1567 38d2e660-2303-0410-9eaa-f027e97ec537 --- diff --git a/bertos/drv/ser.c b/bertos/drv/ser.c index 0ab31aaa..65a333da 100644 --- a/bertos/drv/ser.c +++ b/bertos/drv/ser.c @@ -210,7 +210,7 @@ int ser_getchar_nowait(struct Serial *fd) */ static size_t ser_read(struct KFile *fd, void *_buf, size_t size) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); size_t i = 0; char *buf = (char *)_buf; @@ -235,7 +235,7 @@ static size_t ser_read(struct KFile *fd, void *_buf, size_t size) */ static size_t ser_write(struct KFile *fd, const void *_buf, size_t size) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); const char *buf = (const char *)_buf; size_t i = 0; @@ -298,13 +298,13 @@ void ser_setparity(struct Serial *fd, int parity) static int ser_error(struct KFile *fd) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); return ser_getstatus(fds); } static void ser_clearerr(struct KFile *fd) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); ser_setstatus(fds, 0); } @@ -346,7 +346,7 @@ void ser_purgeTx(struct Serial *fd) */ static int ser_flush(struct KFile *fd) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); /* * Wait until the FIFO becomes empty, and then until the byte currently in @@ -411,7 +411,7 @@ static struct Serial *ser_open(struct Serial *fd, unsigned int unit) */ static int ser_close(struct KFile *fd) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); Serial *port = fds; ASSERT(port->is_open); @@ -436,7 +436,7 @@ static int ser_close(struct KFile *fd) */ static struct KFile *ser_reopen(struct KFile *fd) { - Serial *fds = SERIAL(fd); + Serial *fds = SERIAL_CAST(fd); ser_close(fd); ser_open(fds, fds->unit); @@ -469,7 +469,7 @@ void ser_init(struct Serial *fds, unsigned int unit) */ static size_t spimaster_read(struct KFile *fd, void *_buf, size_t size) { - Serial *fd_spi = SERIAL(fd); + Serial *fd_spi = SERIAL_CAST(fd); ser_flush(&fd_spi->fd); ser_purgeRx(fd_spi); @@ -500,7 +500,7 @@ static size_t spimaster_read(struct KFile *fd, void *_buf, size_t size) */ static size_t spimaster_write(struct KFile *fd, const void *buf, size_t size) { - Serial *fd_spi = SERIAL(fd); + Serial *fd_spi = SERIAL_CAST(fd); ser_purgeRx(fd_spi); diff --git a/bertos/drv/ser.h b/bertos/drv/ser.h index 56872573..a09aa8b5 100644 --- a/bertos/drv/ser.h +++ b/bertos/drv/ser.h @@ -162,7 +162,7 @@ typedef struct Serial #define KFT_SERIAL MAKE_ID('S', 'E', 'R', 'L') -INLINE Serial * SERIAL(KFile *fd) +INLINE Serial * SERIAL_CAST(KFile *fd) { ASSERT(fd->_type == KFT_SERIAL); return (Serial *)fd; diff --git a/bertos/kern/kfile.h b/bertos/kern/kfile.h index 1f352699..bcc88e72 100644 --- a/bertos/kern/kfile.h +++ b/bertos/kern/kfile.h @@ -47,16 +47,16 @@ * { * KFile fd; * Serial *ser; - * } SerialKFile; + * } Serial; * \endcode * * You should also supply a macro for casting KFile to SerialKFile: * * \code - * INLINE SerialKFile * SERIALKFILE(KFile *fd) + * INLINE Serial * SERIAL_CAST(KFile *fd) * { * ASSERT(fd->_type == KFT_SERIAL); - * return (SerialKFile *)fd; + * return (Serial *)fd; * } * \endcode *