X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/660d641a03456e99ea83c68dbd3d03bae2b64573..refs/pull/278/head:/client/uart.h?ds=inline

diff --git a/client/uart.h b/client/uart.h
index 7b00641f..747c0f26 100644
--- a/client/uart.h
+++ b/client/uart.h
@@ -1,7 +1,7 @@
 /*
- * Proxmark3 generic uart / rs232/ serial port library
+ * Generic uart / rs232/ serial port library
  *
- * Copyright (c) 2012, Roel Verdult
+ * Copyright (c) 2013, Roel Verdult
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,8 +31,8 @@
  *
  */
 
-#ifndef _PROXMARK3_RS232_H_
-#define _PROXMARK3_RS232_H_
+#ifndef _RS232_H_
+#define _RS232_H_
 
 #include <stdio.h>
 #include <string.h>
@@ -53,10 +53,18 @@ typedef unsigned char byte_t;
   #include <sys/stat.h>
   #include <limits.h>
   #include <sys/time.h>
+  #include <errno.h>
 #else
   #include <windows.h>
 #endif
 
+typedef enum {
+  SP_INVALID = 0x00, // invalid value, error occured
+  SP_NONE    = 0x01, // no parity (default)
+  SP_EVEN    = 0x02, // even parity
+  SP_ODD     = 0x03  // odd parity
+} serial_port_parity;
+
 // Define shortcut to types to make code more readable
 typedef void* serial_port;
 #define INVALID_SERIAL_PORT (void*)(~1)
@@ -65,9 +73,12 @@ typedef void* serial_port;
 serial_port uart_open(const char* pcPortName);
 void uart_close(const serial_port sp);
 
-void uart_set_speed(serial_port sp, const uint32_t uiPortSpeed);
+bool uart_set_speed(serial_port sp, const uint32_t uiPortSpeed);
 uint32_t uart_get_speed(const serial_port sp);
 
+bool uart_set_parity(serial_port sp, serial_port_parity spp);
+serial_port_parity uart_get_parity(const serial_port sp);
+
 bool uart_receive(const serial_port sp, byte_t* pbtRx, size_t* pszRxLen);
 bool uart_send(const serial_port sp, const byte_t* pbtTx, const size_t szTxLen);