aura  0.1
 All Data Structures Functions Variables Modules Pages
susb-pwctl-clicker.c
1 #include <aura/aura.h>
2 #include <unistd.h>
3 
4 int main() {
5  int ret;
6  int i = 2;
7  slog_init(NULL, 88);
8 
9  struct aura_node *n = aura_open("simpleusb", "./simpleusbconfigs/pw-ctl.conf");
10 
11  if (!n) {
12  printf("err\n");
13  return -1;
14  }
15  aura_wait_status(n, AURA_STATUS_ONLINE);
16 
17  struct aura_buffer *retbuf;
18  ret = aura_call(n, "bit_set", &retbuf, 12<<8 | 1, 1);
19  slog(0, SLOG_DEBUG, "call ret %d", ret);
20  if (0 == ret) {
21  printf("====> buf pos %d len %d\n", retbuf->pos, retbuf->size);
22  aura_buffer_release(retbuf);
23  }
24 
25  int v = 1;
26  while(1) {
27  v = !v;
28  printf("<=================>\n");
29  ret = aura_call(n, "bit_set", &retbuf, 12<<8, v);
30  slog(0, SLOG_DEBUG, "call ret %d", ret);
31  if (0 == ret) {
32  printf("====> buf pos %d len %d\n", retbuf->pos, retbuf->size);
33  aura_buffer_release(retbuf);
34  } else {
35  aura_wait_status(n, AURA_STATUS_ONLINE);
36  i--;
37  if (!i)
38  goto bailout;
39  }
40  sleep(1);
41  }
42 bailout:
43  aura_close(n);
44  return 0;
45 }
void aura_wait_status(struct aura_node *node, int status)
Definition: aura.c:607
int pos
Definition: aura.h:339
int aura_call(struct aura_node *node, const char *name, struct aura_buffer **retbuf,...)
Definition: aura.c:666
struct aura_node * aura_open(const char *name, const char *opts)
Definition: aura.c:34
int size
Definition: aura.h:337
void aura_buffer_release(struct aura_buffer *buf)
Definition: buffer.c:80
void aura_close(struct aura_node *node)
Definition: aura.c:102