summaryrefslogtreecommitdiff
path: root/navit/support
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-11-04 20:35:27 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-11-04 20:35:27 +0000
commitaff2c62d153c67323ecb2d14fc9a6af84f56bf98 (patch)
treedbc896fd1a6a8788dfbee3c5fdbfa39f847f1089 /navit/support
parent22bdef18f4aee574cf04af4776331f69a2e1997e (diff)
downloadnavit-aff2c62d153c67323ecb2d14fc9a6af84f56bf98.tar.gz
Fix:vehicle_file:Fixed win32 support, patch from #332|Thanks richt
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3644 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/support')
-rw-r--r--navit/support/win32/Makefile.am3
-rw-r--r--navit/support/win32/serial_io.c130
-rw-r--r--navit/support/win32/serial_io.h35
3 files changed, 101 insertions, 67 deletions
diff --git a/navit/support/win32/Makefile.am b/navit/support/win32/Makefile.am
index 0b71ae19f..aee4350cb 100644
--- a/navit/support/win32/Makefile.am
+++ b/navit/support/win32/Makefile.am
@@ -1,4 +1,5 @@
include $(top_srcdir)/Makefile.inc
AM_CPPFLAGS = @NAVIT_CFLAGS@ -I$(top_srcdir)/navit -DMODULE=support_win32
noinst_LTLIBRARIES = libsupport_win32.la
-libsupport_win32_la_SOURCES = mmap.c win32_init.c sys/mman.h ConvertUTF.c ConvertUTF.h
+libsupport_win32_la_SOURCES = mmap.c win32_init.c sys/mman.h ConvertUTF.c ConvertUTF.h serial_io.c addwinsock.c
+
diff --git a/navit/support/win32/serial_io.c b/navit/support/win32/serial_io.c
index fef6d3833..643201c5b 100644
--- a/navit/support/win32/serial_io.c
+++ b/navit/support/win32/serial_io.c
@@ -3,24 +3,24 @@
#include "serial_io.h"
#include "debug.h"
-//***************************************************************************
-/** @fn int serial_io_init( const char* port, const char* strsettings )
-*****************************************************************************
-* @b Description: initialise a serial port communication
-*****************************************************************************
-* @param port : port name
-* example 'COM7'
-* @param strsettings : port settings
-* example ; 'baud=115200 parity=N data=8 stop=1'
-*****************************************************************************
-* @return file descriptor
-* -1 if error
-*****************************************************************************
-**/
+//***************************************************************************
+/** @fn int serial_io_init( const char* port, const char* strsettings )
+*****************************************************************************
+* @b Description: initialise a serial port communication
+*****************************************************************************
+* @param port : port name
+* example 'COM7'
+* @param strsettings : port settings
+* example ; 'baud=115200 parity=N data=8 stop=1'
+*****************************************************************************
+* @return file descriptor
+* -1 if error
+*****************************************************************************
+**/
int serial_io_init( const char* port, const char* strsettings )
{
HANDLE hCom = NULL;
-
+
char strport[16];
snprintf( strport, sizeof( strport ), "\\\\.\\%s", port );
@@ -48,7 +48,7 @@ int serial_io_init( const char* port, const char* strsettings )
0,
NULL
);
- dbg(1, "return (fd) : '-1' : serial_io_init error : '%s'\n", lpMsgBuf);
+ dbg(1, "return (fd) : '-1' : serial_io_init error : '%s'\n", lpMsgBuf);
LocalFree( lpMsgBuf ); // Free the buffer.
return -1;
@@ -73,34 +73,34 @@ int serial_io_init( const char* port, const char* strsettings )
SetCommTimeouts(hCom, &sCT);
- dbg(1, "serial_io_init return (fd) : '%d'\n", (int)hCom);
-
+ dbg(1, "serial_io_init return (fd) : '%d'\n", (int)hCom);
+
return (int)hCom;
}
-//***************************************************************************
-/** @fn int serial_io_read( int fd, char * buffer, int buffer_size )
-*****************************************************************************
-* @b Description: Read bytes on the serial port
-*****************************************************************************
-* @param fd : file descriptor
-* @param buffer : buffer for data
-* @param buffer_size : size in byte of the buffer
-*****************************************************************************
-* @return number of bytes read
-*****************************************************************************
-* @remarks buffer must be allocated by the caller
-*****************************************************************************
-**/
+//***************************************************************************
+/** @fn int serial_io_read( int fd, char * buffer, int buffer_size )
+*****************************************************************************
+* @b Description: Read bytes on the serial port
+*****************************************************************************
+* @param fd : file descriptor
+* @param buffer : buffer for data
+* @param buffer_size : size in byte of the buffer
+*****************************************************************************
+* @return number of bytes read
+*****************************************************************************
+* @remarks buffer must be allocated by the caller
+*****************************************************************************
+**/
int serial_io_read( int fd, char * buffer, int buffer_size )
{
- dbg(1, "serial_io_read fd = %d buffer_size = %d\n", fd, buffer_size);
-
+ dbg(1, "serial_io_read fd = %d buffer_size = %d\n", fd, buffer_size);
+
DWORD dwBytesIn = 0;
if (fd <= 0)
{
- dbg(0, "serial_io_read return (dwBytesIn) : '0'\n");
+ dbg(0, "serial_io_read return (dwBytesIn) : '0'\n");
*buffer = 0;
return 0;
}
@@ -111,36 +111,36 @@ int serial_io_read( int fd, char * buffer, int buffer_size )
{
buffer[dwBytesIn] = 0;
}
- else
+ else
{
- dwBytesIn = 0;
+ dwBytesIn = 0;
buffer[0] = 0;
}
- if (dwBytesIn > 0)
- {
- dbg(1,"GPS < %s\n",buffer );
- }
+ if (dwBytesIn > 0)
+ {
+ dbg(1,"GPS < %s\n",buffer );
+ }
buffer[buffer_size - 1] = 0;
- dbg(2, "serial_io_read return (dwBytesIn) : '%d'\n", dwBytesIn);
+ dbg(2, "serial_io_read return (dwBytesIn) : '%d'\n", dwBytesIn);
return dwBytesIn;
}
-//***************************************************************************
-/** @fn int serial_io_write(int fd, const char * buffer)
-*****************************************************************************
-* @b Description: Write bytes on the serial port
-*****************************************************************************
-* @param fd : file descriptor
-* @param buffer : data buffer (null terminated)
-*****************************************************************************
-* @return number of bytes written
-*****************************************************************************
-**/
+//***************************************************************************
+/** @fn int serial_io_write(int fd, const char * buffer)
+*****************************************************************************
+* @b Description: Write bytes on the serial port
+*****************************************************************************
+* @param fd : file descriptor
+* @param buffer : data buffer (null terminated)
+*****************************************************************************
+* @return number of bytes written
+*****************************************************************************
+**/
int serial_io_write(int fd, const char * buffer)
{
- dbg(1, "serial_io_write fd = %d buffer = '%s'\n",fd, buffer);
-
+ dbg(1, "serial_io_write fd = %d buffer = '%s'\n",fd, buffer);
+
DWORD dwBytesOut = 0;
WriteFile((HANDLE)fd, buffer, strlen(buffer), &dwBytesOut, NULL);
@@ -148,18 +148,18 @@ int serial_io_write(int fd, const char * buffer)
return dwBytesOut;
}
-//***************************************************************************
-/** @fn void serial_io_shutdown(int fd )
-*****************************************************************************
-* @b Description: Terminate serial communication
-*****************************************************************************
-* @param fd : file descriptor
-*****************************************************************************
-**/
+//***************************************************************************
+/** @fn void serial_io_shutdown(int fd )
+*****************************************************************************
+* @b Description: Terminate serial communication
+*****************************************************************************
+* @param fd : file descriptor
+*****************************************************************************
+**/
void serial_io_shutdown(int fd )
{
- dbg(1, "serial_io_shutdown fd = %d\n",fd);
-
+ dbg(1, "serial_io_shutdown fd = %d\n",fd);
+
if (fd > 0)
{
CloseHandle((HANDLE)fd);
diff --git a/navit/support/win32/serial_io.h b/navit/support/win32/serial_io.h
index 4c7b8a31c..0526a217a 100644
--- a/navit/support/win32/serial_io.h
+++ b/navit/support/win32/serial_io.h
@@ -3,7 +3,40 @@
int serial_io_init( const char* port, const char* strsettings );
int serial_io_read(int fd, char * buffer, int buffer_size );
-int WriteSerial(int fd, const char * buffer);
+int serial_io_write(int fd, const char * buffer);
void serial_io_shutdown(int fd );
+typedef unsigned int speed_t;
+
+#define B0 0000000
+#define B50 0000001
+#define B75 0000002
+#define B110 0000003
+#define B134 0000004
+#define B150 0000005
+#define B200 0000006
+#define B300 0000007
+#define B600 0000010
+#define B1200 0000011
+#define B1800 0000012
+#define B2400 0000013
+#define B4800 0000014
+#define B9600 0000015
+#define B19200 0000016
+#define B38400 0000017
+#define B57600 0010001
+#define B115200 0010002
+#define B230400 0010003
+#define B460800 0010004
+#define B500000 0010005
+#define B576000 0010006
+#define B921600 0010007
+#define B1000000 0010010
+#define B1152000 0010011
+#define B1500000 0010012
+#define B2000000 0010013
+#define B2500000 0010014
+#define B3000000 0010015
+#define B3500000 0010016
+#define B4000000 0010017
#endif