From de7e3a24c5252a74c860f70439817d80d6d06d9c Mon Sep 17 00:00:00 2001 From: markster Date: Tue, 3 Jun 2003 02:56:23 +0000 Subject: Add offset field, make zttool send loopup/loopdown git-svn-id: http://svn.digium.com/svn/zaptel/trunk@185 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- zttool.c | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'zttool.c') diff --git a/zttool.c b/zttool.c index 7c75a12..5d306f2 100755 --- a/zttool.c +++ b/zttool.c @@ -285,11 +285,45 @@ static void show_bits(int span, newtComponent bitbox, newtComponent inuse, newtC } +static void do_loop(int span, int looped) +{ + newtComponent form; + newtComponent label; + char s1[256]; + struct zt_maintinfo m; + int res; + struct newtExitStruct es; + + newtOpenWindow(30,12,20,4, s[span].desc); + + form = newtForm(NULL, NULL, 0); + m.spanno = span; + if (looped) { + snprintf(s1, sizeof(s1), "Looping UP span %d...\n", span); + m.command = ZT_MAINT_LOOPUP; + } else { + snprintf(s1, sizeof(s1), "Looping DOWN span %d...\n", span); + m.command = ZT_MAINT_LOOPDOWN; + } + + label = newtLabel(8,9,s1); + newtFormAddComponent(form, label); + newtPushHelpLine("Please wait..."); + + newtFormSetTimer(form, 200); + newtFormRun(form, &es); + res = ioctl(ctl, ZT_MAINT, &m); + newtFormDestroy(form); + newtPopWindow(); + newtPopHelpLine(); +} + static newtComponent spans; static void show_span(int span) { newtComponent form; newtComponent back; + newtComponent loop; newtComponent label; newtComponent bitbox; newtComponent inuse; @@ -302,6 +336,7 @@ static void show_span(int span) char s1[] = " 1111111111222222222333"; char s2[] = "1234567890123456789012345789012"; int max; + int looped = 0; struct newtExitStruct es; void *ss; @@ -319,10 +354,11 @@ static void show_span(int span) newtOpenWindow(10,2,60,20, s[span].desc); newtPushHelpLine(info2); - back = newtButton(48,12,"Back"); + back = newtButton(48,8,"Back"); + loop = newtButton(48,14,"Loop"); form = newtForm(NULL, NULL, 0); - newtFormAddComponents(form, back, NULL); + newtFormAddComponents(form, back, loop, NULL); max = s[span].totalchans; if (max > 32) @@ -413,6 +449,11 @@ static void show_span(int span) } while(es.reason == NEWT_EXIT_TIMER); switch(es.reason) { case NEWT_EXIT_COMPONENT: + if (es.u.co == loop) { + looped = !looped; + do_loop(span, looped); + newtFormSetTimer(form, 200); + } if (es.u.co == back) { goto out; } -- cgit v1.2.3