mirror of https://github.com/GOSTSec/sgminer
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.6 KiB
63 lines
1.6 KiB
13 years ago
|
#ifndef __LIBZTEX_H__
|
||
|
#define __LIBZTEX_H__
|
||
|
|
||
|
#include <libusb.h>
|
||
|
|
||
|
#define LIBZTEX_MAX_DESCRIPTORS 512
|
||
|
#define LIBZTEX_SNSTRING_LEN 10
|
||
|
|
||
|
#define LIBZTEX_IDVENDOR 0x221A
|
||
|
#define LIBZTEX_IDPRODUCT 0x0100
|
||
|
|
||
|
struct libztex_fpgastate {
|
||
|
bool fpgaConfigured;
|
||
|
unsigned char fpgaChecksum;
|
||
|
uint16_t fpgaBytes;
|
||
|
unsigned char fpgaInitB;
|
||
|
unsigned char fpgaFlashResult;
|
||
|
bool fpgaFlashBitSwap;
|
||
|
};
|
||
|
|
||
|
struct libztex_device {
|
||
|
bool valid;
|
||
|
struct libusb_device_descriptor descriptor;
|
||
|
libusb_device_handle *hndl;
|
||
|
unsigned char usbbus;
|
||
|
unsigned char usbaddress;
|
||
|
unsigned char snString[LIBZTEX_SNSTRING_LEN+1];
|
||
|
unsigned char productId[4];
|
||
|
unsigned char fwVersion;
|
||
|
unsigned char interfaceVersion;
|
||
|
unsigned char interfaceCapabilities[6];
|
||
|
unsigned char moduleReserved[12];
|
||
|
uint8_t numNonces;
|
||
|
uint16_t offsNonces;
|
||
|
uint16_t freqM1;
|
||
|
uint8_t freqM;
|
||
|
uint8_t freqMaxM;
|
||
|
uint8_t freqMDefault;
|
||
|
|
||
|
char repr[64];
|
||
|
};
|
||
|
|
||
|
struct libztex_dev_list {
|
||
|
struct libztex_device *dev;
|
||
|
struct libztex_dev_list *next;
|
||
|
};
|
||
|
|
||
|
struct libztex_hash_data {
|
||
|
uint32_t goldenNonce;
|
||
|
uint32_t nonce;
|
||
|
uint32_t hash7;
|
||
|
};
|
||
|
|
||
|
extern int libztex_scanDevices (struct libztex_dev_list ***devs);
|
||
|
extern void libztex_freeDevList (struct libztex_dev_list **devs);
|
||
|
extern void libztex_destroy_device (struct libztex_device* ztex);
|
||
|
extern int libztex_configureFpga (struct libztex_device *dev);
|
||
|
extern int libztex_setFreq (struct libztex_device *ztex, uint16_t freq);
|
||
|
extern int libztex_sendHashData (struct libztex_device *ztex, unsigned char *sendbuf);
|
||
|
extern int libztex_readHashData (struct libztex_device *ztex, struct libztex_hash_data nonces[]);
|
||
|
|
||
|
#endif /* __LIBZTEX_H__ */
|