summaryrefslogtreecommitdiff
path: root/mbglib/common/mbgserio.h
diff options
context:
space:
mode:
Diffstat (limited to 'mbglib/common/mbgserio.h')
-rw-r--r--mbglib/common/mbgserio.h114
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 ----- */