summaryrefslogtreecommitdiff
path: root/fxstest.c
diff options
context:
space:
mode:
authormarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-07-05 18:00:34 +0000
committermarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2003-07-05 18:00:34 +0000
commitc39e312572dbd0769a616c94986d1d935f74807c (patch)
tree5cd9bc98b5dfee3986cc26900663139a6c370bf1 /fxstest.c
parent1415cc3356fe350ffe8078fb3aa1b27b491336e6 (diff)
Add register write capability
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@209 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'fxstest.c')
-rwxr-xr-xfxstest.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/fxstest.c b/fxstest.c
index 13bb24a..df7a80c 100755
--- a/fxstest.c
+++ b/fxstest.c
@@ -84,6 +84,29 @@ int main(int argc, char *argv[])
}
printf("\n\n");
}
+ } else if (!strcasecmp(argv[2], "setdirect") ||
+ !strcasecmp(argv[2], "setindirect")) {
+ struct wcfxs_regop regop;
+ int val;
+ int reg;
+ if ((argc < 5) || (sscanf(argv[3], "%i", &reg) != 1) ||
+ (sscanf(argv[4], "%i", &val) != 1)) {
+ fprintf(stderr, "Need a register and value...\n");
+ } else {
+ regop.reg = reg;
+ regop.val = val;
+ if (!strcasecmp(argv[2], "setindirect")) {
+ regop.indirect = 1;
+ regop.val &= 0xff;
+ } else {
+ regop.indirect = 0;
+ }
+ res = ioctl(fd, WCFXS_SET_REG, &regop);
+ if (res)
+ fprintf(stderr, "Unable to get registers on channel %s\n", argv[1]);
+ else
+ printf("Success.\n");
+ }
} else
fprintf(stderr, "Invalid command\n");
close(fd);