| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #ifndef __UTIL_H__
- #define __UTIL_H__
- #include <curl/curl.h>
- #include <jansson.h>
- #if defined(unix) || defined(__APPLE__)
- #include <errno.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #define SOCKETTYPE long
- #define SOCKETFAIL(a) ((a) < 0)
- #define INVSOCK -1
- #define INVINETADDR -1
- #define CLOSESOCKET close
- #define SOCKERRMSG strerror(errno)
- #elif defined WIN32
- #include <ws2tcpip.h>
- #include <winsock2.h>
- #define SOCKETTYPE SOCKET
- #define SOCKETFAIL(a) ((int)(a) == SOCKET_ERROR)
- #define INVSOCK INVALID_SOCKET
- #define INVINETADDR INADDR_NONE
- #define CLOSESOCKET closesocket
- extern char *WSAErrorMsg(void);
- #define SOCKERRMSG WSAErrorMsg()
- #ifndef SHUT_RDWR
- #define SHUT_RDWR SD_BOTH
- #endif
- #ifndef in_addr_t
- #define in_addr_t uint32_t
- #endif
- #endif
- #if JANSSON_MAJOR_VERSION >= 2
- #define JSON_LOADS(str, err_ptr) json_loads((str), 0, (err_ptr))
- #else
- #define JSON_LOADS(str, err_ptr) json_loads((str), (err_ptr))
- #endif
- struct pool;
- enum dev_reason;
- struct cgpu_info;
- extern void json_rpc_call_async(CURL *, const char *url, const char *userpass, const char *rpc_req, bool longpoll, struct pool *pool, bool share, void *priv);
- extern json_t *json_rpc_call_completed(CURL *, int rc, bool probe, int *rolltime, void *out_priv);
- extern void gen_hash(unsigned char *data, unsigned char *hash, int len);
- extern void hash_data(unsigned char *out_hash, const unsigned char *data);
- extern void real_block_target(unsigned char *target, const unsigned char *data);
- extern bool hash_target_check(const unsigned char *hash, const unsigned char *target);
- extern bool hash_target_check_v(const unsigned char *hash, const unsigned char *target);
- bool stratum_send(struct pool *pool, char *s, ssize_t len);
- char *recv_line(struct pool *pool);
- bool parse_method(struct pool *pool, char *s);
- bool extract_sockaddr(struct pool *pool, char *url);
- bool auth_stratum(struct pool *pool);
- bool initiate_stratum(struct pool *pool);
- void suspend_stratum(struct pool *pool);
- void dev_error(struct cgpu_info *dev, enum dev_reason reason);
- void *realloc_strcat(char *ptr, char *s);
- void RenameThread(const char* name);
- extern void notifier_init(int pipefd[2]);
- #endif /* __UTIL_H__ */
|