]>
Commit | Line | Data |
---|---|---|
f5ecd97b | 1 | //----------------------------------------------------------------------------- |
2 | // Copyright (C) 2009 Michael Gernoth <michael at gernoth.net> | |
3 | // Copyright (C) 2010 iZsh <izsh at fail0verflow.com> | |
4 | // | |
5 | // This code is licensed to you under the terms of the GNU GPL, version 2 or, | |
6 | // at your option, any later version. See the LICENSE.txt file for the text of | |
7 | // the license. | |
8 | //----------------------------------------------------------------------------- | |
9 | // Code for communicating with the proxmark3 hardware. | |
10 | //----------------------------------------------------------------------------- | |
11 | ||
12 | #ifndef COMMS_H_ | |
13 | #define COMMS_H_ | |
14 | ||
15 | #include <stdbool.h> | |
16 | #include <pthread.h> | |
17 | ||
18 | #include "usb_cmd.h" | |
19 | #include "uart.h" | |
20 | ||
21 | #ifndef CMD_BUFFER_SIZE | |
22 | #define CMD_BUFFER_SIZE 50 | |
23 | #endif | |
24 | ||
25 | typedef struct { | |
26 | // If TRUE, continue running the uart_receiver thread | |
27 | bool run; | |
28 | ||
29 | // Lock around serial port receives | |
30 | pthread_mutex_t recv_lock; | |
31 | } receiver_arg; | |
32 | ||
61aaee35 | 33 | |
61aaee35 | 34 | void SetOffline(bool new_offline); |
35 | bool IsOffline(); | |
36 | ||
818efbeb | 37 | bool OpenProxmark(char *portname, bool waitCOMPort, int timeout); |
38 | void CloseProxmark(void); | |
39 | ||
f5ecd97b | 40 | void SendCommand(UsbCommand *c); |
41 | ||
42 | void *uart_receiver(void *targ); | |
f5ecd97b | 43 | void clearCommandBuffer(); |
44 | bool WaitForResponseTimeoutW(uint32_t cmd, UsbCommand* response, size_t ms_timeout, bool show_warning); | |
45 | bool WaitForResponseTimeout(uint32_t cmd, UsbCommand* response, size_t ms_timeout); | |
46 | bool WaitForResponse(uint32_t cmd, UsbCommand* response); | |
babca445 | 47 | bool GetFromBigBuf(uint8_t *dest, int bytes, int start_index, UsbCommand *response, size_t ms_timeout, bool show_warning); |
f5ecd97b | 48 | |
f5ecd97b | 49 | #endif // COMMS_H_ |