Skip to content

Commit

Permalink
Merge branch 'master' of github.com:ckolivas/cgminer
Browse files Browse the repository at this point in the history
  • Loading branch information
ckolivas committed Apr 2, 2013
2 parents b3e734e + 0d8c3fe commit 5f56734
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 30 deletions.
29 changes: 20 additions & 9 deletions api-example.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@
static const char SEPARATOR = '|';
static const char COMMA = ',';
static const char EQ = '=';
static int ONLY = 0;

void display(char *buf)
{
Expand Down Expand Up @@ -242,9 +243,12 @@ int callapi(char *command, char *host, short int port)
buf[p] = '\0';
}

printf("Reply was '%s'\n", buf);

display(buf);
if (ONLY)
printf("%s\n", buf);
else {
printf("Reply was '%s'\n", buf);
display(buf);
}
}

CLOSESOCKET(sock);
Expand Down Expand Up @@ -274,6 +278,7 @@ int main(int argc, char *argv[])
char *host = "127.0.0.1";
short int port = 4028;
char *ptr;
int i = 1;

if (argc > 1)
if (strcmp(argv[1], "-?") == 0
Expand All @@ -283,20 +288,26 @@ int main(int argc, char *argv[])
return 1;
}

if (argc > 1) {
ptr = trim(argv[1]);
if (argc > 1)
if (strcmp(argv[1], "-o") == 0) {
ONLY = 1;
i = 2;
}

if (argc > i) {
ptr = trim(argv[i++]);
if (strlen(ptr) > 0)
command = ptr;
}

if (argc > 2) {
ptr = trim(argv[2]);
if (argc > i) {
ptr = trim(argv[i++]);
if (strlen(ptr) > 0)
host = ptr;
}

if (argc > 3) {
ptr = trim(argv[3]);
if (argc > i) {
ptr = trim(argv[i]);
if (strlen(ptr) > 0)
port = atoi(ptr);
}
Expand Down
20 changes: 2 additions & 18 deletions cgminer.c
Original file line number Diff line number Diff line change
Expand Up @@ -5786,28 +5786,12 @@ struct work *get_queued(struct cgpu_info *cgpu)
return ret;
}

/* This function is for including work in the given que hashtable.
* The calling function must lock access to the que if it is required. */
struct work *add_to_work_que(struct work *que, struct work *work)
{
HASH_ADD_INT(que, id, work);
return que;
}

/* This function is for removing work from the given que hashtable.
* The calling function must lock access to the que if it is required. */
struct work *del_from_work_que(struct work *que, struct work *work)
{
HASH_DEL(que, work);
return que;
}

/* This function is for finding an already queued work item in the
* given que hashtable. Code using this function must be able
* to handle NULL as a return which implies there is no matching work.
* The calling function must lock access to the que if it is required.
* The common values for midstatelen, offset, datalen are 32, 64, 12 */
struct work *find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen)
struct work *__find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen)
{
struct work *work, *tmp, *ret = NULL;

Expand All @@ -5832,7 +5816,7 @@ struct work *find_queued_work_bymidstate(struct cgpu_info *cgpu, char *midstate,
struct work *ret;

rd_lock(&cgpu->qlock);
ret = find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen);
ret = __find_work_bymidstate(cgpu->queued_work, midstate, midstatelen, data, offset, datalen);
rd_unlock(&cgpu->qlock);

return ret;
Expand Down
9 changes: 6 additions & 3 deletions miner.h
Original file line number Diff line number Diff line change
Expand Up @@ -1144,6 +1144,11 @@ struct work {

double work_difficulty;

// Allow devices to identify work if multiple sub-devices
int subid;
// Allow devices to flag work for their own purposes
bool devflag;

struct timeval tv_getwork;
struct timeval tv_getwork_reply;
struct timeval tv_cloned;
Expand Down Expand Up @@ -1183,9 +1188,7 @@ struct modminer_fpga_state {
extern void get_datestamp(char *, struct timeval *);
extern void submit_nonce(struct thr_info *thr, struct work *work, uint32_t nonce);
extern struct work *get_queued(struct cgpu_info *cgpu);
extern struct work *add_to_work_que(struct work *que, struct work *work);
extern struct work *del_from_work_que(struct work *que, struct work *work);
extern struct work *find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen);
extern struct work *__find_work_bymidstate(struct work *que, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen);
extern struct work *find_queued_work_bymidstate(struct cgpu_info *cgpu, char *midstate, size_t midstatelen, char *data, int offset, size_t datalen);
extern void work_completed(struct cgpu_info *cgpu, struct work *work);
extern void hash_queued_work(struct thr_info *mythr);
Expand Down

0 comments on commit 5f56734

Please sign in to comment.