9 #include <linux/ppdev.h>
13 static void badusage(void) {
15 "usage: siggen [m<mult>] item...\n"
17 " k<value> PPWCONTROL value\n"
18 " t<value> PPWDATA value\n"
19 " w<value> usleep(value)\n"
21 " n<value> do whole list n times\n"
22 " m<value> do every item m times\n");
26 int main(int argc, const char *const *argv) {
27 int ii, io=0, m=1, n=-1, loops_count, loops_n, loops_incr;
34 while (argc>=1 && (a=argv[0])) {
36 case 'm': m= number(a+1); break;
37 case 'n': n= number(a+1); break;
38 default: goto loop_break_options;
44 if (argc<1) badusage();
50 loops_n= n * argc * m;
53 for (ii=0, loops_count=0;
54 loops_count < loops_n;
55 ii++, ii%=(argc*m), loops_count += loops_incr) {
58 case 'k': io= PPWCONTROL; break;
59 case 't': io= PPWDATA; break;
60 case 'w': io= -1; break;