X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/afdcb8c159a73aba95a017f1cfec98e8fa2b93c1..d00a30d56fc4200a9a921d37ab7dc9e18e092bc0:/client/comms.h diff --git a/client/comms.h b/client/comms.h index 75adeea1..65294695 100644 --- a/client/comms.h +++ b/client/comms.h @@ -1,3 +1,14 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2009 Michael Gernoth +// Copyright (C) 2010 iZsh +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// Code for communicating with the proxmark3 hardware. +//----------------------------------------------------------------------------- + #ifndef COMMS_H_ #define COMMS_H_ @@ -11,35 +22,19 @@ #define CMD_BUFFER_SIZE 50 #endif -#ifndef MAX_DEMOD_BUF_LEN -#define MAX_DEMOD_BUF_LEN (1024*128) -#endif - -#ifndef BIGBUF_SIZE -#define BIGBUF_SIZE 40000 -#endif - -typedef struct { - // If TRUE, continue running the uart_receiver thread. - bool run; - - // Lock around serial port receives - pthread_mutex_t recv_lock; -} receiver_arg; - - -// Wrappers required as static variables can only be used in one file. -void SetSerialPort(serial_port* new_port); -serial_port* GetSerialPort(); void SetOffline(bool new_offline); bool IsOffline(); +bool OpenProxmark(void *port, bool wait_for_port, int timeout, bool flash_mode); +void CloseProxmark(void); + void SendCommand(UsbCommand *c); -void *uart_receiver(void *targ); -void UsbCommandReceived(UsbCommand *UC); + void clearCommandBuffer(); -bool WaitForResponseTimeoutW(uint64_t cmd, UsbCommand* response, size_t ms_timeout, bool show_warning); -bool WaitForResponseTimeout(uint64_t cmd, UsbCommand* response, size_t ms_timeout); -bool WaitForResponse(uint64_t cmd, UsbCommand* response); +bool WaitForResponseTimeoutW(uint32_t cmd, UsbCommand* response, size_t ms_timeout, bool show_warning); +bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout); +bool WaitForResponse(uint32_t cmd, UsbCommand* response); +bool GetFromBigBuf(uint8_t *dest, int bytes, int start_index, UsbCommand *response, size_t ms_timeout, bool show_warning); +bool GetFromFpgaRAM(uint8_t *dest, int bytes); #endif // COMMS_H_