]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/uart.h
ADD: `analyse nuid` - generates NUID 4byte from a UID 7byte. Mifare Classic Ev1...
[proxmark3-svn] / client / uart.h
index 7b00641fa3d8f52033771f01eb8e06acf5c3b03e..33248fb2d638fba2b8cd02acd2d8d00a77073113 100644 (file)
@@ -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
  *
  */
 
-#ifndef _PROXMARK3_RS232_H_
-#define _PROXMARK3_RS232_H_
+#ifndef _RS232_H_
+#define _RS232_H_
 
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
-
 #include <stdint.h>
 #include <stdbool.h>
 
@@ -53,10 +52,19 @@ typedef unsigned char byte_t;
   #include <sys/stat.h>
   #include <limits.h>
   #include <sys/time.h>
+  #include <errno.h>
 #else
+  #include <time.h>
   #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);
 
Impressum, Datenschutz