OpenCL GPU miner
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

#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__ */