diff options
Diffstat (limited to 'mbglib/common/mbgserio.h')
-rw-r--r-- | mbglib/common/mbgserio.h | 114 |
1 files changed, 52 insertions, 62 deletions
diff --git a/mbglib/common/mbgserio.h b/mbglib/common/mbgserio.h index 2367e14..ac76534 100644 --- a/mbglib/common/mbgserio.h +++ b/mbglib/common/mbgserio.h @@ -1,7 +1,7 @@ /************************************************************************** * - * $Id: mbgserio.h 1.4 2009/09/01 10:54:29 martin REL_M $ + * $Id: mbgserio.h 1.7.1.4 2014/03/11 12:26:46 martin TEST $ * * Copyright (c) Meinberg Funkuhren, Bad Pyrmont, Germany * @@ -10,6 +10,22 @@ * * ----------------------------------------------------------------------- * $Log: mbgserio.h $ + * Revision 1.7.1.4 2014/03/11 12:26:46 martin + * Revision 1.7.1.3 2014/03/04 12:08:13 martin + * Revision 1.7.1.2 2014/01/08 17:19:42Z martin + * MBG_TGT_POSIX + * New libusb + * Revision 1.7.1.1 2014/01/07 17:00:29 martin + * Use common Meinberg error codes. + * Revision 1.7 2013/02/01 16:10:45 martin + * Got rid of _mbg_open/close/read/write() macros. + * Functions are now used instead. + * Updated function prototypes. + * Revision 1.6 2011/08/23 10:15:25Z martin + * Updated function prototypes. + * Revision 1.5 2011/08/04 09:48:55 martin + * Support flushing output. + * Re-ordered some definitions. * Revision 1.4 2009/09/01 10:54:29 martin * Include mbg_tmo.h for the new portable timeout functions. * Added symbols for return codes in case of an error. @@ -30,12 +46,14 @@ /* Other headers to be included */ +#include <mbg_tgt.h> #include <mbg_tmo.h> +#include <mbgerror.h> #include <stdlib.h> #include <string.h> -#if defined( MBG_TGT_UNIX ) +#if defined( MBG_TGT_POSIX ) #include <termios.h> #endif @@ -44,7 +62,7 @@ #endif #if !defined( _USE_SELECT_FOR_SERIAL_IO ) - #if defined( MBG_TGT_UNIX ) + #if defined( MBG_TGT_POSIX ) #define _USE_SELECT_FOR_SERIAL_IO 1 #else #define _USE_SELECT_FOR_SERIAL_IO 0 @@ -62,11 +80,6 @@ /* Start of header body */ -#define MBGSERIO_FAIL -1 // Generic I/O error -#define MBGSERIO_TIMEOUT -2 // timeout -#define MBGSERIO_INV_CFG -3 // invalid configuration parameters - - #if !defined( DEFAULT_DEV_NAME ) #if defined( MBG_TGT_WIN32 ) || defined( MBG_TGT_DOS ) #define DEFAULT_DEV_NAME "COM1" @@ -94,61 +107,18 @@ #include <rs232.h> - #define _mbg_open _open - #define _mbg_close _close - #define _mbg_read _read - #define _mbg_write _write - - #define _mbgserio_write( _dh, _p, _sz ) \ - ComWrt( _dh, (char *) (_p), _sz ) - - #define _mbgserio_read( _dh, _p, _sz ) \ - ComRd( _dh, (char *) (_p), _sz ) - #elif defined( MBG_TGT_WIN32 ) - #include <windows.h> #include <io.h> - #define _mbg_open _open - #define _mbg_close _close - #define _mbg_read _read - #define _mbg_write _write - - #define _mbgserio_write mbgserio_write - #define _mbgserio_read mbgserio_read - - #elif defined( MBG_TGT_UNIX ) - - #include <unistd.h> - - #define _mbg_open open - #define _mbg_close close - #define _mbg_read read - #define _mbg_write write - #elif defined( MBG_TGT_DOS ) #if defined( _USE_V24TOOLS ) #include <v24tools.h> - - #define _mbgserio_open v24open - #define _mbgserio_read v24read - #define _mbgserio_write v24write #endif #endif - #if !defined( _mbgserio_open ) - #define _mbgserio_open _mbg_open - #endif - #if !defined( _mbgserio_write ) - #define _mbgserio_write _mbg_write - #endif - #if !defined( _mbgserio_read ) - #define _mbgserio_read _mbg_read - #endif - #endif @@ -169,10 +139,11 @@ typedef struct #if defined( MBG_TGT_WIN32 ) DCB old_dcb; COMMTIMEOUTS old_commtimeouts; + COMMPROP comm_prop; #endif - #if defined( MBG_TGT_UNIX ) - struct termios oldtio; - //##++ struct termios newtio; + + #if defined( MBG_TGT_POSIX ) + struct termios old_tio; #endif } SERIAL_IO_STATUS; @@ -190,14 +161,33 @@ extern "C" { /* This section was generated automatically */ /* by MAKEHDR, do not remove the comments. */ - _MBG_API_ATTR int _MBG_API mbgserio_open( SERIAL_IO_STATUS *pst, const char *dev ) ; - _MBG_API_ATTR int _MBG_API mbgserio_close( SERIAL_IO_STATUS *pst ) ; - _MBG_API_ATTR int _MBG_API mbgserio_setup_port_str_list( MBG_STR_LIST **list, int max_devs ) ; - _MBG_API_ATTR void _MBG_API _MBG_API mbgserio_free_str_list( MBG_STR_LIST *list ) ; - _MBG_API_ATTR int _MBG_API mbgserio_set_parms( SERIAL_IO_STATUS *pst, uint32_t baud_rate, const char *framing ) ; - _MBG_API_ATTR int _MBG_API mbgserio_read( MBG_PORT_HANDLE h, void *buffer, unsigned int count ) ; - _MBG_API_ATTR int _MBG_API mbgserio_write( MBG_PORT_HANDLE h, const void *buffer, unsigned int count ) ; - _MBG_API_ATTR int _MBG_API mbgserio_read_wait( MBG_PORT_HANDLE h, void *buffer, uint count, ulong char_timeout ) ; + /** + * @brief + * + * @return One of the @ref MBG_RETURN_CODES + */ + _NO_MBG_API_ATTR int _MBG_API mbgserio_close( SERIAL_IO_STATUS *pst ) ; + + /** + * @brief + * + * @return One of the @ref MBG_RETURN_CODES + */ + _NO_MBG_API_ATTR int _MBG_API mbgserio_open( SERIAL_IO_STATUS *pst, const char *dev ) ; + + _NO_MBG_API_ATTR int _MBG_API mbgserio_setup_port_str_list( MBG_STR_LIST **list, int max_devs ) ; + _NO_MBG_API_ATTR void _MBG_API mbgserio_free_str_list( MBG_STR_LIST *list ) ; + /** + * @brief + * + * @return One of the @ref MBG_RETURN_CODES + */ + _NO_MBG_API_ATTR int _MBG_API mbgserio_set_parms( SERIAL_IO_STATUS *pst, uint32_t baud_rate, const char *framing ) ; + + _NO_MBG_API_ATTR int _MBG_API mbgserio_read( MBG_PORT_HANDLE h, void *buffer, unsigned int count ) ; + _NO_MBG_API_ATTR int _MBG_API mbgserio_write( MBG_PORT_HANDLE h, const void *buffer, unsigned int count ) ; + _NO_MBG_API_ATTR void _MBG_API mbgserio_flush_tx( MBG_PORT_HANDLE h ) ; + _NO_MBG_API_ATTR int _MBG_API mbgserio_read_wait( MBG_PORT_HANDLE h, void *buffer, uint count, ulong char_timeout ) ; /* ----- function prototypes end ----- */ |