1 /*	$NetBSD: curses_commands.c,v 1.11 2020/10/24 04:46:17 blymn Exp $	*/
2 
3 /*-
4  * Copyright 2009 Brett Lymn <blymn@NetBSD.org>
5  *
6  * All rights reserved.
7  *
8  * This code has been donated to The NetBSD Foundation by the Author.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. The name of the author may not be used to endorse or promote products
16  *    derived from this software withough specific prior written permission
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  *
29  *
30  */
31 
32 #include <curses.h>
33 #include <stdio.h>
34 #include <stdlib.h>
35 #include <string.h>
36 #include <termios.h>
37 #include <stdarg.h>
38 
39 #include "slave.h"
40 #include "curses_commands.h"
41 
42 int
43 set_int(char *arg, int *x)
44 {
45 	if (sscanf(arg, "%d", x) == 0) {
46 		report_count(1);
47 		report_error("BAD ARGUMENT");
48 		return -1;
49 	}
50 
51 	return 0;
52 }
53 
54 int
55 set_uint(char *arg, unsigned int *x)
56 {
57 	if (sscanf(arg, "%d", x) == 0) {
58 		report_count(1);
59 		report_error("BAD ARGUMENT");
60 		return -1;
61 	}
62 
63 	return 0;
64 }
65 
66 int
67 set_short(char *arg, short *x)
68 {
69 	if (sscanf(arg, "%hd", x) == 0) {
70 		report_count(1);
71 		report_error("BAD ARGUMENT");
72 		return -1;
73 	}
74 
75 	return 0;
76 }
77 
78 int
79 set_win(char *arg, WINDOW **x)
80 {
81 	if (sscanf(arg, "%p", x) == 0) {
82 		report_count(1);
83 		report_error("BAD ARGUMENT");
84 		return -1;
85 	}
86 
87 	return 0;
88 }
89 
90 int
91 set_scrn(char *arg, SCREEN **x)
92 {
93 	if (sscanf(arg, "%p", x) == 0) {
94 		report_count(1);
95 		report_error("BAD ARGUMENT");
96 		return -1;
97 	}
98 
99 	return 0;
100 }
101 
102 
103 void
104 cmd_DRAIN(int nargs, char **args)
105 {
106 	WINDOW *win;
107 	if (check_arg_count(nargs, 1) == 1)
108 		return;
109 
110 	if (set_win(args[0], &win) != 0)
111 		return;
112 
113 	while (wgetch(win) != ERR);
114 	report_count(1);
115 	report_return(OK);
116 }
117 
118 void
119 cmd_addbytes(int nargs, char **args)
120 {
121 	int count;
122 
123 	if (check_arg_count(nargs, 2) == 1)
124 		return;
125 
126 	if (set_int(args[1], &count) != 0)
127 		return;
128 
129 	report_count(1);
130 	report_return(addbytes(args[0], count));
131 }
132 
133 
134 void
135 cmd_addch(int nargs, char **args)
136 {
137 	chtype *ch;
138 
139 	if (check_arg_count(nargs, 1) == 1)
140 		return;
141 
142 	ch = (chtype *) args[0];
143 	report_count(1);
144 	report_return(addch(ch[0]));
145 }
146 
147 
148 void
149 cmd_addchnstr(int nargs, char **args)
150 {
151 	int count;
152 
153 	if (check_arg_count(nargs, 2) == 1)
154 		return;
155 
156 	if (set_int(args[1], &count) != 0)
157 		return;
158 
159 	report_count(1);
160 	report_return(addchnstr((chtype *) args[0], count));
161 }
162 
163 
164 void
165 cmd_addchstr(int nargs, char **args)
166 {
167 	if (check_arg_count(nargs, 1) == 1)
168 		return;
169 
170 	report_count(1);
171 	report_return(addchstr((chtype *) args[0]));
172 }
173 
174 
175 void
176 cmd_addnstr(int nargs, char **args)
177 {
178 	int count;
179 
180 	if (check_arg_count(nargs, 2) == 1)
181 		return;
182 
183 	if (set_int(args[1], &count) != 0)
184 		return;
185 
186 	report_count(1);
187 	report_return(addnstr(args[0], count));
188 }
189 
190 
191 void
192 cmd_addstr(int nargs, char **args)
193 {
194 	if (check_arg_count(nargs, 1) == 1)
195 		return;
196 
197 	report_count(1);
198 	report_return(addstr(args[0]));
199 }
200 
201 
202 void
203 cmd_attr_get(int nargs, char **args)
204 {
205 	attr_t attrs;
206 	short colours;
207 	int retval;
208 
209 	if (check_arg_count(nargs, 0) == 1)
210 		return;
211 
212 	retval = attr_get(&attrs, &colours, NULL);
213 
214 	/* XXXX - call3 */
215 	report_count(3);
216 	report_return(retval);
217 	report_int(attrs);
218 	report_int(colours);
219 }
220 
221 
222 void
223 cmd_attr_off(int nargs, char **args)
224 {
225 	int attrib;
226 
227 	if (check_arg_count(nargs, 1) == 1)
228 		return;
229 
230 	if (set_int(args[0], &attrib) != 0)
231 		return;
232 
233 	report_count(1);
234 	report_return(attr_off(attrib, NULL));
235 }
236 
237 
238 void
239 cmd_attr_on(int nargs, char **args)
240 {
241 	int attrib;
242 
243 	if (check_arg_count(nargs, 1) == 1)
244 		return;
245 
246 	if (set_int(args[0], &attrib) != 0)
247 		return;
248 
249 	report_count(1);
250 	report_return(attr_on(attrib, NULL));
251 }
252 
253 
254 void
255 cmd_attr_set(int nargs, char **args)
256 {
257 	int attrib;
258 	short pair;
259 
260 	if (check_arg_count(nargs, 2) == 1)
261 		return;
262 
263 	if ((set_int(args[0], &attrib) != 0) ||
264 	    (set_short(args[1], &pair) != 0))
265 		return;
266 
267 	report_count(1);
268 	report_return(attr_set(attrib, pair, NULL));
269 }
270 
271 
272 void
273 cmd_attroff(int nargs, char **args)
274 {
275 	int attrib;
276 
277 	if (check_arg_count(nargs, 1) == 1)
278 		return;
279 
280 	if (set_int(args[0], &attrib) != 0)
281 		return;
282 
283 	report_count(1);
284 	report_return(attroff(attrib));
285 }
286 
287 
288 void
289 cmd_attron(int nargs, char **args)
290 {
291 	int attrib;
292 
293 	if (check_arg_count(nargs, 1) == 1)
294 		return;
295 
296 	if (set_int(args[0], &attrib) != 0)
297 		return;
298 
299 	report_count(1);
300 	report_return(attron(attrib));
301 }
302 
303 
304 void
305 cmd_attrset(int nargs, char **args)
306 {
307 	int attrib;
308 
309 	if (check_arg_count(nargs, 1) == 1)
310 		return;
311 
312 	if (set_int(args[0], &attrib) != 0)
313 		return;
314 
315 	report_count(1);
316 	report_return(attrset(attrib));
317 }
318 
319 
320 void
321 cmd_bkgd(int nargs, char **args)
322 {
323 	chtype *ch;
324 
325 	if (check_arg_count(nargs, 1) == 1)
326 		return;
327 
328 	ch = (chtype *) args[0];
329 	report_count(1);
330 	report_return(bkgd(ch[0]));
331 }
332 
333 
334 void
335 cmd_bkgdset(int nargs, char **args)
336 {
337 	chtype *ch;
338 
339 	if (check_arg_count(nargs, 1) == 1)
340 		return;
341 
342 	ch = (chtype *) args[0];
343 
344 	bkgdset(ch[0]);		/* returns void */
345 	report_count(1);
346 	report_return(OK);
347 }
348 
349 
350 void
351 cmd_border(int nargs, char **args)
352 {
353 	int ls, rs, ts, bs, tl, tr, bl, br;
354 
355 	if (check_arg_count(nargs, 8) == 1)
356 		return;
357 
358 	if ((set_int(args[0], &ls) != 0) ||
359 	    (set_int(args[1], &rs) != 0) ||
360 	    (set_int(args[2], &ts) != 0) ||
361 	    (set_int(args[3], &bs) != 0) ||
362 	    (set_int(args[4], &tl) != 0) ||
363 	    (set_int(args[5], &tr) != 0) ||
364 	    (set_int(args[6], &bl) != 0) ||
365 	    (set_int(args[7], &br) != 0))
366 		return;
367 
368 	report_count(1);
369 	report_return(border(ls, rs, ts, bs, tl, tr, bl, br));
370 }
371 
372 
373 void
374 cmd_clear(int nargs, char **args)
375 {
376 	if (check_arg_count(nargs, 0) == 1)
377 		return;
378 
379 	report_count(1);
380 	report_return(clear());
381 }
382 
383 
384 void
385 cmd_clrtobot(int nargs, char **args)
386 {
387 	if (check_arg_count(nargs, 0) == 1)
388 		return;
389 
390 	report_count(1);
391 	report_return(clrtobot());
392 }
393 
394 
395 void
396 cmd_clrtoeol(int nargs, char **args)
397 {
398 	if (check_arg_count(nargs, 0) == 1)
399 		return;
400 
401 	report_count(1);
402 	report_return(clrtoeol());
403 }
404 
405 
406 void
407 cmd_color_set(int nargs, char **args)
408 {
409 	short colour_pair;
410 
411 	if (check_arg_count(nargs, 2) == 1)
412 		return;
413 
414 	if (set_short(args[0], &colour_pair) != 0)
415 		return;
416 
417 	report_count(1);
418 	report_return(color_set(colour_pair, NULL));
419 }
420 
421 
422 void
423 cmd_delch(int nargs, char **args)
424 {
425 	if (check_arg_count(nargs, 0) == 1)
426 		return;
427 
428 	report_count(1);
429 	report_return(delch());
430 }
431 
432 
433 void
434 cmd_deleteln(int nargs, char **args)
435 {
436 	if (check_arg_count(nargs, 0) == 1)
437 		return;
438 
439 	report_count(1);
440 	report_return(deleteln());
441 }
442 
443 
444 void
445 cmd_echochar(int nargs, char **args)
446 {
447 	chtype *ch;
448 	if (check_arg_count(nargs, 1) == 1)
449 		return;
450 
451 	ch = (chtype *) args[0];
452 	/* XXX causes refresh */
453 	report_count(1);
454 	report_return(echochar(ch[0]));
455 }
456 
457 
458 void
459 cmd_erase(int nargs, char **args)
460 {
461 	if (check_arg_count(nargs, 0) == 1)
462 		return;
463 
464 	report_count(1);
465 	report_return(erase());
466 }
467 
468 
469 void
470 cmd_getch(int nargs, char **args)
471 {
472 	if (check_arg_count(nargs, 0) == 1)
473 		return;
474 
475 	/* XXX causes refresh */
476 	report_count(1);
477 	report_int(getch());
478 }
479 
480 
481 void
482 cmd_getnstr(int nargs, char **args)
483 {
484 	int limit;
485 	char *string;
486 
487 	if (check_arg_count(nargs, 1) == 1)
488 		return;
489 
490 	if (set_int(args[0], &limit) != 0)
491 		return;
492 
493 	if ((string = malloc(limit + 1)) == NULL) {
494 		report_count(1);
495 		report_error("MALLOC_FAILED");
496 		return;
497 	}
498 	/* XXX call2 */
499 	report_count(2);
500 	report_return(getnstr(string, limit));
501 	report_status(string);
502 	free(string);
503 }
504 
505 
506 void
507 cmd_getstr(int nargs, char **args)
508 {
509 	char string[256];
510 
511 	if (check_arg_count(nargs, 0) == 1)
512 		return;
513 
514 	/* XXX call2 */
515 	report_count(2);
516 	report_return(getstr(string));
517 	report_status(string);
518 }
519 
520 
521 void
522 cmd_inch(int nargs, char **args)
523 {
524 	if (check_arg_count(nargs, 0) == 1)
525 		return;
526 
527 	report_count(1);
528 	report_byte(inch());
529 }
530 
531 
532 void
533 cmd_inchnstr(int nargs, char **args)
534 {
535 	int limit;
536 	chtype *string;
537 
538 	if (check_arg_count(nargs, 1) == 1)
539 		return;
540 
541 	if (set_int(args[0], &limit) != 0)
542 		return;
543 
544 	if ((string = malloc((limit + 1) * sizeof(chtype))) == NULL) {
545 		report_count(1);
546 		report_error("MALLOC_FAILED");
547 		return;
548 	}
549 	/* XXX call2 */
550 	report_count(2);
551 	report_return(inchnstr(string, limit));
552 	report_nstr(string);
553 	free(string);
554 }
555 
556 
557 void
558 cmd_inchstr(int nargs, char **args)
559 {
560 	chtype string[256];
561 
562 	if (check_arg_count(nargs, 0) == 1)
563 		return;
564 
565 	/* XXX call2 */
566 	report_count(2);
567 	report_return(inchstr(string));
568 	report_nstr(string);
569 }
570 
571 
572 void
573 cmd_innstr(int nargs, char **args)
574 {
575 	int limit;
576 	char *string;
577 
578 	if (check_arg_count(nargs, 1) == 1)
579 		return;
580 
581 	if (set_int(args[0], &limit) != 0)
582 		return;
583 
584 	if ((string = malloc(limit + 1)) == NULL) {
585 		report_count(1);
586 		report_error("MALLOC_FAILED");
587 		return;
588 	}
589 	/* XXX call2 */
590 	report_count(2);
591 	report_int(innstr(string, limit));
592 	report_status(string);
593 	free(string);
594 }
595 
596 
597 void
598 cmd_insch(int nargs, char **args)
599 {
600 	chtype *ch;
601 	if (check_arg_count(nargs, 1) == 1)
602 		return;
603 
604 	ch = (chtype *) args[0];
605 	report_count(1);
606 	report_return(insch(ch[0]));
607 }
608 
609 
610 void
611 cmd_insdelln(int nargs, char **args)
612 {
613 	int nlines;
614 
615 	if (check_arg_count(nargs, 1) == 1)
616 		return;
617 
618 	if (set_int(args[0], &nlines) != 0)
619 		return;
620 
621 	report_count(1);
622 	report_return(insdelln(nlines));
623 }
624 
625 
626 void
627 cmd_insertln(int nargs, char **args)
628 {
629 	if (check_arg_count(nargs, 0) == 1)
630 		return;
631 
632 	report_count(1);
633 	report_return(insertln());
634 }
635 
636 
637 void
638 cmd_instr(int nargs, char **args)
639 {
640 	char string[256];
641 
642 	if (check_arg_count(nargs, 0) == 1)
643 		return;
644 
645 	/* XXX call2 */
646 	report_count(2);
647 	report_return(instr(string));
648 	report_status(string);
649 }
650 
651 
652 void
653 cmd_move(int nargs, char **args)
654 {
655 	int y, x;
656 
657 	if (check_arg_count(nargs, 2) == 1)
658 		return;
659 
660 	if ((set_int(args[0], &y) != 0) ||
661 	    (set_int(args[1], &x) != 0))
662 		return;
663 
664 	report_count(1);
665 	report_return(move(y, x));
666 }
667 
668 
669 void
670 cmd_refresh(int nargs, char **args)
671 {
672 	if (check_arg_count(nargs, 0) == 1)
673 		return;
674 
675 	report_count(1);
676 	report_return(refresh());
677 }
678 
679 
680 void
681 cmd_scrl(int nargs, char **args)
682 {
683 	int nlines;
684 
685 	if (check_arg_count(nargs, 1) == 1)
686 		return;
687 
688 	if (set_int(args[0], &nlines) != 0)
689 		return;
690 
691 	report_count(1);
692 	report_return(scrl(nlines));
693 }
694 
695 
696 void
697 cmd_setscrreg(int nargs, char **args)
698 {
699 	int top, bottom;
700 
701 	if (check_arg_count(nargs, 2) == 1)
702 		return;
703 
704 	if ((set_int(args[0], &top) != 0) ||
705 	    (set_int(args[1], &bottom) != 0))
706 		return;
707 
708 	report_count(1);
709 	report_return(setscrreg(top, bottom));
710 }
711 
712 
713 void
714 cmd_standend(int nargs, char **args)
715 {
716 	if (check_arg_count(nargs, 0) == 1)
717 		return;
718 
719 	report_count(1);
720 	report_int(standend());
721 }
722 
723 
724 void
725 cmd_standout(int nargs, char **args)
726 {
727 	if (check_arg_count(nargs, 0) == 1)
728 		return;
729 
730 	report_count(1);
731 	report_int(standout());
732 }
733 
734 
735 void
736 cmd_timeout(int nargs, char **args)
737 {
738 	int tval;
739 
740 	if (check_arg_count(nargs, 1) == 1)
741 		return;
742 
743 	if (set_int(args[0], &tval) != 0)
744 		return;
745 
746 	timeout(tval);		/* void return */
747 	report_count(1);
748 	report_return(OK);
749 }
750 
751 
752 void
753 cmd_underscore(int nargs, char **args)
754 {
755 	if (check_arg_count(nargs, 0) == 1)
756 		return;
757 
758 	report_count(1);
759 	report_int(underscore());
760 }
761 
762 
763 void
764 cmd_underend(int nargs, char **args)
765 {
766 	if (check_arg_count(nargs, 0) == 1)
767 		return;
768 
769 	report_count(1);
770 	report_int(underend());
771 }
772 
773 
774 void
775 cmd_waddbytes(int nargs, char **args)
776 {
777 	WINDOW *win;
778 	int count;
779 
780 	if (check_arg_count(nargs, 3) == 1)
781 		return;
782 
783 	if ((set_win(args[0], &win) != 0) ||
784 	    (set_int(args[2], &count) != 0))
785 		return;
786 
787 	report_count(1);
788 	report_return(waddbytes(win, args[1], count));
789 }
790 
791 
792 void
793 cmd_waddstr(int nargs, char **args)
794 {
795 	WINDOW *win;
796 
797 	if (check_arg_count(nargs, 2) == 1)
798 		return;
799 
800 	if (set_win(args[0], &win) != 0)
801 		return;
802 
803 	report_count(1);
804 	report_return(waddstr(win, args[1]));
805 }
806 
807 
808 void
809 cmd_mvaddbytes(int nargs, char **args)
810 {
811 	int y, x, count;
812 
813 	if (check_arg_count(nargs, 4) == 1)
814 		return;
815 
816 	if ((set_int(args[0], &y) != 0) ||
817 	    (set_int(args[1], &x) != 0) ||
818 	    (set_int(args[3], &count) != 0))
819 		return;
820 
821 	report_count(1);
822 	report_return(mvaddbytes(y, x, args[2], count));
823 }
824 
825 
826 void
827 cmd_mvaddch(int nargs, char **args)
828 {
829 	int y, x;
830 	chtype *ch;
831 
832 	if (check_arg_count(nargs, 3) == 1)
833 		return;
834 
835 	if ((set_int(args[0], &y) != 0) ||
836 	    (set_int(args[1], &x) != 0))
837 		return;
838 	ch = (chtype *) args[2];
839 
840 	report_count(1);
841 	report_return(mvaddch(y, x, ch[0]));
842 }
843 
844 
845 void
846 cmd_mvaddchnstr(int nargs, char **args)
847 {
848 	int y, x, count;
849 
850 	if (check_arg_count(nargs, 4) == 1)
851 		return;
852 
853 	if ((set_int(args[0], &y) != 0) ||
854 	    (set_int(args[1], &x) != 0) ||
855 	    (set_int(args[3], &count) != 0))
856 		return;
857 
858 	report_count(1);
859 	report_return(mvaddchnstr(y, x, (chtype *) args[2], count));
860 }
861 
862 
863 void
864 cmd_mvaddchstr(int nargs, char **args)
865 {
866 	int y, x;
867 
868 	if (check_arg_count(nargs, 3) == 1)
869 		return;
870 
871 	if ((set_int(args[0], &y) != 0) ||
872 	    (set_int(args[1], &x) != 0))
873 		return;
874 
875 	report_count(1);
876 	report_return(mvaddchstr(y, x, (chtype *) args[2]));
877 }
878 
879 
880 void
881 cmd_mvaddnstr(int nargs, char **args)
882 {
883 	int y, x, count;
884 
885 	if (check_arg_count(nargs, 4) == 1)
886 		return;
887 
888 	if ((set_int(args[0], &y) != 0) ||
889 	    (set_int(args[1], &x) != 0) ||
890 	    (set_int(args[3], &count) != 0))
891 		return;
892 
893 	report_count(1);
894 	report_return(mvaddnstr(y, x, args[2], count));
895 }
896 
897 
898 void
899 cmd_mvaddstr(int nargs, char **args)
900 {
901 	int y, x;
902 
903 	if (check_arg_count(nargs, 3) == 1)
904 		return;
905 
906 	if ((set_int(args[0], &y) != 0) ||
907 	    (set_int(args[1], &x) != 0))
908 		return;
909 
910 	report_count(1);
911 	report_return(mvaddstr(y, x, args[2]));
912 }
913 
914 
915 void
916 cmd_mvdelch(int nargs, char **args)
917 {
918 	int y, x;
919 
920 	if (check_arg_count(nargs, 2) == 1)
921 		return;
922 
923 	if ((set_int(args[0], &y) != 0) ||
924 	    (set_int(args[1], &x) != 0))
925 		return;
926 
927 	report_count(1);
928 	report_return(mvdelch(y, x));
929 }
930 
931 
932 void
933 cmd_mvgetch(int nargs, char **args)
934 {
935 	int y, x;
936 
937 	if (check_arg_count(nargs, 2) == 1)
938 		return;
939 
940 	if ((set_int(args[0], &y) != 0) ||
941 	    (set_int(args[1], &x) != 0))
942 		return;
943 
944 	report_count(1);
945 	report_int(mvgetch(y, x));
946 }
947 
948 
949 void
950 cmd_mvgetnstr(int nargs, char **args)
951 {
952 	int y, x, count;
953 	char *string;
954 
955 	if (check_arg_count(nargs, 3) == 1)
956 		return;
957 
958 	if ((set_int(args[0], &y) != 0) ||
959 	    (set_int(args[1], &x) != 0) ||
960 	    (set_int(args[2], &count) != 0))
961 		return;
962 
963 	if ((string = malloc(count + 1)) == NULL) {
964 		report_count(1);
965 		report_error("MALLOC_FAILED");
966 		return;
967 	}
968 	/* XXX call2 */
969 	report_count(2);
970 	report_return(mvgetnstr(y, x, string, count));
971 	report_status(string);
972 	free(string);
973 }
974 
975 
976 void
977 cmd_mvgetstr(int nargs, char **args)
978 {
979 	int y, x;
980 	char string[256];
981 
982 	if (check_arg_count(nargs, 2) == 1)
983 		return;
984 
985 	if ((set_int(args[0], &y) != 0) ||
986 	    (set_int(args[1], &x) != 0))
987 		return;
988 
989 	/* XXX call2 */
990 	report_count(2);
991 	report_return(mvgetstr(y, x, string));
992 	report_status(string);
993 }
994 
995 
996 void
997 cmd_mvinch(int nargs, char **args)
998 {
999 	int y, x;
1000 
1001 	if (check_arg_count(nargs, 2) == 1)
1002 		return;
1003 
1004 	if ((set_int(args[0], &y) != 0) ||
1005 	    (set_int(args[1], &x) != 0))
1006 		return;
1007 
1008 	report_count(1);
1009 	report_byte(mvinch(y, x));
1010 }
1011 
1012 
1013 void
1014 cmd_mvinchnstr(int nargs, char **args)
1015 {
1016 	int y, x, count;
1017 	chtype *string;
1018 
1019 	if (check_arg_count(nargs, 3) == 1)
1020 		return;
1021 
1022 	if ((set_int(args[0], &y) != 0) ||
1023 	    (set_int(args[1], &x) != 0) ||
1024 	    (set_int(args[2], &count) != 0))
1025 		return;
1026 
1027 	if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) {
1028 		report_count(1);
1029 		report_error("MALLOC_FAILED");
1030 		return;
1031 	}
1032 	/* XXX call2 */
1033 	report_count(2);
1034 	report_return(mvinchnstr(y, x, string, count));
1035 	report_nstr(string);
1036 	free(string);
1037 }
1038 
1039 
1040 void
1041 cmd_mvinchstr(int nargs, char **args)
1042 {
1043 	int y, x;
1044 	chtype string[256];
1045 
1046 	if (check_arg_count(nargs, 2) == 1)
1047 		return;
1048 
1049 	if ((set_int(args[0], &y) != 0) ||
1050 	    (set_int(args[1], &x) != 0))
1051 		return;
1052 
1053 	/* XXX call2 */
1054 	report_count(2);
1055 	report_return(mvinchstr(y, x, string));
1056 	report_nstr(string);
1057 }
1058 
1059 
1060 void
1061 cmd_mvinnstr(int nargs, char **args)
1062 {
1063 	int y, x, count;
1064 	char *string;
1065 
1066 	if (check_arg_count(nargs, 3) == 1)
1067 		return;
1068 
1069 	if ((set_int(args[0], &y) != 0) ||
1070 	    (set_int(args[1], &x) != 0) ||
1071 	    (set_int(args[2], &count) != 0))
1072 		return;
1073 
1074 	if ((string = malloc(count + 1)) == NULL) {
1075 		report_count(1);
1076 		report_error("MALLOC_FAILED");
1077 		return;
1078 	}
1079 	/* XXX call2 */
1080 	report_count(2);
1081 	report_int(mvinnstr(y, x, string, count));
1082 	report_status(string);
1083 	free(string);
1084 }
1085 
1086 
1087 void
1088 cmd_mvinsch(int nargs, char **args)
1089 {
1090 	int y, x;
1091 	chtype *ch;
1092 
1093 	if (check_arg_count(nargs, 3) == 1)
1094 		return;
1095 
1096 	if ((set_int(args[0], &y) != 0) ||
1097 	    (set_int(args[1], &x) != 0))
1098 		return;
1099 	ch = (chtype *) args[2];
1100 
1101 	report_count(1);
1102 	report_return(mvinsch(y, x, ch[0]));
1103 }
1104 
1105 
1106 void
1107 cmd_mvinstr(int nargs, char **args)
1108 {
1109 	char string[256];
1110 	int y, x;
1111 
1112 	if (check_arg_count(nargs, 2) == 1)
1113 		return;
1114 
1115 	if ((set_int(args[0], &y) != 0) ||
1116 	    (set_int(args[1], &x) != 0))
1117 		return;
1118 
1119 	report_count(2);
1120 	report_return(mvinstr(y, x, string));
1121 	report_status(string);
1122 }
1123 
1124 
1125 
1126 void
1127 cmd_mvwaddbytes(int nargs, char **args)
1128 {
1129 	int y, x, count;
1130 	WINDOW *win;
1131 
1132 	if (check_arg_count(nargs, 5) == 1)
1133 		return;
1134 
1135 	if ((set_win(args[0], &win) != 0) ||
1136 	    (set_int(args[1], &y) != 0) ||
1137 	    (set_int(args[2], &x) != 0) ||
1138 	    (set_int(args[4], &count) != 0))
1139 		return;
1140 
1141 	report_count(1);
1142 	report_return(mvwaddbytes(win, y, x, args[3], count));
1143 }
1144 
1145 
1146 void
1147 cmd_mvwaddch(int nargs, char **args)
1148 {
1149 	int y, x;
1150 	WINDOW *win;
1151 	chtype *ch;
1152 
1153 	if (check_arg_count(nargs, 4) == 1)
1154 		return;
1155 
1156 	if ((set_win(args[0], &win) != 0) ||
1157 	    (set_int(args[1], &y) != 0) ||
1158 	    (set_int(args[2], &x) != 0))
1159 		return;
1160 	ch = (chtype *) args[3];
1161 
1162 	report_count(1);
1163 	report_return(mvwaddch(win, y, x, ch[0]));
1164 }
1165 
1166 
1167 void
1168 cmd_mvwaddchnstr(int nargs, char **args)
1169 {
1170 	int y, x, count;
1171 	WINDOW *win;
1172 
1173 	if (check_arg_count(nargs, 5) == 1)
1174 		return;
1175 
1176 	if ((set_win(args[0], &win) != 0) ||
1177 	    (set_int(args[1], &y) != 0) ||
1178 	    (set_int(args[2], &x) != 0) ||
1179 	    (set_int(args[4], &count) != 0))
1180 		return;
1181 
1182 	report_count(1);
1183 	report_return(mvwaddchnstr(win, y, x, (chtype *) args[3], count));
1184 }
1185 
1186 
1187 void
1188 cmd_mvwaddchstr(int nargs, char **args)
1189 {
1190 	int y, x;
1191 	WINDOW *win;
1192 
1193 	if (check_arg_count(nargs, 4) == 1)
1194 		return;
1195 
1196 	if ((set_win(args[0], &win) != 0) ||
1197 	    (set_int(args[1], &y) != 0) ||
1198 	    (set_int(args[2], &x) != 0))
1199 		return;
1200 
1201 	report_count(1);
1202 	report_return(mvwaddchstr(win, y, x, (chtype *) args[3]));
1203 }
1204 
1205 
1206 void
1207 cmd_mvwaddnstr(int nargs, char **args)
1208 {
1209 	int y, x, count;
1210 	WINDOW *win;
1211 
1212 	if (check_arg_count(nargs, 5) == 1)
1213 		return;
1214 
1215 	if ((set_win(args[0], &win) != 0) ||
1216 	    (set_int(args[1], &y) != 0) ||
1217 	    (set_int(args[2], &x) != 0) ||
1218 	    (set_int(args[4], &count) != 0))
1219 		return;
1220 
1221 	report_count(1);
1222 	report_return(mvwaddnstr(win, y, x, args[3], count));
1223 }
1224 
1225 
1226 void
1227 cmd_mvwaddstr(int nargs, char **args)
1228 {
1229 	int y, x;
1230 	WINDOW *win;
1231 
1232 	if (check_arg_count(nargs, 4) == 1)
1233 		return;
1234 
1235 	if ((set_win(args[0], &win) != 0) ||
1236 	    (set_int(args[1], &y) != 0) ||
1237 	    (set_int(args[2], &x) != 0))
1238 		return;
1239 
1240 	report_count(1);
1241 	report_return(mvwaddstr(win, y, x, args[3]));
1242 }
1243 
1244 
1245 void
1246 cmd_mvwdelch(int nargs, char **args)
1247 {
1248 	int y, x;
1249 	WINDOW *win;
1250 
1251 	if (check_arg_count(nargs, 3) == 1)
1252 		return;
1253 
1254 	if ((set_win(args[0], &win) != 0) ||
1255 	    (set_int(args[1], &y) != 0) ||
1256 	    (set_int(args[2], &x) != 0))
1257 		return;
1258 
1259 	report_count(1);
1260 	report_return(mvwdelch(win, y, x));
1261 }
1262 
1263 
1264 void
1265 cmd_mvwgetch(int nargs, char **args)
1266 {
1267 	int y, x;
1268 	WINDOW *win;
1269 
1270 	if (check_arg_count(nargs, 3) == 1)
1271 		return;
1272 
1273 	if ((set_win(args[0], &win) != 0) ||
1274 	    (set_int(args[1], &y) != 0) ||
1275 	    (set_int(args[2], &x) != 0))
1276 		return;
1277 
1278 	/* XXX - implicit refresh */
1279 	report_count(1);
1280 	report_int(mvwgetch(win, y, x));
1281 }
1282 
1283 
1284 void
1285 cmd_mvwgetnstr(int nargs, char **args)
1286 {
1287 	int y, x, count;
1288 	char *string;
1289 	WINDOW *win;
1290 
1291 	if (check_arg_count(nargs, 4) == 1)
1292 		return;
1293 
1294 	if ((set_win(args[0], &win) != 0) ||
1295 	    (set_int(args[1], &y) != 0) ||
1296 	    (set_int(args[2], &x) != 0) ||
1297 	    (set_int(args[3], &count) != 0))
1298 		return;
1299 
1300 	if ((string = malloc(count + 1)) == NULL) {
1301 		report_count(1);
1302 		report_error("MALLOC_FAILED");
1303 		return;
1304 	}
1305 	/* XXX call2 */
1306 	report_count(2);
1307 	report_return(mvwgetnstr(win, y, x, string, count));
1308 	report_status(string);
1309 	free(string);
1310 }
1311 
1312 
1313 void
1314 cmd_mvwgetstr(int nargs, char **args)
1315 {
1316 	int y, x;
1317 	WINDOW *win;
1318 	char string[256];
1319 
1320 	if (check_arg_count(nargs, 3) == 1)
1321 		return;
1322 
1323 	if ((set_win(args[0], &win) != 0) ||
1324 	    (set_int(args[1], &y) != 0) ||
1325 	    (set_int(args[2], &x) != 0))
1326 		return;
1327 
1328 	/* XXX - call2 */
1329 	report_count(2);
1330 	report_return(mvwgetstr(win, y, x, string));
1331 	report_status(string);
1332 }
1333 
1334 
1335 void
1336 cmd_mvwinch(int nargs, char **args)
1337 {
1338 	int y, x;
1339 	WINDOW *win;
1340 
1341 	if (check_arg_count(nargs, 3) == 1)
1342 		return;
1343 
1344 	if (set_win(args[0], &win) != 0) return;
1345 	if (set_int(args[1], &y) != 0) return;
1346 	if (set_int(args[2], &x) != 0) return;
1347 
1348 	report_count(1);
1349 	report_byte(mvwinch(win, y, x));
1350 }
1351 
1352 
1353 void
1354 cmd_mvwinsch(int nargs, char **args)
1355 {
1356 	int y, x;
1357 	WINDOW *win;
1358 	chtype *ch;
1359 
1360 	if (check_arg_count(nargs, 4) == 1)
1361 		return;
1362 
1363 	if ((set_win(args[0], &win) != 0) ||
1364 	    (set_int(args[1], &y) != 0) ||
1365 	    (set_int(args[2], &x) != 0))
1366 		return;
1367 
1368 	ch = (chtype *) args[3];
1369 
1370 	report_count(1);
1371 	report_return(mvwinsch(win, y, x, ch[0]));
1372 }
1373 
1374 
1375 void
1376 cmd_assume_default_colors(int nargs, char **args)
1377 {
1378 	short fore, back;
1379 
1380 	if (check_arg_count(nargs, 2) == 1)
1381 		return;
1382 
1383 	if ((set_short(args[0], &fore) != 0) ||
1384 	    (set_short(args[1], &back) != 0))
1385 		return;
1386 
1387 	report_count(1);
1388 	report_return(assume_default_colors(fore, back));
1389 }
1390 
1391 
1392 void
1393 cmd_baudrate(int nargs, char **args)
1394 {
1395 	if (check_arg_count(nargs, 0) == 1)
1396 		return;
1397 
1398 	report_count(1);
1399 	report_int(baudrate());
1400 }
1401 
1402 
1403 void
1404 cmd_beep(int nargs, char **args)
1405 {
1406 	if (check_arg_count(nargs, 0) == 1)
1407 		return;
1408 
1409 	report_count(1);
1410 	report_return(beep());
1411 }
1412 
1413 
1414 void
1415 cmd_box(int nargs, char **args)
1416 {
1417 	WINDOW *win;
1418 	chtype *vertical, *horizontal;
1419 
1420 	if (check_arg_count(nargs, 3) == 1)
1421 		return;
1422 
1423 	if (set_win(args[0], &win) != 0)
1424 		return;
1425 
1426 	vertical = (chtype *) args[1];
1427 	horizontal = (chtype *) args[2];
1428 
1429 	report_count(1);
1430 	report_return(box(win, vertical[0], horizontal[0]));
1431 }
1432 
1433 
1434 void
1435 cmd_can_change_color(int nargs, char **args)
1436 {
1437 	if (check_arg_count(nargs, 0) == 1)
1438 		return;
1439 
1440 	report_count(1);
1441 	report_int(can_change_color());
1442 }
1443 
1444 
1445 void
1446 cmd_cbreak(int nargs, char **args)
1447 {
1448 	if (check_arg_count(nargs, 0) == 1)
1449 		return;
1450 
1451 	report_count(1);
1452 	report_return(cbreak());
1453 }
1454 
1455 
1456 void
1457 cmd_clearok(int nargs, char **args)
1458 {
1459 	WINDOW *win;
1460 	int flag;
1461 
1462 	if (check_arg_count(nargs, 2) == 1)
1463 		return;
1464 
1465 	if ((set_win(args[0], &win) != 0) ||
1466 	    (set_int(args[1], &flag) != 0))
1467 		return;
1468 
1469 	report_count(1);
1470 	report_return(clearok(win, flag));
1471 }
1472 
1473 
1474 void
1475 cmd_color_content(int nargs, char **args)
1476 {
1477 	short colour, red, green, blue;
1478 
1479 	if (check_arg_count(nargs, 1) == 1)
1480 		return;
1481 
1482 	if (set_short(args[0], &colour) != 0)
1483 		return;
1484 
1485 	/* XXX - call4 */
1486 	report_count(4);
1487 	report_return(color_content(colour, &red, &green, &blue));
1488 	report_int(red);
1489 	report_int(green);
1490 	report_int(blue);
1491 }
1492 
1493 
1494 void
1495 cmd_copywin(int nargs, char **args)
1496 {
1497 	int sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, ovlay;
1498 	WINDOW *source, *destination;
1499 
1500 	if (check_arg_count(nargs, 9) == 1)
1501 		return;
1502 
1503 	if ((set_win(args[0], &source) != 0) ||
1504 	    (set_win(args[1], &destination) != 0) ||
1505 	    (set_int(args[2], &sminrow) != 0) ||
1506 	    (set_int(args[3], &smincol) != 0) ||
1507 	    (set_int(args[4], &dminrow) != 0) ||
1508 	    (set_int(args[5], &dmincol) != 0) ||
1509 	    (set_int(args[6], &dmaxrow) != 0) ||
1510 	    (set_int(args[7], &dmaxcol) != 0) ||
1511 	    (set_int(args[8], &ovlay) != 0))
1512 		return;
1513 
1514 	report_count(1);
1515 	report_return(copywin(source, destination, sminrow, smincol, dminrow,
1516 		dmincol, dmaxrow, dmaxcol, ovlay));
1517 }
1518 
1519 
1520 void
1521 cmd_curs_set(int nargs, char **args)
1522 {
1523 	int vis;
1524 
1525 	if (check_arg_count(nargs, 1) == 1)
1526 		return;
1527 
1528 	if (set_int(args[0], &vis) != 0)
1529 		return;
1530 
1531 	report_count(1);
1532 	report_int(curs_set(vis));
1533 }
1534 
1535 
1536 void
1537 cmd_def_prog_mode(int nargs, char **args)
1538 {
1539 	if (check_arg_count(nargs, 0) == 1)
1540 		return;
1541 
1542 	report_count(1);
1543 	report_return(def_prog_mode());
1544 }
1545 
1546 
1547 void
1548 cmd_def_shell_mode(int nargs, char **args)
1549 {
1550 	if (check_arg_count(nargs, 0) == 1)
1551 		return;
1552 
1553 	report_count(1);
1554 	report_return(def_shell_mode());
1555 }
1556 
1557 
1558 void
1559 cmd_define_key(int nargs, char **args)
1560 {
1561 	int symbol;
1562 
1563 	if (check_arg_count(nargs, 2) == 1)
1564 		return;
1565 
1566 	if (set_int(args[1], &symbol) != 0)
1567 		return;
1568 
1569 	report_count(1);
1570 	report_return(define_key(args[0], symbol));
1571 }
1572 
1573 
1574 void
1575 cmd_delay_output(int nargs, char **args)
1576 {
1577 	int dtime;
1578 
1579 	if (check_arg_count(nargs, 1) == 1)
1580 		return;
1581 
1582 	if (set_int(args[0], &dtime) != 0)
1583 		return;
1584 
1585 	report_count(1);
1586 	report_return(delay_output(dtime));
1587 }
1588 
1589 
1590 void
1591 cmd_delscreen(int nargs, char **args)
1592 {
1593 	SCREEN *scrn;
1594 
1595 	if (check_arg_count(nargs, 1) == 1)
1596 		return;
1597 
1598 	if (set_scrn(args[0], &scrn) != 0)
1599 		return;
1600 
1601 	delscreen(scrn);	/* void return */
1602 	report_count(1);
1603 	report_return(OK);
1604 }
1605 
1606 
1607 void
1608 cmd_delwin(int nargs, char **args)
1609 {
1610 	WINDOW *win;
1611 
1612 	if (check_arg_count(nargs, 1) == 1)
1613 		return;
1614 
1615 	if (set_win(args[0], &win) != 0)
1616 		return;
1617 
1618 	report_count(1);
1619 	report_return(delwin(win));
1620 }
1621 
1622 
1623 void
1624 cmd_derwin(int nargs, char **args)
1625 {
1626 	int lines, cols, y, x;
1627 	WINDOW *win;
1628 
1629 	if (check_arg_count(nargs, 5) == 1)
1630 		return;
1631 
1632 	if ((set_win(args[0], &win) != 0) ||
1633 	    (set_int(args[1], &lines) != 0) ||
1634 	    (set_int(args[2], &cols) != 0) ||
1635 	    (set_int(args[3], &y) != 0) ||
1636 	    (set_int(args[4], &x) != 0))
1637 		return;
1638 
1639 	report_count(1);
1640 	report_ptr(derwin(win, lines, cols, y, x));
1641 }
1642 
1643 
1644 void
1645 cmd_dupwin(int nargs, char **args)
1646 {
1647 	WINDOW *win;
1648 
1649 	if (check_arg_count(nargs, 1) == 1)
1650 		return;
1651 
1652 	if (set_win(args[0], &win) != 0)
1653 		return;
1654 
1655 	report_count(1);
1656 	report_ptr(dupwin(win));
1657 }
1658 
1659 
1660 void
1661 cmd_doupdate(int nargs, char **args)
1662 {
1663 	if (check_arg_count(nargs, 0) == 1)
1664 		return;
1665 
1666 	/* XXX - implicit refresh */
1667 	report_count(1);
1668 	report_return(doupdate());
1669 }
1670 
1671 
1672 void
1673 cmd_echo(int nargs, char **args)
1674 {
1675 	if (check_arg_count(nargs, 0) == 1)
1676 		return;
1677 
1678 	report_count(1);
1679 	report_return(echo());
1680 }
1681 
1682 
1683 void
1684 cmd_endwin(int nargs, char **args)
1685 {
1686 	if (check_arg_count(nargs, 0) == 1)
1687 		return;
1688 
1689 	report_count(1);
1690 	report_return(endwin());
1691 }
1692 
1693 
1694 void
1695 cmd_erasechar(int nargs, char **args)
1696 {
1697 	if (check_arg_count(nargs, 0) == 1)
1698 		return;
1699 
1700 	report_count(1);
1701 	report_int(erasechar());
1702 }
1703 
1704 
1705 void
1706 cmd_flash(int nargs, char **args)
1707 {
1708 	if (check_arg_count(nargs, 0) == 1)
1709 		return;
1710 
1711 	report_count(1);
1712 	report_return(flash());
1713 }
1714 
1715 
1716 void
1717 cmd_flushinp(int nargs, char **args)
1718 {
1719 	if (check_arg_count(nargs, 0) == 1)
1720 		return;
1721 
1722 	report_count(1);
1723 	report_return(flushinp());
1724 }
1725 
1726 
1727 void
1728 cmd_flushok(int nargs, char **args)
1729 {
1730 	int flag;
1731 	WINDOW *win;
1732 
1733 	if (check_arg_count(nargs, 2) == 1)
1734 		return;
1735 
1736 	if ((set_win(args[0], &win) != 0) ||
1737 	    (set_int(args[1], &flag) != 0))
1738 		return;
1739 
1740 	report_count(1);
1741 	report_return(flushok(win, flag));
1742 }
1743 
1744 
1745 void
1746 cmd_fullname(int nargs, char **args)
1747 {
1748 	char string[256];
1749 
1750 	if (check_arg_count(nargs, 1) == 1)
1751 		return;
1752 
1753 	/* XXX - call2 */
1754 	report_count(2);
1755 	report_status(fullname(args[0], string));
1756 	report_status(string);
1757 }
1758 
1759 
1760 void
1761 cmd_getattrs(int nargs, char **args)
1762 {
1763 	WINDOW *win;
1764 
1765 	if (check_arg_count(nargs, 1) == 1)
1766 		return;
1767 
1768 	if (set_win(args[0], &win) != 0)
1769 		return;
1770 
1771 	report_count(1);
1772 	report_int(getattrs(win));
1773 }
1774 
1775 
1776 void
1777 cmd_getbkgd(int nargs, char **args)
1778 {
1779 	WINDOW *win;
1780 
1781 	if (check_arg_count(nargs, 1) == 1)
1782 		return;
1783 
1784 	if (set_win(args[0], &win) != 0)
1785 		return;
1786 
1787 	report_count(1);
1788 	report_byte(getbkgd(win));
1789 }
1790 
1791 
1792 void
1793 cmd_getcury(int nargs, char **args)
1794 {
1795 	WINDOW *win;
1796 
1797 	if (check_arg_count(nargs, 1) == 1)
1798 		return;
1799 
1800 	if (set_win(args[0], &win) != 0)
1801 		return;
1802 
1803 	report_count(1);
1804 	report_int(getcury(win));
1805 }
1806 
1807 
1808 void
1809 cmd_getcurx(int nargs, char **args)
1810 {
1811 	WINDOW *win;
1812 
1813 	if (check_arg_count(nargs, 1) == 1)
1814 		return;
1815 
1816 	if (set_win(args[0], &win) != 0)
1817 		return;
1818 
1819 	report_count(1);
1820 	report_int(getcurx(win));
1821 }
1822 
1823 
1824 void
1825 cmd_getyx(int nargs, char **args)
1826 {
1827 	WINDOW *win;
1828 	int y, x;
1829 
1830 	if (check_arg_count(nargs, 1) == 1)
1831 		return;
1832 
1833 	if (set_win(args[0], &win) != 0)
1834 		return;
1835 
1836 	getyx(win, y, x);
1837 	report_count(2);
1838 	report_int(y);
1839 	report_int(x);
1840 }
1841 
1842 
1843 void
1844 cmd_getbegy(int nargs, char **args)
1845 {
1846 	WINDOW *win;
1847 
1848 	if (check_arg_count(nargs, 1) == 1)
1849 		return;
1850 
1851 	if (set_win(args[0], &win) != 0)
1852 		return;
1853 
1854 	report_count(1);
1855 	report_int(getbegy(win));
1856 }
1857 
1858 
1859 void
1860 cmd_getbegx(int nargs, char **args)
1861 {
1862 	WINDOW *win;
1863 
1864 	if (check_arg_count(nargs, 1) == 1)
1865 		return;
1866 
1867 	if (set_win(args[0], &win) != 0)
1868 		return;
1869 
1870 	report_count(1);
1871 	report_int(getbegx(win));
1872 }
1873 
1874 
1875 void
1876 cmd_getmaxy(int nargs, char **args)
1877 {
1878 	WINDOW *win;
1879 
1880 	if (check_arg_count(nargs, 1) == 1)
1881 		return;
1882 
1883 	if (set_win(args[0], &win) != 0)
1884 		return;
1885 
1886 	report_count(1);
1887 	report_int(getmaxy(win));
1888 }
1889 
1890 
1891 void
1892 cmd_getmaxx(int nargs, char **args)
1893 {
1894 	WINDOW *win;
1895 
1896 	if (check_arg_count(nargs, 1) == 1)
1897 		return;
1898 
1899 	if (set_win(args[0], &win) != 0)
1900 		return;
1901 
1902 	report_count(1);
1903 	report_int(getmaxx(win));
1904 }
1905 
1906 
1907 void
1908 cmd_getpary(int nargs, char **args)
1909 {
1910 	WINDOW *win;
1911 
1912 	if (check_arg_count(nargs, 1) == 1)
1913 		return;
1914 
1915 	if (set_win(args[0], &win) != 0)
1916 		return;
1917 
1918 	report_count(1);
1919 	report_int(getpary(win));
1920 }
1921 
1922 
1923 void
1924 cmd_getparx(int nargs, char **args)
1925 {
1926 	WINDOW *win;
1927 
1928 	if (check_arg_count(nargs, 1) == 1)
1929 		return;
1930 
1931 	if (set_win(args[0], &win) != 0)
1932 		return;
1933 
1934 	report_count(1);
1935 	report_int(getparx(win));
1936 }
1937 
1938 
1939 void
1940 cmd_getparyx(int nargs, char **args)
1941 {
1942 	WINDOW *win;
1943 	int y, x;
1944 
1945 	if (check_arg_count(nargs, 1) == 1)
1946 		return;
1947 
1948 	if (set_win(args[0], &win) != 0)
1949 		return;
1950 
1951 	report_count(2);
1952 	getparyx(win, y, x);
1953 	report_int(y);
1954 	report_int(x);
1955 }
1956 
1957 void
1958 cmd_getmaxyx(int nargs, char **args)
1959 {
1960 	WINDOW *win;
1961 	int y, x;
1962 
1963 	if (check_arg_count(nargs, 1) == 1)
1964 		return;
1965 
1966 	if (set_win(args[0], &win) != 0)
1967 		return;
1968 
1969 	getmaxyx(win, y, x);
1970 	report_count(2);
1971 	report_int(y);
1972 	report_int(x);
1973 }
1974 
1975 void
1976 cmd_getbegyx(int nargs, char **args)
1977 {
1978 	WINDOW *win;
1979 	int y, x;
1980 
1981 	if (check_arg_count(nargs, 1) == 1)
1982 		return;
1983 
1984 	if (set_win(args[0], &win) != 0)
1985 		return;
1986 
1987 	getbegyx(win, y, x);
1988 	report_count(2);
1989 	report_int(y);
1990 	report_int(x);
1991 }
1992 
1993 void
1994 cmd_setsyx(int nargs, char **args)
1995 {
1996 	int y, x;
1997 
1998 	if (check_arg_count(nargs, 2) == 1)
1999 		return;
2000 
2001 	if ((set_int(args[0], &y) != 0) ||
2002 	    (set_int(args[1], &x) != 0))
2003 		return;
2004 
2005 	report_count(1);
2006 	setsyx(y, x);
2007 	report_return(OK);
2008 }
2009 
2010 void
2011 cmd_getsyx(int nargs, char **args)
2012 {
2013 	int y, x;
2014 
2015 	if (check_arg_count(nargs, 0) == 1)
2016 		return;
2017 
2018 	report_count(3);
2019 	getsyx(y, x);
2020 	report_return(OK);
2021 	report_int(y);
2022 	report_int(x);
2023 }
2024 
2025 void
2026 cmd_gettmode(int nargs, char **args)
2027 {
2028 	if (check_arg_count(nargs, 0) == 1)
2029 		return;
2030 
2031 	report_count(1);
2032 	report_return(gettmode());
2033 }
2034 
2035 
2036 void
2037 cmd_getwin(int nargs, char **args)
2038 {
2039 	FILE *fp;
2040 
2041 	if (check_arg_count(nargs, 1) == 1)
2042 		return;
2043 
2044 	if ((fp = fopen(args[0], "r")) == NULL) {
2045 		report_count(1);
2046 		report_error("BAD FILE_ARGUMENT");
2047 		return;
2048 	}
2049 	report_count(1);
2050 	report_ptr(getwin(fp));
2051 	fclose(fp);
2052 }
2053 
2054 
2055 void
2056 cmd_halfdelay(int nargs, char **args)
2057 {
2058 	int ms;
2059 
2060 	if (check_arg_count(nargs, 1) == 1)
2061 		return;
2062 
2063 	if (set_int(args[0], &ms) != 0)
2064 		return;
2065 
2066 	report_count(1);
2067 	report_return(halfdelay(ms));
2068 }
2069 
2070 
2071 void
2072 cmd_has_colors(int nargs, char **args)
2073 {
2074 	if (check_arg_count(nargs, 0) == 1)
2075 		return;
2076 
2077 	report_count(1);
2078 	report_int(has_colors());
2079 }
2080 
2081 
2082 void
2083 cmd_has_ic(int nargs, char **args)
2084 {
2085 	if (check_arg_count(nargs, 0) == 1)
2086 		return;
2087 
2088 	report_count(1);
2089 	report_int(has_ic());
2090 }
2091 
2092 
2093 void
2094 cmd_has_il(int nargs, char **args)
2095 {
2096 	if (check_arg_count(nargs, 0) == 1)
2097 		return;
2098 
2099 	report_count(1);
2100 	report_int(has_il());
2101 }
2102 
2103 
2104 void
2105 cmd_hline(int nargs, char **args)
2106 {
2107 	int count;
2108 	chtype *ch;
2109 
2110 	if (check_arg_count(nargs, 2) == 1)
2111 		return;
2112 
2113 	ch = (chtype *) args[0];
2114 	if (set_int(args[1], &count) != 0)
2115 		return;
2116 
2117 	report_count(1);
2118 	report_return(hline(ch[0], count));
2119 }
2120 
2121 
2122 void
2123 cmd_idcok(int nargs, char **args)
2124 {
2125 	int flag;
2126 	WINDOW *win;
2127 
2128 	if (check_arg_count(nargs, 2) == 1)
2129 		return;
2130 
2131 	if ((set_win(args[0], &win) != 0) ||
2132 	    (set_int(args[1], &flag) != 0))
2133 		return;
2134 
2135 	report_count(1);
2136 	report_return(idcok(win, flag));
2137 }
2138 
2139 
2140 void
2141 cmd_idlok(int nargs, char **args)
2142 {
2143 	int flag;
2144 	WINDOW *win;
2145 
2146 	if (check_arg_count(nargs, 2) == 1)
2147 		return;
2148 
2149 	if ((set_win(args[0], &win) != 0) ||
2150 	    (set_int(args[1], &flag) != 0))
2151 		return;
2152 
2153 	report_count(1);
2154 	report_return(idlok(win, flag));
2155 }
2156 
2157 
2158 void
2159 cmd_init_color(int nargs, char **args)
2160 {
2161 	short colour, red, green, blue;
2162 
2163 	if (check_arg_count(nargs, 4) == 1)
2164 		return;
2165 
2166 	if ((set_short(args[0], &colour) != 0) ||
2167 	    (set_short(args[1], &red) != 0) ||
2168 	    (set_short(args[2], &green) != 0) ||
2169 	    (set_short(args[3], &blue) != 0))
2170 		return;
2171 
2172 	report_count(1);
2173 	report_return(init_color(colour, red, green, blue));
2174 }
2175 
2176 
2177 void
2178 cmd_init_pair(int nargs, char **args)
2179 {
2180 	short pair, fore, back;
2181 
2182 	if (check_arg_count(nargs, 3) == 1)
2183 		return;
2184 
2185 	if ((set_short(args[0], &pair) != 0) ||
2186 	    (set_short(args[1], &fore) != 0) ||
2187 	    (set_short(args[2], &back) != 0))
2188 		return;
2189 
2190 	report_count(1);
2191 	report_return(init_pair(pair, fore, back));
2192 }
2193 
2194 
2195 void
2196 cmd_initscr(int nargs, char **args)
2197 {
2198 	if (check_arg_count(nargs, 0) == 1)
2199 		return;
2200 
2201 	report_count(1);
2202 	report_ptr(initscr());
2203 }
2204 
2205 
2206 void
2207 cmd_intrflush(int nargs, char **args)
2208 {
2209 	int flag;
2210 	WINDOW *win;
2211 
2212 	if (check_arg_count(nargs, 2) == 1)
2213 		return;
2214 
2215 	if ((set_win(args[0], &win) != 0) ||
2216 	    (set_int(args[1], &flag) != 0))
2217 		return;
2218 
2219 	report_count(1);
2220 	report_return(intrflush(win, flag));
2221 }
2222 
2223 
2224 void
2225 cmd_isendwin(int nargs, char **args)
2226 {
2227 	if (check_arg_count(nargs, 0) == 1)
2228 		return;
2229 
2230 	report_count(1);
2231 	report_int(isendwin());
2232 }
2233 
2234 
2235 void
2236 cmd_is_linetouched(int nargs, char **args)
2237 {
2238 	int line;
2239 	WINDOW *win;
2240 
2241 	if (check_arg_count(nargs, 2) == 1)
2242 		return;
2243 
2244 	if ((set_win(args[0], &win) != 0) ||
2245 	    (set_int(args[1], &line) != 0))
2246 		return;
2247 
2248 	report_count(1);
2249 	report_int(is_linetouched(win, line));
2250 }
2251 
2252 
2253 void
2254 cmd_is_wintouched(int nargs, char **args)
2255 {
2256 	WINDOW *win;
2257 
2258 	if (check_arg_count(nargs, 1) == 1)
2259 		return;
2260 
2261 	if (set_win(args[0], &win) != 0)
2262 		return;
2263 
2264 	report_count(1);
2265 	report_int(is_wintouched(win));
2266 }
2267 
2268 
2269 void
2270 cmd_keyok(int nargs, char **args)
2271 {
2272 	int keysym, flag;
2273 
2274 	if (check_arg_count(nargs, 2) == 1)
2275 		return;
2276 
2277 	if ((set_int(args[0], &keysym) != 0) ||
2278 	    (set_int(args[1], &flag) != 0))
2279 		return;
2280 
2281 	report_count(1);
2282 	report_return(keyok(keysym, flag));
2283 }
2284 
2285 
2286 void
2287 cmd_keypad(int nargs, char **args)
2288 {
2289 	int flag;
2290 	WINDOW *win;
2291 
2292 	if (check_arg_count(nargs, 2) == 1)
2293 		return;
2294 
2295 	if ((set_win(args[0], &win) != 0) ||
2296 	    (set_int(args[1], &flag) != 0))
2297 		return;
2298 
2299 	report_count(1);
2300 	report_return(keypad(win, flag));
2301 }
2302 
2303 void
2304 cmd_is_keypad(int nargs, char **args)
2305 {
2306 	WINDOW *win;
2307 
2308 	if (check_arg_count(nargs, 1) == 1)
2309 		return;
2310 
2311 	if (set_win(args[0], &win) != 0)
2312 		return;
2313 
2314 	report_count(1);
2315 	report_int(is_keypad(win));
2316 }
2317 
2318 void
2319 cmd_keyname(int nargs, char **args)
2320 {
2321 	unsigned int key;
2322 
2323 	if (check_arg_count(nargs, 1) == 1)
2324 		return;
2325 
2326 	if (set_uint(args[0], &key) != 0)
2327 		return;
2328 
2329 	report_count(1);
2330 	report_status(keyname(key));
2331 }
2332 
2333 
2334 void
2335 cmd_killchar(int nargs, char **args)
2336 {
2337 	if (check_arg_count(nargs, 0) == 1)
2338 		return;
2339 
2340 	report_count(1);
2341 	report_int(killchar());
2342 }
2343 
2344 
2345 void
2346 cmd_leaveok(int nargs, char **args)
2347 {
2348 	int flag;
2349 	WINDOW *win;
2350 
2351 	if (check_arg_count(nargs, 2) == 1)
2352 		return;
2353 
2354 	if ((set_win(args[0], &win) != 0) ||
2355 	    (set_int(args[1], &flag) != 0))
2356 		return;
2357 
2358 	report_count(1);
2359 	report_return(leaveok(win, flag));
2360 }
2361 
2362 void
2363 cmd_is_leaveok(int nargs, char **args)
2364 {
2365 	WINDOW *win;
2366 
2367 	if (check_arg_count(nargs, 1) == 1)
2368 		return;
2369 
2370 	if (set_win(args[0], &win) != 0)
2371 		return;
2372 
2373 	report_count(1);
2374 	report_int(is_leaveok(win));
2375 }
2376 
2377 void
2378 cmd_meta(int nargs, char **args)
2379 {
2380 	int flag;
2381 	WINDOW *win;
2382 
2383 	if (check_arg_count(nargs, 2) == 1)
2384 		return;
2385 
2386 	if ((set_win(args[0], &win) != 0) ||
2387 	    (set_int(args[1], &flag) != 0))
2388 		return;
2389 
2390 	report_count(1);
2391 	report_return(meta(win, flag));
2392 }
2393 
2394 
2395 void
2396 cmd_mvcur(int nargs, char **args)
2397 {
2398 	int oldy, oldx, y, x;
2399 
2400 	if (check_arg_count(nargs, 4) == 1)
2401 		return;
2402 
2403 	if ((set_int(args[0], &oldy) != 0) ||
2404 	    (set_int(args[1], &oldx) != 0) ||
2405 	    (set_int(args[2], &y) != 0) ||
2406 	    (set_int(args[3], &x) != 0))
2407 		return;
2408 
2409 	report_count(1);
2410 	report_return(mvcur(oldy, oldx, y, x));
2411 }
2412 
2413 
2414 void
2415 cmd_mvderwin(int nargs, char **args)
2416 {
2417 	int y, x;
2418 	WINDOW *win;
2419 
2420 	if (check_arg_count(nargs, 3) == 1)
2421 		return;
2422 
2423 	if ((set_win(args[0], &win) != 0) ||
2424 	    (set_int(args[1], &y) != 0) ||
2425 	    (set_int(args[2], &x) != 0))
2426 		return;
2427 
2428 	report_count(1);
2429 	report_return(mvderwin(win, y, x));
2430 }
2431 
2432 
2433 void
2434 cmd_mvhline(int nargs, char **args)
2435 {
2436 	int y, x, n;
2437 	chtype *ch;
2438 
2439 	if (check_arg_count(nargs, 4) == 1)
2440 		return;
2441 
2442 	if ((set_int(args[0], &y) != 0) ||
2443 	    (set_int(args[1], &x) != 0) ||
2444 	    (set_int(args[3], &n) != 0))
2445 		return;
2446 
2447 	ch = (chtype *) args[2];
2448 
2449 	report_count(1);
2450 	report_return(mvhline(y, x, ch[0], n));
2451 }
2452 
2453 
2454 void
2455 cmd_mvprintw(int nargs, char **args)
2456 {
2457 	int y, x;
2458 
2459 	if (check_arg_count(nargs, 4) == 1)
2460 		return;
2461 
2462 	if ((set_int(args[0], &y) != 0) ||
2463 	    (set_int(args[1], &x) != 0))
2464 		return;
2465 
2466 	report_count(1);
2467 	report_return(mvprintw(y, x, args[2], args[3]));
2468 }
2469 
2470 
2471 void
2472 cmd_mvscanw(int nargs, char **args)
2473 {
2474 	int y, x;
2475 	char string[256];
2476 
2477 	if (check_arg_count(nargs, 3) == 1)
2478 		return;
2479 
2480 	if ((set_int(args[0], &y) != 0) ||
2481 	    (set_int(args[1], &x) != 0))
2482 		return;
2483 
2484 	/* XXX - call2 */
2485 	report_count(2);
2486 	report_return(mvscanw(y, x, args[2], &string));
2487 	report_status(string);
2488 }
2489 
2490 
2491 void
2492 cmd_mvvline(int nargs, char **args)
2493 {
2494 	int y, x, n;
2495 	chtype *ch;
2496 
2497 	if (check_arg_count(nargs, 4) == 1)
2498 		return;
2499 
2500 	if ((set_int(args[0], &y) != 0) ||
2501 	    (set_int(args[1], &x) != 0) ||
2502 	    (set_int(args[3], &n) != 0))
2503 		return;
2504 
2505 	ch = (chtype *) args[2];
2506 
2507 	report_count(1);
2508 	report_return(mvvline(y, x, ch[0], n));
2509 }
2510 
2511 
2512 void
2513 cmd_mvwhline(int nargs, char **args)
2514 {
2515 	int y, x, n;
2516 	chtype *ch;
2517 	WINDOW *win;
2518 
2519 	if (check_arg_count(nargs, 5) == 1)
2520 		return;
2521 
2522 	if ((set_win(args[0], &win) != 0) ||
2523 	    (set_int(args[1], &y) != 0) ||
2524 	    (set_int(args[2], &x) != 0) ||
2525 	    (set_int(args[4], &n) != 0))
2526 		return;
2527 
2528 	ch = (chtype *) args[3];
2529 
2530 	report_count(1);
2531 	report_return(mvwhline(win, y, x, ch[0], n));
2532 }
2533 
2534 
2535 void
2536 cmd_mvwvline(int nargs, char **args)
2537 {
2538 	int y, x, n;
2539 	WINDOW *win;
2540 	chtype *ch;
2541 
2542 	if (check_arg_count(nargs, 5) == 1)
2543 		return;
2544 
2545 	if ((set_win(args[0], &win) != 0) ||
2546 	    (set_int(args[1], &y) != 0) ||
2547 	    (set_int(args[2], &x) != 0) ||
2548 	    (set_int(args[4], &n) != 0))
2549 		return;
2550 
2551 	ch = (chtype *) args[3];
2552 
2553 	report_count(1);
2554 	report_return(mvwvline(win, y, x, ch[0], n));
2555 }
2556 
2557 
2558 void
2559 cmd_mvwin(int nargs, char **args)
2560 {
2561 	int y, x;
2562 	WINDOW *win;
2563 
2564 	if (check_arg_count(nargs, 3) == 1)
2565 		return;
2566 
2567 	if ((set_win(args[0], &win) != 0) ||
2568 	    (set_int(args[1], &y) != 0) ||
2569 	    (set_int(args[2], &x) != 0))
2570 		return;
2571 
2572 	report_count(1);
2573 	report_return(mvwin(win, y, x));
2574 }
2575 
2576 
2577 void
2578 cmd_mvwinchnstr(int nargs, char **args)
2579 {
2580 	int y, x, count;
2581 	chtype *string;
2582 	WINDOW *win;
2583 
2584 	if (check_arg_count(nargs, 4) == 1)
2585 		return;
2586 
2587 	if ((set_win(args[0], &win) != 0) ||
2588 	    (set_int(args[1], &y) != 0) ||
2589 	    (set_int(args[2], &x) != 0) ||
2590 	    (set_int(args[3], &count) != 0))
2591 		return;
2592 
2593 	if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) {
2594 		report_count(1);
2595 		report_error("MALLOC_FAILED");
2596 		return;
2597 	}
2598 	/* XXX call2 */
2599 	report_count(2);
2600 	report_return(mvwinchnstr(win, y, x, string, count));
2601 	report_nstr(string);
2602 	free(string);
2603 }
2604 
2605 
2606 void
2607 cmd_mvwinchstr(int nargs, char **args)
2608 {
2609 	int y, x;
2610 	chtype string[256];
2611 	WINDOW *win;
2612 
2613 	if (check_arg_count(nargs, 3) == 1)
2614 		return;
2615 
2616 	if ((set_win(args[0], &win) != 0) ||
2617 	    (set_int(args[1], &y) != 0) ||
2618 	    (set_int(args[2], &x) != 0))
2619 		return;
2620 
2621 	/* XXX call2 */
2622 	report_count(2);
2623 	report_return(mvwinchstr(win, y, x, string));
2624 	report_nstr(string);
2625 }
2626 
2627 
2628 void
2629 cmd_mvwinnstr(int nargs, char **args)
2630 {
2631 	int y, x, count;
2632 	char *string;
2633 	WINDOW *win;
2634 
2635 	if (check_arg_count(nargs, 4) == 1)
2636 		return;
2637 
2638 	if ((set_win(args[0], &win) != 0) ||
2639 	    (set_int(args[1], &y) != 0) ||
2640 	    (set_int(args[2], &x) != 0) ||
2641 	    (set_int(args[3], &count) != 0))
2642 		return;
2643 
2644 	if ((string = malloc(count + 1)) == NULL) {
2645 		report_count(1);
2646 		report_error("MALLOC_FAILED");
2647 		return;
2648 	}
2649 	/* XXX call2 */
2650 	report_count(2);
2651 	report_int(mvwinnstr(win, y, x, string, count));
2652 	report_status(string);
2653 	free(string);
2654 }
2655 
2656 
2657 void
2658 cmd_mvwinstr(int nargs, char **args)
2659 {
2660 	int y, x;
2661 	char string[256];
2662 	WINDOW *win;
2663 
2664 	if (check_arg_count(nargs, 3) == 1)
2665 		return;
2666 
2667 	if ((set_win(args[0], &win) != 0) ||
2668 	    (set_int(args[1], &y) != 0) ||
2669 	    (set_int(args[2], &x) != 0))
2670 		return;
2671 
2672 	/* XXX call2 */
2673 	report_count(2);
2674 	report_return(mvwinstr(win, y, x, string));
2675 	report_status(string);
2676 }
2677 
2678 
2679 void
2680 cmd_mvwprintw(int nargs, char **args)
2681 {
2682 	int y, x;
2683 	WINDOW *win;
2684 
2685 	if (check_arg_count(nargs, 5) == 1)
2686 		return;
2687 
2688 	if ((set_win(args[0], &win) != 0) ||
2689 	    (set_int(args[1], &y) != 0) ||
2690 	    (set_int(args[2], &x) != 0))
2691 		return;
2692 
2693 	report_count(1);
2694 	report_return(mvwprintw(win, y, x, args[3], args[4]));
2695 }
2696 
2697 
2698 void
2699 cmd_mvwscanw(int nargs, char **args)
2700 {
2701 	int y, x;
2702 	WINDOW *win;
2703 	char string[256];
2704 
2705 	if (check_arg_count(nargs, 4) == 1)
2706 		return;
2707 
2708 	if ((set_win(args[0], &win) != 0) ||
2709 	    (set_int(args[1], &y) != 0) ||
2710 	    (set_int(args[2], &x) != 0))
2711 		return;
2712 
2713 	/* XXX - call2 */
2714 	report_count(2);
2715 	report_int(mvwscanw(win, y, x, args[3], &string));
2716 	report_status(string);
2717 }
2718 
2719 
2720 void
2721 cmd_napms(int nargs, char **args)
2722 {
2723 	int naptime;
2724 
2725 	if (check_arg_count(nargs, 1) == 1)
2726 		return;
2727 
2728 	if (set_int(args[0], &naptime) != 0)
2729 		return;
2730 
2731 	report_count(1);
2732 	report_return(napms(naptime));
2733 }
2734 
2735 
2736 void
2737 cmd_newpad(int nargs, char **args)
2738 {
2739 	int y, x;
2740 
2741 	if (check_arg_count(nargs, 2) == 1)
2742 		return;
2743 
2744 	if ((set_int(args[0], &y) != 0) ||
2745 	    (set_int(args[1], &x) != 0))
2746 		return;
2747 
2748 	report_count(1);
2749 	report_ptr(newpad(y, x));
2750 }
2751 
2752 
2753 void
2754 cmd_newterm(int nargs, char **args)
2755 {
2756 	FILE *in, *out;
2757 
2758 	if (check_arg_count(nargs, 3) == 1)
2759 		return;
2760 
2761 	if ((in = fopen(args[1], "rw")) == NULL) {
2762 		report_count(1);
2763 		report_error("BAD FILE_ARGUMENT");
2764 		return;
2765 	}
2766 	if ((out = fopen(args[2], "rw")) == NULL) {
2767 		report_count(1);
2768 		report_error("BAD FILE_ARGUMENT");
2769 		return;
2770 	}
2771 	report_count(1);
2772 	report_ptr(newterm(args[0], out, in));
2773 }
2774 
2775 
2776 void
2777 cmd_newwin(int nargs, char **args)
2778 {
2779 	int lines, cols, begin_y, begin_x;
2780 
2781 	if (check_arg_count(nargs, 4) == 1)
2782 		return;
2783 
2784 	if ((set_int(args[0], &lines) != 0) ||
2785 	    (set_int(args[1], &cols) != 0) ||
2786 	    (set_int(args[2], &begin_y) != 0) ||
2787 	    (set_int(args[3], &begin_x) != 0))
2788 		return;
2789 
2790 	report_count(1);
2791 	report_ptr(newwin(lines, cols, begin_y, begin_x));
2792 }
2793 
2794 
2795 void
2796 cmd_nl(int nargs, char **args)
2797 {
2798 	if (check_arg_count(nargs, 0) == 1)
2799 		return;
2800 
2801 	report_count(1);
2802 	report_return(nl());
2803 }
2804 
2805 
2806 void
2807 cmd_no_color_attributes(int nargs, char **args)
2808 {
2809 	if (check_arg_count(nargs, 0) == 1)
2810 		return;
2811 
2812 	report_count(1);
2813 	report_int(no_color_attributes());
2814 }
2815 
2816 
2817 void
2818 cmd_nocbreak(int nargs, char **args)
2819 {
2820 	if (check_arg_count(nargs, 0) == 1)
2821 		return;
2822 
2823 	report_count(1);
2824 	report_return(nocbreak());
2825 }
2826 
2827 
2828 void
2829 cmd_nodelay(int nargs, char **args)
2830 {
2831 	int flag;
2832 	WINDOW *win;
2833 
2834 	if (check_arg_count(nargs, 2) == 1)
2835 		return;
2836 
2837 	if ((set_win(args[0], &win) != 0) ||
2838 	    (set_int(args[1], &flag) != 0))
2839 		return;
2840 
2841 	report_count(1);
2842 	report_return(nodelay(win, flag));
2843 }
2844 
2845 
2846 void
2847 cmd_noecho(int nargs, char **args)
2848 {
2849 	if (check_arg_count(nargs, 0) == 1)
2850 		return;
2851 
2852 	report_count(1);
2853 	report_return(noecho());
2854 }
2855 
2856 
2857 void
2858 cmd_nonl(int nargs, char **args)
2859 {
2860 	if (check_arg_count(nargs, 0) == 1)
2861 		return;
2862 
2863 	report_count(1);
2864 	report_return(nonl());
2865 }
2866 
2867 
2868 void
2869 cmd_noqiflush(int nargs, char **args)
2870 {
2871 	if (check_arg_count(nargs, 0) == 1)
2872 		return;
2873 
2874 	noqiflush();
2875 	report_count(1);
2876 	report_return(OK);	/* fake a return, the call returns void */
2877 }
2878 
2879 
2880 void
2881 cmd_noraw(int nargs, char **args)
2882 {
2883 	if (check_arg_count(nargs, 0) == 1)
2884 		return;
2885 
2886 	report_count(1);
2887 	report_return(noraw());
2888 }
2889 
2890 
2891 void
2892 cmd_notimeout(int nargs, char **args)
2893 {
2894 	int flag;
2895 	WINDOW *win;
2896 
2897 	if (check_arg_count(nargs, 2) == 1)
2898 		return;
2899 
2900 	if ((set_win(args[0], &win) != 0) ||
2901 	    (set_int(args[1], &flag) != 0))
2902 		return;
2903 
2904 	report_count(1);
2905 	report_return(notimeout(win, flag));
2906 }
2907 
2908 
2909 void
2910 cmd_overlay(int nargs, char **args)
2911 {
2912 	WINDOW *source, *dest;
2913 
2914 	if (check_arg_count(nargs, 2) == 1)
2915 		return;
2916 
2917 	if ((set_win(args[0], &source) != 0) ||
2918 	    (set_win(args[1], &dest) != 0))
2919 		return;
2920 
2921 	report_count(1);
2922 	report_return(overlay(source, dest));
2923 }
2924 
2925 
2926 void
2927 cmd_overwrite(int nargs, char **args)
2928 {
2929 	WINDOW *source, *dest;
2930 
2931 	if (check_arg_count(nargs, 2) == 1)
2932 		return;
2933 
2934 	if ((set_win(args[0], &source) != 0) ||
2935 	    (set_win(args[1], &dest) != 0))
2936 		return;
2937 
2938 	report_count(1);
2939 	report_return(overwrite(source, dest));
2940 }
2941 
2942 
2943 void
2944 cmd_pair_content(int nargs, char **args)
2945 {
2946 	short pair, fore, back;
2947 
2948 	if (check_arg_count(nargs, 1) == 1)
2949 		return;
2950 
2951 	if (set_short(args[0], &pair) != 0)
2952 		return;
2953 
2954 	/* XXX - call3 */
2955 	report_count(3);
2956 	report_return(pair_content(pair, &fore, &back));
2957 	report_int(fore);
2958 	report_int(back);
2959 }
2960 
2961 
2962 void
2963 cmd_pechochar(int nargs, char **args)
2964 {
2965 	chtype *ch;
2966 	WINDOW *pad;
2967 
2968 	if (check_arg_count(nargs, 2) == 1)
2969 		return;
2970 
2971 	if (set_win(args[0], &pad) != 0)
2972 		return;
2973 
2974 	ch = (chtype *) args[1];
2975 
2976 	report_count(1);
2977 	report_return(pechochar(pad, ch[0]));
2978 }
2979 
2980 
2981 void
2982 cmd_pnoutrefresh(int nargs, char **args)
2983 {
2984 	int pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y, smax_x;
2985 	WINDOW *pad;
2986 
2987 	if (check_arg_count(nargs, 7) == 1)
2988 		return;
2989 
2990 	if ((set_win(args[0], &pad) != 0) ||
2991 	    (set_int(args[1], &pbeg_y) != 0) ||
2992 	    (set_int(args[2], &pbeg_x) != 0) ||
2993 	    (set_int(args[3], &sbeg_y) != 0) ||
2994 	    (set_int(args[4], &sbeg_x) != 0) ||
2995 	    (set_int(args[5], &smax_y) != 0) ||
2996 	    (set_int(args[6], &smax_x) != 0))
2997 		return;
2998 
2999 	report_count(1);
3000 	report_return(pnoutrefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y,
3001 		smax_x));
3002 }
3003 
3004 
3005 void
3006 cmd_prefresh(int nargs, char **args)
3007 {
3008 	int pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y, smax_x;
3009 	WINDOW *pad;
3010 
3011 	if (check_arg_count(nargs, 7) == 1)
3012 		return;
3013 
3014 	if ((set_win(args[0], &pad) != 0) ||
3015 	    (set_int(args[1], &pbeg_y) != 0) ||
3016 	    (set_int(args[2], &pbeg_x) != 0) ||
3017 	    (set_int(args[3], &sbeg_y) != 0) ||
3018 	    (set_int(args[4], &sbeg_x) != 0) ||
3019 	    (set_int(args[5], &smax_y) != 0) ||
3020 	    (set_int(args[6], &smax_x) != 0))
3021 		return;
3022 
3023 	/* XXX causes refresh */
3024 	report_count(1);
3025 	report_return(prefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y,
3026 		smax_x));
3027 
3028 }
3029 
3030 
3031 void
3032 cmd_printw(int nargs, char **args)
3033 {
3034 	if (check_arg_count(nargs, 2) == 1)
3035 		return;
3036 
3037 	report_count(1);
3038 	report_return(printw(args[0], args[1]));
3039 }
3040 
3041 
3042 void
3043 cmd_putwin(int nargs, char **args)
3044 {
3045 	FILE *fp;
3046 	WINDOW *win;
3047 
3048 	if (check_arg_count(nargs, 2) == 1)
3049 		return;
3050 
3051 	if (set_win(args[0], &win) != 0)
3052 		return;
3053 
3054 	if ((fp = fopen(args[1], "w")) == NULL) {
3055 		report_count(1);
3056 		report_error("BAD FILE_ARGUMENT");
3057 		return;
3058 	}
3059 	report_count(1);
3060 	report_return(putwin(win, fp));
3061 	fclose(fp);
3062 }
3063 
3064 
3065 void
3066 cmd_qiflush(int nargs, char **args)
3067 {
3068 	if (check_arg_count(nargs, 0) == 1)
3069 		return;
3070 
3071 	qiflush();
3072 	report_count(1);
3073 	report_return(OK);	/* fake a return because call returns void */
3074 }
3075 
3076 
3077 void
3078 cmd_raw(int nargs, char **args)
3079 {
3080 	if (check_arg_count(nargs, 0) == 1)
3081 		return;
3082 
3083 	report_count(1);
3084 	report_return(raw());
3085 }
3086 
3087 
3088 void
3089 cmd_redrawwin(int nargs, char **args)
3090 {
3091 	WINDOW *win;
3092 
3093 	if (check_arg_count(nargs, 1) == 1)
3094 		return;
3095 
3096 	if (set_win(args[0], &win) != 0)
3097 		return;
3098 
3099 	report_count(1);
3100 	report_return(redrawwin(win));
3101 }
3102 
3103 
3104 void
3105 cmd_reset_prog_mode(int nargs, char **args)
3106 {
3107 	if (check_arg_count(nargs, 0) == 1)
3108 		return;
3109 
3110 	report_count(1);
3111 	report_return(reset_prog_mode());
3112 }
3113 
3114 
3115 void
3116 cmd_reset_shell_mode(int nargs, char **args)
3117 {
3118 	if (check_arg_count(nargs, 0) == 1)
3119 		return;
3120 
3121 	report_count(1);
3122 	report_return(reset_shell_mode());
3123 }
3124 
3125 
3126 void
3127 cmd_resetty(int nargs, char **args)
3128 {
3129 	if (check_arg_count(nargs, 0) == 1)
3130 		return;
3131 
3132 	report_count(1);
3133 	report_return(resetty());
3134 }
3135 
3136 
3137 void
3138 cmd_resizeterm(int nargs, char **args)
3139 {
3140 	int rows, cols;
3141 
3142 	if (check_arg_count(nargs, 2) == 1)
3143 		return;
3144 
3145 	if ((set_int(args[0], &rows) != 0) ||
3146 	    (set_int(args[1], &cols) != 0))
3147 		return;
3148 
3149 	report_count(1);
3150 	report_return(resizeterm(rows, cols));
3151 }
3152 
3153 
3154 void
3155 cmd_savetty(int nargs, char **args)
3156 {
3157 	if (check_arg_count(nargs, 0) == 1)
3158 		return;
3159 
3160 	report_count(1);
3161 	report_return(savetty());
3162 }
3163 
3164 
3165 void
3166 cmd_scanw(int nargs, char **args)
3167 {
3168 	char string[256];
3169 
3170 	if (check_arg_count(nargs, 0) == 1)
3171 		return;
3172 
3173 	/* XXX call2 */
3174 	report_count(2);
3175 	report_return(scanw("%s", string));
3176 	report_status(string);
3177 }
3178 
3179 
3180 void
3181 cmd_scroll(int nargs, char **args)
3182 {
3183 	WINDOW *win;
3184 
3185 	if (check_arg_count(nargs, 1) == 1)
3186 		return;
3187 
3188 	if (set_win(args[0], &win) != 0)
3189 		return;
3190 
3191 	report_count(1);
3192 	report_return(scroll(win));
3193 }
3194 
3195 
3196 void
3197 cmd_scrollok(int nargs, char **args)
3198 {
3199 	WINDOW *win;
3200 	int flag;
3201 
3202 	if (check_arg_count(nargs, 2) == 1)
3203 		return;
3204 
3205 	if ((set_win(args[0], &win) != 0) ||
3206 	    (set_int(args[1], &flag) != 0))
3207 		return;
3208 
3209 	report_count(1);
3210 	report_return(scrollok(win, flag));
3211 }
3212 
3213 
3214 void
3215 cmd_setterm(int nargs, char **args)
3216 {
3217 	if (check_arg_count(nargs, 1) == 1)
3218 		return;
3219 
3220 	report_count(1);
3221 	report_return(setterm(args[0]));
3222 }
3223 
3224 
3225 void
3226 cmd_set_term(int nargs, char **args)
3227 {
3228 	SCREEN *scrn;
3229 
3230 	if (check_arg_count(nargs, 1) == 1)
3231 		return;
3232 
3233 	if (set_scrn(args[0], &scrn) != 0) return;
3234 
3235 	report_count(1);
3236 	report_ptr(set_term(scrn));
3237 }
3238 
3239 
3240 void
3241 cmd_start_color(int nargs, char **args)
3242 {
3243 	if (check_arg_count(nargs, 0) == 1)
3244 		return;
3245 
3246 	report_count(1);
3247 	report_return(start_color());
3248 }
3249 
3250 
3251 void
3252 cmd_subpad(int nargs, char **args)
3253 {
3254 	WINDOW *pad;
3255 	int lines, cols, begin_y, begin_x;
3256 
3257 	if (check_arg_count(nargs, 5) == 1)
3258 		return;
3259 
3260 	if ((set_win(args[0], &pad) != 0) ||
3261 	    (set_int(args[1], &lines) != 0) ||
3262 	    (set_int(args[2], &cols) != 0) ||
3263 	    (set_int(args[3], &begin_y) != 0) ||
3264 	    (set_int(args[4], &begin_x) != 0))
3265 		return;
3266 
3267 	report_count(1);
3268 	report_ptr(subpad(pad, lines, cols, begin_y, begin_x));
3269 }
3270 
3271 
3272 void
3273 cmd_subwin(int nargs, char **args)
3274 {
3275 	WINDOW *win;
3276 	int lines, cols, begin_y, begin_x;
3277 
3278 	if (check_arg_count(nargs, 5) == 1)
3279 		return;
3280 
3281 	if ((set_win(args[0], &win) != 0) ||
3282 	    (set_int(args[1], &lines) != 0) ||
3283 	    (set_int(args[2], &cols) != 0) ||
3284 	    (set_int(args[3], &begin_y) != 0) ||
3285 	    (set_int(args[4], &begin_x) != 0))
3286 		return;
3287 
3288 	report_count(1);
3289 	report_ptr(subwin(win, lines, cols, begin_y, begin_x));
3290 }
3291 
3292 
3293 void
3294 cmd_termattrs(int nargs, char **args)
3295 {
3296 	if (check_arg_count(nargs, 0) == 1)
3297 		return;
3298 
3299 	report_count(1);
3300 	report_int(termattrs());
3301 }
3302 
3303 
3304 void
3305 cmd_term_attrs(int nargs, char **args)
3306 {
3307 	if (check_arg_count(nargs, 0) == 1)
3308 		return;
3309 
3310 	report_count(1);
3311 	report_int(term_attrs());
3312 }
3313 
3314 
3315 void
3316 cmd_touchline(int nargs, char **args)
3317 {
3318 	WINDOW *win;
3319 	int start, count;
3320 
3321 	if (check_arg_count(nargs, 3) == 1)
3322 		return;
3323 
3324 	if ((set_win(args[0], &win) != 0) ||
3325 	    (set_int(args[1], &start) != 0) ||
3326 	    (set_int(args[2], &count) != 0))
3327 		return;
3328 
3329 	report_count(1);
3330 	report_return(touchline(win, start, count));
3331 }
3332 
3333 
3334 void
3335 cmd_touchoverlap(int nargs, char **args)
3336 {
3337 	WINDOW *win1, *win2;
3338 
3339 	if (check_arg_count(nargs, 2) == 1)
3340 		return;
3341 
3342 	if ((set_win(args[0], &win1) != 0) ||
3343 	    (set_win(args[1], &win2) != 0))
3344 		return;
3345 
3346 	report_count(1);
3347 	report_return(touchoverlap(win1, win2));
3348 }
3349 
3350 
3351 void
3352 cmd_touchwin(int nargs, char **args)
3353 {
3354 	WINDOW *win;
3355 
3356 	if (check_arg_count(nargs, 1) == 1)
3357 		return;
3358 
3359 	if (set_win(args[0], &win) != 0)
3360 		return;
3361 
3362 	report_count(1);
3363 	report_return(touchwin(win));
3364 }
3365 
3366 
3367 void
3368 cmd_ungetch(int nargs, char **args)
3369 {
3370 	int ch;
3371 
3372 	if (check_arg_count(nargs, 1) == 1)
3373 		return;
3374 
3375 	if (set_int(args[0], &ch) != 0)
3376 		return;
3377 
3378 	report_count(1);
3379 	report_return(ungetch(ch));
3380 }
3381 
3382 
3383 void
3384 cmd_untouchwin(int nargs, char **args)
3385 {
3386 	WINDOW *win;
3387 
3388 	if (check_arg_count(nargs, 1) == 1)
3389 		return;
3390 
3391 	if (set_win(args[0], &win) != 0)
3392 		return;
3393 
3394 	report_count(1);
3395 	report_return(untouchwin(win));
3396 }
3397 
3398 
3399 void
3400 cmd_use_default_colors(int nargs, char **args)
3401 {
3402 	if (check_arg_count(nargs, 0) == 1)
3403 		return;
3404 
3405 	report_count(1);
3406 	report_return(use_default_colors());
3407 }
3408 
3409 
3410 void
3411 cmd_vline(int nargs, char **args)
3412 {
3413 	int count;
3414 	chtype *ch;
3415 
3416 	if (check_arg_count(nargs, 2) == 1)
3417 		return;
3418 
3419 	ch = (chtype *) args[0];
3420 	if (set_int(args[1], &count) != 0)
3421 		return;
3422 
3423 	report_count(1);
3424 	report_return(vline(ch[0], count));
3425 }
3426 
3427 
3428 static int
3429 internal_vw_printw(WINDOW * win, char *arg1,...)
3430 {
3431 	va_list va;
3432 	int rv;
3433 
3434 	va_start(va, arg1);
3435 	rv = vw_printw(win, arg1, va);
3436 	va_end(va);
3437 
3438 	return rv;
3439 }
3440 
3441 void
3442 cmd_vw_printw(int nargs, char **args)
3443 {
3444 	WINDOW *win;
3445 
3446 	if (check_arg_count(nargs, 3) == 1)
3447 		return;
3448 
3449 	if (set_win(args[0], &win) != 0)
3450 		return;
3451 
3452 	report_count(1);
3453 	report_return(internal_vw_printw(win, args[1], args[2]));
3454 }
3455 
3456 
3457 static int
3458 internal_vw_scanw(WINDOW * win, char *arg1,...)
3459 {
3460 	va_list va;
3461 	int rv;
3462 
3463 	va_start(va, arg1);
3464 	rv = vw_scanw(win, arg1, va);
3465 	va_end(va);
3466 
3467 	return rv;
3468 }
3469 
3470 void
3471 cmd_vw_scanw(int nargs, char **args)
3472 {
3473 	WINDOW *win;
3474 	char string[256];
3475 
3476 	if (check_arg_count(nargs, 2) == 1)
3477 		return;
3478 
3479 	if (set_win(args[0], &win) != 0)
3480 		return;
3481 
3482 	/* XXX - call2 */
3483 	report_count(2);
3484 	report_int(internal_vw_scanw(win, args[1], string));
3485 	report_status(string);
3486 }
3487 
3488 
3489 void
3490 cmd_vwprintw(int nargs, char **args)
3491 {
3492 	cmd_vw_printw(nargs, args);
3493 }
3494 
3495 
3496 void
3497 cmd_vwscanw(int nargs, char **args)
3498 {
3499 	cmd_vw_scanw(nargs, args);
3500 }
3501 
3502 
3503 void
3504 cmd_waddch(int nargs, char **args)
3505 {
3506 	WINDOW *win;
3507 	chtype *ch;
3508 
3509 	if (check_arg_count(nargs, 2) == 1)
3510 		return;
3511 
3512 	if (set_win(args[0], &win) != 0)
3513 		return;
3514 
3515 	ch = (chtype *) args[1];
3516 
3517 	report_count(1);
3518 	report_return(waddch(win, ch[0]));
3519 }
3520 
3521 
3522 void
3523 cmd_waddchnstr(int nargs, char **args)
3524 {
3525 	WINDOW *win;
3526 	int count;
3527 
3528 	if (check_arg_count(nargs, 3) == 1)
3529 		return;
3530 
3531 	if ((set_win(args[0], &win) != 0) ||
3532 	    (set_int(args[2], &count) != 0))
3533 		return;
3534 
3535 	report_count(1);
3536 	report_return(waddchnstr(win, (chtype *) args[1], count));
3537 }
3538 
3539 
3540 void
3541 cmd_waddchstr(int nargs, char **args)
3542 {
3543 	WINDOW *win;
3544 
3545 	if (check_arg_count(nargs, 2) == 1)
3546 		return;
3547 
3548 	if (set_win(args[0], &win) != 0)
3549 		return;
3550 
3551 	report_count(1);
3552 	report_return(waddchstr(win, (chtype *) args[1]));
3553 }
3554 
3555 
3556 void
3557 cmd_waddnstr(int nargs, char **args)
3558 {
3559 	WINDOW *win;
3560 	int count;
3561 
3562 	if (check_arg_count(nargs, 3) == 1)
3563 		return;
3564 
3565 	if ((set_win(args[0], &win) != 0) ||
3566 	    (set_int(args[2], &count) != 0))
3567 		return;
3568 
3569 	report_count(1);
3570 	report_return(waddnstr(win, args[1], count));
3571 
3572 }
3573 
3574 
3575 void
3576 cmd_wattr_get(int nargs, char **args)
3577 {
3578 	WINDOW *win;
3579 	int attr;
3580 	short pair;
3581 
3582 	if (check_arg_count(nargs, 1) == 1)
3583 		return;
3584 
3585 	if (set_win(args[0], &win) != 0)
3586 		return;
3587 
3588 	/* XXX - call3 */
3589 	report_count(3);
3590 	report_return(wattr_get(win, &attr, &pair, NULL));
3591 	report_int(attr);
3592 	report_int(pair);
3593 }
3594 
3595 
3596 void
3597 cmd_wattr_off(int nargs, char **args)
3598 {
3599 	WINDOW *win;
3600 	int attr;
3601 
3602 	if (check_arg_count(nargs, 2) == 1)
3603 		return;
3604 
3605 	if ((set_win(args[0], &win) != 0) ||
3606 	    (set_int(args[1], &attr) != 0))
3607 		return;
3608 
3609 	report_count(1);
3610 	report_return(wattr_off(win, attr, NULL));
3611 }
3612 
3613 
3614 void
3615 cmd_wattr_on(int nargs, char **args)
3616 {
3617 	WINDOW *win;
3618 	int attr;
3619 
3620 	if (check_arg_count(nargs, 2) == 1)
3621 		return;
3622 
3623 	if ((set_win(args[0], &win) != 0) ||
3624 	    (set_int(args[1], &attr) != 0))
3625 		return;
3626 
3627 	report_count(1);
3628 	report_return(wattr_on(win, attr, NULL));
3629 }
3630 
3631 
3632 void
3633 cmd_wattr_set(int nargs, char **args)
3634 {
3635 	WINDOW *win;
3636 	int attr;
3637 	short pair;
3638 
3639 	if (check_arg_count(nargs, 3) == 1)
3640 		return;
3641 
3642 	if ((set_win(args[0], &win) != 0) ||
3643 	    (set_int(args[1], &attr) != 0) ||
3644 	    (set_short(args[2], &pair) != 0))
3645 		return;
3646 
3647 	report_count(1);
3648 	report_return(wattr_set(win, attr, pair, NULL));
3649 }
3650 
3651 
3652 void
3653 cmd_wattroff(int nargs, char **args)
3654 {
3655 	WINDOW *win;
3656 	int attr;
3657 
3658 	if (check_arg_count(nargs, 2) == 1)
3659 		return;
3660 
3661 	if ((set_win(args[0], &win) != 0) ||
3662 	    (set_int(args[1], &attr) != 0))
3663 		return;
3664 
3665 	report_count(1);
3666 	report_return(wattroff(win, attr));
3667 }
3668 
3669 
3670 void
3671 cmd_wattron(int nargs, char **args)
3672 {
3673 	WINDOW *win;
3674 	int attr;
3675 
3676 	if (check_arg_count(nargs, 2) == 1)
3677 		return;
3678 
3679 	if ((set_win(args[0], &win) != 0) ||
3680 	    (set_int(args[1], &attr) != 0))
3681 		return;
3682 
3683 	report_count(1);
3684 	report_return(wattron(win, attr));
3685 }
3686 
3687 
3688 void
3689 cmd_wattrset(int nargs, char **args)
3690 {
3691 	WINDOW *win;
3692 	int attr;
3693 
3694 	if (check_arg_count(nargs, 2) == 1)
3695 		return;
3696 
3697 	if ((set_win(args[0], &win) != 0) ||
3698 	    (set_int(args[1], &attr) != 0))
3699 		return;
3700 
3701 	report_count(1);
3702 	report_return(wattrset(win, attr));
3703 }
3704 
3705 
3706 void
3707 cmd_wbkgd(int nargs, char **args)
3708 {
3709 	WINDOW *win;
3710 	chtype *ch;
3711 
3712 	if (check_arg_count(nargs, 2) == 1)
3713 		return;
3714 
3715 	if (set_win(args[0], &win) != 0)
3716 		return;
3717 
3718 	ch = (chtype *) args[1];
3719 	report_count(1);
3720 	report_return(wbkgd(win, ch[0]));
3721 }
3722 
3723 
3724 void
3725 cmd_wbkgdset(int nargs, char **args)
3726 {
3727 	WINDOW *win;
3728 	chtype *ch;
3729 
3730 	if (check_arg_count(nargs, 2) == 1)
3731 		return;
3732 
3733 	if (set_win(args[0], &win) != 0)
3734 		return;
3735 
3736 	ch = (chtype *) args[1];
3737 
3738 	wbkgdset(win, *ch);	/* void return */
3739 	report_count(1);
3740 	report_return(OK);
3741 }
3742 
3743 
3744 void
3745 cmd_wborder(int nargs, char **args)
3746 {
3747 	WINDOW *win;
3748 	int ls, rs, ts, bs, tl, tr, bl, br;
3749 
3750 	if (check_arg_count(nargs, 9) == 1)
3751 		return;
3752 
3753 	if ((set_win(args[0], &win) != 0) ||
3754 	    (set_int(args[1], &ls) != 0) ||
3755 	    (set_int(args[2], &rs) != 0) ||
3756 	    (set_int(args[3], &ts) != 0) ||
3757 	    (set_int(args[4], &bs) != 0) ||
3758 	    (set_int(args[5], &tl) != 0) ||
3759 	    (set_int(args[6], &tr) != 0) ||
3760 	    (set_int(args[7], &bl) != 0) ||
3761 	    (set_int(args[8], &br) != 0))
3762 		return;
3763 
3764 	report_count(1);
3765 	report_return(wborder(win, ls, rs, ts, bs, tl, tr, bl, br));
3766 }
3767 
3768 
3769 void
3770 cmd_wclear(int nargs, char **args)
3771 {
3772 	WINDOW *win;
3773 
3774 	if (check_arg_count(nargs, 1) == 1)
3775 		return;
3776 
3777 	if (set_win(args[0], &win) != 0)
3778 		return;
3779 
3780 	report_count(1);
3781 	report_return(wclear(win));
3782 }
3783 
3784 
3785 void
3786 cmd_wclrtobot(int nargs, char **args)
3787 {
3788 	WINDOW *win;
3789 
3790 	if (check_arg_count(nargs, 1) == 1)
3791 		return;
3792 
3793 	if (set_win(args[0], &win) != 0)
3794 		return;
3795 
3796 	report_count(1);
3797 	report_return(wclrtobot(win));
3798 }
3799 
3800 
3801 void
3802 cmd_wclrtoeol(int nargs, char **args)
3803 {
3804 	WINDOW *win;
3805 
3806 	if (check_arg_count(nargs, 1) == 1)
3807 		return;
3808 
3809 	if (set_win(args[0], &win) != 0)
3810 		return;
3811 
3812 	report_count(1);
3813 	report_return(wclrtoeol(win));
3814 
3815 }
3816 
3817 
3818 void
3819 cmd_wcolor_set(int nargs, char **args)
3820 {
3821 	WINDOW *win;
3822 	short pair;
3823 
3824 	if (check_arg_count(nargs, 3) == 1)
3825 		return;
3826 
3827 	if ((set_win(args[0], &win) != 0) ||
3828 	    (set_short(args[1], &pair) != 0))
3829 		return;
3830 
3831 	report_count(1);
3832 	report_return(wcolor_set(win, pair, NULL));
3833 }
3834 
3835 
3836 void
3837 cmd_wdelch(int nargs, char **args)
3838 {
3839 	WINDOW *win;
3840 
3841 	if (check_arg_count(nargs, 1) == 1)
3842 		return;
3843 
3844 	if (set_win(args[0], &win) != 0)
3845 		return;
3846 
3847 	report_count(1);
3848 	report_return(wdelch(win));
3849 }
3850 
3851 
3852 void
3853 cmd_wdeleteln(int nargs, char **args)
3854 {
3855 	WINDOW *win;
3856 
3857 	if (check_arg_count(nargs, 1) == 1)
3858 		return;
3859 
3860 	if (set_win(args[0], &win) != 0)
3861 		return;
3862 
3863 	report_count(1);
3864 	report_return(wdeleteln(win));
3865 
3866 }
3867 
3868 
3869 void
3870 cmd_wechochar(int nargs, char **args)
3871 {
3872 	WINDOW *win;
3873 	chtype *ch;
3874 
3875 	if (check_arg_count(nargs, 2) == 1)
3876 		return;
3877 
3878 	if (set_win(args[0], &win) != 0)
3879 		return;
3880 
3881 	ch = (chtype *) args[1];
3882 
3883 	report_count(1);
3884 	report_return(wechochar(win, ch[0]));
3885 }
3886 
3887 
3888 void
3889 cmd_werase(int nargs, char **args)
3890 {
3891 	WINDOW *win;
3892 
3893 	if (check_arg_count(nargs, 1) == 1)
3894 		return;
3895 
3896 	if (set_win(args[0], &win) != 0)
3897 		return;
3898 
3899 	report_count(1);
3900 	report_return(werase(win));
3901 }
3902 
3903 
3904 void
3905 cmd_wgetch(int nargs, char **args)
3906 {
3907 	WINDOW *win;
3908 
3909 	if (check_arg_count(nargs, 1) == 1)
3910 		return;
3911 
3912 	if (set_win(args[0], &win) != 0)
3913 		return;
3914 
3915 	report_count(1);
3916 	report_int(wgetch(win));
3917 }
3918 
3919 
3920 void
3921 cmd_wgetnstr(int nargs, char **args)
3922 {
3923 	WINDOW *win;
3924 	int count;
3925 	char string[256];
3926 
3927 	if (check_arg_count(nargs, 2) == 1)
3928 		return;
3929 
3930 	if ((set_win(args[0], &win) != 0) ||
3931 	    (set_int(args[1], &count) != 0))
3932 		return;
3933 
3934 	/* XXX - call2 */
3935 	report_count(2);
3936 	report_return(wgetnstr(win, string, count));
3937 	report_status(string);
3938 }
3939 
3940 
3941 void
3942 cmd_wgetstr(int nargs, char **args)
3943 {
3944 	WINDOW *win;
3945 	char string[256];
3946 
3947 
3948 	if (check_arg_count(nargs, 1) == 1)
3949 		return;
3950 
3951 	if (set_win(args[0], &win) != 0)
3952 		return;
3953 
3954 	string[0] = '\0';
3955 
3956 	report_count(2);
3957 	report_return(wgetstr(win, string));
3958 	report_status(string);
3959 }
3960 
3961 
3962 void
3963 cmd_whline(int nargs, char **args)
3964 {
3965 	WINDOW *win;
3966 	int count;
3967 	chtype *ch;
3968 
3969 	if (check_arg_count(nargs, 3) == 1)
3970 		return;
3971 
3972 	if ((set_win(args[0], &win) != 0) ||
3973 	    (set_int(args[2], &count) != 0))
3974 		return;
3975 
3976 	ch = (chtype *) args[1];
3977 
3978 	report_count(1);
3979 	report_return(whline(win, ch[0], count));
3980 }
3981 
3982 
3983 void
3984 cmd_winch(int nargs, char **args)
3985 {
3986 	WINDOW *win;
3987 
3988 	if (check_arg_count(nargs, 1) == 1)
3989 		return;
3990 
3991 	if (set_win(args[0], &win) != 0)
3992 		return;
3993 
3994 	report_count(1);
3995 	report_byte(winch(win));
3996 }
3997 
3998 
3999 void
4000 cmd_winchnstr(int nargs, char **args)
4001 {
4002 	WINDOW *win;
4003 	chtype string[256];
4004 	int count;
4005 
4006 	if (check_arg_count(nargs, 2) == 1)
4007 		return;
4008 
4009 	if ((set_win(args[0], &win) != 0) ||
4010 	    (set_int(args[1], &count) != 0))
4011 		return;
4012 
4013 	/* XXX - call2 */
4014 	report_count(2);
4015 	report_return(winchnstr(win, string, count));
4016 	report_nstr(string);
4017 }
4018 
4019 
4020 void
4021 cmd_winchstr(int nargs, char **args)
4022 {
4023 	WINDOW *win;
4024 	chtype string[256];
4025 
4026 	if (check_arg_count(nargs, 1) == 1)
4027 		return;
4028 
4029 	if (set_win(args[0], &win) != 0)
4030 		return;
4031 
4032 	/* XXX - call2 */
4033 	report_count(2);
4034 	report_return(winchstr(win, string));
4035 	report_nstr(string);
4036 }
4037 
4038 
4039 void
4040 cmd_winnstr(int nargs, char **args)
4041 {
4042 	WINDOW *win;
4043 	char string[256];
4044 	int count;
4045 
4046 	if (check_arg_count(nargs, 2) == 1)
4047 		return;
4048 
4049 	if ((set_win(args[0], &win) != 0) ||
4050 	    (set_int(args[1], &count) != 0))
4051 		return;
4052 
4053 	/* XXX - call2 */
4054 	report_count(2);
4055 	report_int(winnstr(win, string, count));
4056 	report_status(string);
4057 }
4058 
4059 
4060 void
4061 cmd_winsch(int nargs, char **args)
4062 {
4063 	WINDOW *win;
4064 	chtype *ch;
4065 
4066 	if (check_arg_count(nargs, 2) == 1)
4067 		return;
4068 
4069 	if (set_win(args[0], &win) != 0)
4070 		return;
4071 
4072 	ch = (chtype *) args[1];
4073 
4074 	report_count(1);
4075 	report_return(winsch(win, ch[0]));
4076 }
4077 
4078 
4079 void
4080 cmd_winsdelln(int nargs, char **args)
4081 {
4082 	WINDOW *win;
4083 	int count;
4084 
4085 	if (check_arg_count(nargs, 2) == 1)
4086 		return;
4087 
4088 	if ((set_win(args[0], &win) != 0) ||
4089 	    (set_int(args[1], &count) != 0))
4090 		return;
4091 
4092 	report_count(1);
4093 	report_return(winsdelln(win, count));
4094 }
4095 
4096 
4097 void
4098 cmd_winsertln(int nargs, char **args)
4099 {
4100 	WINDOW *win;
4101 
4102 	if (check_arg_count(nargs, 1) == 1)
4103 		return;
4104 
4105 	if (set_win(args[0], &win) != 0)
4106 		return;
4107 
4108 	report_count(1);
4109 	report_return(winsertln(win));
4110 }
4111 
4112 
4113 void
4114 cmd_winstr(int nargs, char **args)
4115 {
4116 	WINDOW *win;
4117 	char string[256];
4118 
4119 	if (check_arg_count(nargs, 1) == 1)
4120 		return;
4121 
4122 	if (set_win(args[0], &win) != 0)
4123 		return;
4124 
4125 	/* XXX - call2 */
4126 	report_count(2);
4127 	report_return(winstr(win, string));
4128 	report_status(string);
4129 }
4130 
4131 
4132 void
4133 cmd_wmove(int nargs, char **args)
4134 {
4135 	WINDOW *win;
4136 	int y, x;
4137 
4138 	if (check_arg_count(nargs, 3) == 1)
4139 		return;
4140 
4141 	if ((set_win(args[0], &win) != 0) ||
4142 	    (set_int(args[1], &y) != 0) ||
4143 	    (set_int(args[2], &x) != 0))
4144 		return;
4145 
4146 	report_count(1);
4147 	report_return(wmove(win, y, x));
4148 }
4149 
4150 
4151 void
4152 cmd_wnoutrefresh(int nargs, char **args)
4153 {
4154 	WINDOW *win;
4155 
4156 	if (check_arg_count(nargs, 1) == 1)
4157 		return;
4158 
4159 	if (set_win(args[0], &win) != 0)
4160 		return;
4161 
4162 	report_count(1);
4163 	report_return(wnoutrefresh(win));
4164 }
4165 
4166 
4167 void
4168 cmd_wprintw(int nargs, char **args)
4169 {
4170 	WINDOW *win;
4171 
4172 	if (check_arg_count(nargs, 3) == 1)
4173 		return;
4174 
4175 	if (set_win(args[0], &win) != 0)
4176 		return;
4177 
4178 	report_count(1);
4179 	report_return(wprintw(win, args[1], args[2]));
4180 }
4181 
4182 
4183 void
4184 cmd_wredrawln(int nargs, char **args)
4185 {
4186 	WINDOW *win;
4187 	int beg_line, num_lines;
4188 
4189 	if (check_arg_count(nargs, 3) == 1)
4190 		return;
4191 
4192 	if ((set_win(args[0], &win) != 0) ||
4193 	    (set_int(args[1], &beg_line) != 0) ||
4194 	    (set_int(args[2], &num_lines) != 0))
4195 		return;
4196 
4197 	report_count(1);
4198 	report_return(wredrawln(win, beg_line, num_lines));
4199 }
4200 
4201 
4202 void
4203 cmd_wrefresh(int nargs, char **args)
4204 {
4205 	WINDOW *win;
4206 
4207 	if (check_arg_count(nargs, 1) == 1)
4208 		return;
4209 
4210 	if (set_win(args[0], &win) != 0)
4211 		return;
4212 
4213 	/* XXX - generates output */
4214 	report_count(1);
4215 	report_return(wrefresh(win));
4216 }
4217 
4218 
4219 void
4220 cmd_wresize(int nargs, char **args)
4221 {
4222 	WINDOW *win;
4223 	int lines, cols;
4224 
4225 	if (check_arg_count(nargs, 3) == 1)
4226 		return;
4227 
4228 	if ((set_win(args[0], &win) != 0) ||
4229 	    (set_int(args[1], &lines) != 0) ||
4230 	    (set_int(args[2], &cols) != 0))
4231 		return;
4232 
4233 	report_count(1);
4234 	report_return(wresize(win, lines, cols));
4235 }
4236 
4237 
4238 void
4239 cmd_wscanw(int nargs, char **args)
4240 {
4241 	WINDOW *win;
4242 	char string[256];
4243 
4244 	if (check_arg_count(nargs, 2) == 1)
4245 		return;
4246 
4247 	if (set_win(args[0], &win) != 0)
4248 		return;
4249 
4250 	report_count(1);
4251 	report_return(wscanw(win, args[1], &string));
4252 }
4253 
4254 
4255 void
4256 cmd_wscrl(int nargs, char **args)
4257 {
4258 	WINDOW *win;
4259 	int n;
4260 
4261 	if (check_arg_count(nargs, 2) == 1)
4262 		return;
4263 
4264 	if ((set_win(args[0], &win) != 0) ||
4265 	    (set_int(args[1], &n) != 0))
4266 		return;
4267 
4268 	report_count(1);
4269 	report_return(wscrl(win, n));
4270 }
4271 
4272 
4273 void
4274 cmd_wsetscrreg(int nargs, char **args)
4275 {
4276 	WINDOW *win;
4277 	int top, bottom;
4278 
4279 	if (check_arg_count(nargs, 3) == 1)
4280 		return;
4281 
4282 	if ((set_win(args[0], &win) != 0) ||
4283 	    (set_int(args[1], &top) != 0) ||
4284 	    (set_int(args[2], &bottom) != 0))
4285 		return;
4286 
4287 	report_count(1);
4288 	report_return(wsetscrreg(win, top, bottom));
4289 }
4290 
4291 
4292 void
4293 cmd_wstandend(int nargs, char **args)
4294 {
4295 	WINDOW *win;
4296 
4297 	if (check_arg_count(nargs, 1) == 1)
4298 		return;
4299 
4300 	if (set_win(args[0], &win) != 0)
4301 		return;
4302 
4303 	report_count(1);
4304 	report_int(wstandend(win));
4305 }
4306 
4307 
4308 void
4309 cmd_wstandout(int nargs, char **args)
4310 {
4311 	WINDOW *win;
4312 
4313 	if (check_arg_count(nargs, 1) == 1)
4314 		return;
4315 
4316 	if (set_win(args[0], &win) != 0)
4317 		return;
4318 
4319 	report_count(1);
4320 	report_int(wstandout(win));
4321 }
4322 
4323 
4324 void
4325 cmd_wtimeout(int nargs, char **args)
4326 {
4327 	WINDOW *win;
4328 	int tval;
4329 
4330 	if (check_arg_count(nargs, 2) == 1)
4331 		return;
4332 
4333 	if ((set_win(args[0], &win) != 0) ||
4334 	    (set_int(args[1], &tval) != 0))
4335 		return;
4336 
4337 	wtimeout(win, tval);	/* void return */
4338 	report_count(1);
4339 	report_return(OK);
4340 }
4341 
4342 
4343 void
4344 cmd_wtouchln(int nargs, char **args)
4345 {
4346 	WINDOW *win;
4347 	int line, n, changed;
4348 
4349 	if (check_arg_count(nargs, 4) == 1)
4350 		return;
4351 
4352 	if ((set_win(args[0], &win) != 0) ||
4353 	    (set_int(args[1], &line) != 0) ||
4354 	    (set_int(args[2], &n) != 0) ||
4355 	    (set_int(args[3], &changed) != 0))
4356 		return;
4357 
4358 	report_count(1);
4359 	report_return(wtouchln(win, line, n, changed));
4360 }
4361 
4362 
4363 void
4364 cmd_wunderend(int nargs, char **args)
4365 {
4366 	WINDOW *win;
4367 
4368 	if (check_arg_count(nargs, 1) == 1)
4369 		return;
4370 
4371 	if (set_win(args[0], &win) != 0)
4372 		return;
4373 
4374 	report_count(1);
4375 	report_int(wunderend(win));
4376 }
4377 
4378 
4379 void
4380 cmd_wunderscore(int nargs, char **args)
4381 {
4382 	WINDOW *win;
4383 
4384 	if (check_arg_count(nargs, 1) == 1)
4385 		return;
4386 
4387 	if (set_win(args[0], &win) != 0)
4388 		return;
4389 
4390 	report_count(1);
4391 	report_int(wunderscore(win));
4392 }
4393 
4394 
4395 void
4396 cmd_wvline(int nargs, char **args)
4397 {
4398 	WINDOW *win;
4399 	int n;
4400 	chtype *ch;
4401 
4402 	if (check_arg_count(nargs, 3) == 1)
4403 		return;
4404 
4405 	if ((set_win(args[0], &win) != 0) ||
4406 	    (set_int(args[2], &n) != 0))
4407 		return;
4408 
4409 	ch = (chtype *) args[1];
4410 
4411 	report_count(1);
4412 	report_return(wvline(win, ch[0], n));
4413 }
4414 
4415 
4416 void
4417 cmd_insnstr(int nargs, char **args)
4418 {
4419 	int n;
4420 
4421 	if (check_arg_count(nargs, 2) == 1)
4422 		return;
4423 
4424 	if (set_int(args[1], &n) != 0)
4425 		return;
4426 
4427 	report_count(1);
4428 	report_return(insnstr(args[0], n));
4429 }
4430 
4431 
4432 void
4433 cmd_insstr(int nargs, char **args)
4434 {
4435 	if (check_arg_count(nargs, 1) == 1)
4436 		return;
4437 
4438 	report_count(1);
4439 	report_return(insstr(args[0]));
4440 }
4441 
4442 
4443 void
4444 cmd_mvinsnstr(int nargs, char **args)
4445 {
4446 	int y, x, n;
4447 
4448 	if (check_arg_count(nargs, 4) == 1)
4449 		return;
4450 
4451 	if ((set_int(args[0], &y) != 0) ||
4452 	    (set_int(args[1], &x) != 0) ||
4453 	    (set_int(args[3], &n) != 0))
4454 		return;
4455 
4456 	report_count(1);
4457 	report_return(mvinsnstr(y, x, args[2], n));
4458 }
4459 
4460 
4461 void
4462 cmd_mvinsstr(int nargs, char **args)
4463 {
4464 	int y, x;
4465 
4466 	if (check_arg_count(nargs, 3) == 1)
4467 		return;
4468 
4469 	if ((set_int(args[0], &y) != 0) ||
4470 	    (set_int(args[1], &x) != 0))
4471 		return;
4472 
4473 	report_count(1);
4474 	report_return(mvinsstr(y, x, args[2]));
4475 }
4476 
4477 
4478 void
4479 cmd_mvwinsnstr(int nargs, char **args)
4480 {
4481 	WINDOW *win;
4482 	int y, x, n;
4483 
4484 	if (check_arg_count(nargs, 5) == 1)
4485 		return;
4486 
4487 	if ((set_win(args[0], &win) != 0) ||
4488 	    (set_int(args[1], &y) != 0) ||
4489 	    (set_int(args[2], &x) != 0) ||
4490 	    (set_int(args[4], &n) != 0))
4491 		return;
4492 
4493 	report_count(1);
4494 	report_return(mvwinsnstr(win, y, x, args[3], n));
4495 
4496 }
4497 
4498 
4499 void
4500 cmd_mvwinsstr(int nargs, char **args)
4501 {
4502 	WINDOW *win;
4503 	int y, x;
4504 
4505 	if (check_arg_count(nargs, 4) == 1)
4506 		return;
4507 
4508 	if ((set_win(args[0], &win) != 0) ||
4509 	    (set_int(args[1], &y) != 0) ||
4510 	    (set_int(args[2], &x) != 0))
4511 		return;
4512 
4513 	report_count(1);
4514 	report_return(mvwinsstr(win, y, x, args[3]));
4515 }
4516 
4517 
4518 void
4519 cmd_winsnstr(int nargs, char **args)
4520 {
4521 	WINDOW *win;
4522 	int n;
4523 
4524 	if (check_arg_count(nargs, 3) == 1)
4525 		return;
4526 
4527 	if ((set_win(args[0], &win) != 0) ||
4528 	    (set_int(args[2], &n) != 0))
4529 		return;
4530 
4531 	report_count(1);
4532 	report_return(winsnstr(win, args[1], n));
4533 }
4534 
4535 
4536 void
4537 cmd_winsstr(int nargs, char **args)
4538 {
4539 	WINDOW *win;
4540 
4541 	if (check_arg_count(nargs, 2) == 1)
4542 		return;
4543 
4544 	if (set_win(args[0], &win) != 0)
4545 		return;
4546 
4547 	report_count(1);
4548 	report_return(winsstr(win, args[1]));
4549 }
4550 
4551 
4552 
4553 void
4554 cmd_chgat(int nargs, char **args)
4555 {
4556 	int n, attr, colour;
4557 
4558 	if (check_arg_count(nargs, 4) == 1)
4559 		return;
4560 
4561 	if ((set_int(args[0], &n) != 0) ||
4562 	    (set_int(args[1], &attr) != 0) ||
4563 	    (set_int(args[2], &colour) != 0))
4564 		return;
4565 
4566 	/* Note: 4th argument unused in current curses implementation */
4567 	report_count(1);
4568 	report_return(chgat(n, attr, colour, NULL));
4569 }
4570 
4571 
4572 void
4573 cmd_wchgat(int nargs, char **args)
4574 {
4575 	WINDOW *win;
4576 	int n, attr;
4577 	short colour;
4578 
4579 	if (check_arg_count(nargs, 5) == 1)
4580 		return;
4581 
4582 	if ((set_win(args[0], &win) != 0) ||
4583 	    (set_int(args[1], &n) != 0) ||
4584 	    (set_int(args[2], &attr) != 0) ||
4585 	    (set_short(args[3], &colour) != 0))
4586 		return;
4587 
4588 	report_count(1);
4589 	report_return(wchgat(win, n, attr, colour, NULL));
4590 }
4591 
4592 
4593 void
4594 cmd_mvchgat(int nargs, char **args)
4595 {
4596 	int y, x, n, attr;
4597 	short colour;
4598 
4599 	if (check_arg_count(nargs, 6) == 1)
4600 		return;
4601 
4602 	if ((set_int(args[0], &y) != 0) ||
4603 	    (set_int(args[1], &x) != 0) ||
4604 	    (set_int(args[2], &n) != 0) ||
4605 	    (set_int(args[3], &attr) != 0) ||
4606 	    (set_short(args[4], &colour) != 0))
4607 		return;
4608 
4609 	report_count(1);
4610 	report_return(mvchgat(y, x, n, attr, colour, NULL));
4611 }
4612 
4613 
4614 void
4615 cmd_mvwchgat(int nargs, char **args)
4616 {
4617 	WINDOW *win;
4618 	int y, x, n, attr;
4619 	short colour;
4620 
4621 	if (check_arg_count(nargs, 7) == 1)
4622 		return;
4623 
4624 	if ((set_win(args[0], &win) != 0) ||
4625 	    (set_int(args[1], &y) != 0) ||
4626 	    (set_int(args[2], &x) != 0) ||
4627 	    (set_int(args[3], &n) != 0) ||
4628 	    (set_int(args[4], &attr) != 0) ||
4629 	    (set_short(args[5], &colour) != 0))
4630 		return;
4631 
4632 	report_count(1);
4633 	report_return(mvwchgat(win, y, x, n, attr, colour, NULL));
4634 }
4635 
4636 
4637 void
4638 cmd_add_wch(int nargs, char **args)
4639 {
4640 	cchar_t *ch;
4641 
4642 	if (check_arg_count(nargs, 1) == 1)
4643 		return;
4644 
4645 	ch = (cchar_t *) args[0];
4646 
4647 	report_count(1);
4648 	report_return(add_wch(ch));
4649 }
4650 
4651 
4652 void
4653 cmd_wadd_wch(int nargs, char **args)
4654 {
4655 	WINDOW *win;
4656 	cchar_t *ch;
4657 	if (check_arg_count(nargs, 2) == 1)
4658 		return;
4659 
4660 	if (set_win(args[0], &win) != 0)
4661 		return;
4662 
4663 	ch = (cchar_t *) args[1];
4664 
4665 	report_count(1);
4666 	report_return(wadd_wch(win, ch));
4667 }
4668 
4669 
4670 void
4671 cmd_mvadd_wch(int nargs, char **args)
4672 {
4673 	int y, x;
4674 	cchar_t *ch;
4675 
4676 	if (check_arg_count(nargs, 3) == 1)
4677 		return;
4678 
4679 	if ((set_int(args[0], &y) != 0) ||
4680 	    (set_int(args[1], &x) != 0))
4681 		return;
4682 
4683 	ch = (cchar_t *) args[2];
4684 
4685 	report_count(1);
4686 	report_return(mvadd_wch(y, x, ch));
4687 }
4688 
4689 
4690 void
4691 cmd_mvwadd_wch(int nargs, char **args)
4692 {
4693 	WINDOW *win;
4694 	int y, x;
4695 	cchar_t *ch;
4696 
4697 	if (check_arg_count(nargs, 4) == 1)
4698 		return;
4699 
4700 	if ((set_win(args[0], &win) != 0) ||
4701 	    (set_int(args[1], &y) != 0) ||
4702 	    (set_int(args[2], &x) != 0))
4703 		return;
4704 
4705 	ch = (cchar_t *) args[3];
4706 
4707 	report_count(1);
4708 	report_return(mvwadd_wch(win, y, x, ch));
4709 }
4710 
4711 
4712 
4713 void
4714 cmd_add_wchnstr(int nargs, char **args)
4715 {
4716 	if (check_arg_count(nargs, 1) == 1)
4717 		return;
4718 
4719 	report_count(1);
4720 	report_error("UNSUPPORTED");
4721 }
4722 
4723 
4724 void
4725 cmd_add_wchstr(int nargs, char **args)
4726 {
4727 	if (check_arg_count(nargs, 1) == 1)
4728 		return;
4729 
4730 	report_count(1);
4731 	report_error("UNSUPPORTED");
4732 }
4733 
4734 
4735 void
4736 cmd_wadd_wchnstr(int nargs, char **args)
4737 {
4738 	if (check_arg_count(nargs, 1) == 1)
4739 		return;
4740 
4741 	report_count(1);
4742 	report_error("UNSUPPORTED");
4743 }
4744 
4745 
4746 void
4747 cmd_wadd_wchstr(int nargs, char **args)
4748 {
4749 	if (check_arg_count(nargs, 1) == 1)
4750 		return;
4751 
4752 	report_count(1);
4753 	report_error("UNSUPPORTED");
4754 }
4755 
4756 
4757 void
4758 cmd_mvadd_wchnstr(int nargs, char **args)
4759 {
4760 	if (check_arg_count(nargs, 1) == 1)
4761 		return;
4762 
4763 	report_count(1);
4764 	report_error("UNSUPPORTED");
4765 }
4766 
4767 
4768 void
4769 cmd_mvadd_wchstr(int nargs, char **args)
4770 {
4771 	if (check_arg_count(nargs, 1) == 1)
4772 		return;
4773 
4774 	report_count(1);
4775 	report_error("UNSUPPORTED");
4776 }
4777 
4778 
4779 void
4780 cmd_mvwadd_wchnstr(int nargs, char **args)
4781 {
4782 	if (check_arg_count(nargs, 1) == 1)
4783 		return;
4784 
4785 	report_count(1);
4786 	report_error("UNSUPPORTED");
4787 }
4788 
4789 
4790 void
4791 cmd_mvwadd_wchstr(int nargs, char **args)
4792 {
4793 	if (check_arg_count(nargs, 1) == 1)
4794 		return;
4795 
4796 	report_count(1);
4797 	report_error("UNSUPPORTED");
4798 }
4799 
4800 
4801 
4802 void
4803 cmd_addnwstr(int nargs, char **args)
4804 {
4805 	int n;
4806 	wchar_t *wstr;
4807 
4808 	if (check_arg_count(nargs, 2) == 1)
4809 		return;
4810 
4811 	wstr = (wchar_t *) args[0];
4812 
4813 	if (set_int(args[1], &n) != 0)
4814 		return;
4815 
4816 	report_count(1);
4817 	report_return(addnwstr(wstr, n));
4818 }
4819 
4820 
4821 void
4822 cmd_addwstr(int nargs, char **args)
4823 {
4824 	wchar_t *wstr;
4825 
4826 	if (check_arg_count(nargs, 1) == 1)
4827 		return;
4828 
4829 	wstr = (wchar_t *) args[0];
4830 
4831 	report_count(1);
4832 	report_return(addwstr(wstr));
4833 }
4834 
4835 
4836 void
4837 cmd_mvaddnwstr(int nargs, char **args)
4838 {
4839 	int y, x, n;
4840 	wchar_t *wstr;
4841 
4842 	if (check_arg_count(nargs, 4) == 1)
4843 		return;
4844 
4845 	if ((set_int(args[0], &y) != 0) ||
4846 	    (set_int(args[1], &x) != 0) ||
4847 	    (set_int(args[3], &n) != 0))
4848 		return;
4849 
4850 	wstr = (wchar_t *) args[2];
4851 	report_count(1);
4852 	report_return(mvaddnwstr(y, x, wstr, n));
4853 }
4854 
4855 
4856 void
4857 cmd_mvaddwstr(int nargs, char **args)
4858 {
4859 	int y, x;
4860 	wchar_t *wstr;
4861 
4862 	if (check_arg_count(nargs, 3) == 1)
4863 		return;
4864 
4865 	if ((set_int(args[0], &y) != 0) ||
4866 	    (set_int(args[1], &x) != 0))
4867 		return;
4868 
4869 	wstr = (wchar_t *) args[2];
4870 
4871 	report_count(1);
4872 	report_return(mvaddwstr(y, x, wstr));
4873 }
4874 
4875 
4876 void
4877 cmd_mvwaddnwstr(int nargs, char **args)
4878 {
4879 	WINDOW *win;
4880 	int y, x, n;
4881 	wchar_t *wstr;
4882 
4883 	if (check_arg_count(nargs, 5) == 1)
4884 		return;
4885 
4886 	if ((set_win(args[0], &win) != 0) ||
4887 	    (set_int(args[1], &y) != 0) ||
4888 	    (set_int(args[2], &x) != 0) ||
4889 	    (set_int(args[4], &n) != 0))
4890 		return;
4891 
4892 	wstr = (wchar_t *) args[3];
4893 
4894 	report_count(1);
4895 	report_return(mvwaddnwstr(win, y, x, wstr, n));
4896 }
4897 
4898 
4899 void
4900 cmd_mvwaddwstr(int nargs, char **args)
4901 {
4902 	WINDOW *win;
4903 	int y, x;
4904 	wchar_t *wstr;
4905 
4906 	if (check_arg_count(nargs, 4) == 1)
4907 		return;
4908 
4909 	if ((set_win(args[0], &win) != 0) ||
4910 	    (set_int(args[1], &y) != 0) ||
4911 	    (set_int(args[2], &x) != 0))
4912 		return;
4913 
4914 	wstr = (wchar_t *) args[3];
4915 
4916 	report_count(1);
4917 	report_return(mvwaddwstr(win, y, x, wstr));
4918 }
4919 
4920 
4921 void
4922 cmd_waddnwstr(int nargs, char **args)
4923 {
4924 	WINDOW *win;
4925 	int n;
4926 	wchar_t *wstr;
4927 
4928 	if (check_arg_count(nargs, 3) == 1)
4929 		return;
4930 
4931 	if ((set_win(args[0], &win) != 0) ||
4932 	    (set_int(args[2], &n) != 0))
4933 		return;
4934 
4935 	wstr = (wchar_t *) args[1];
4936 
4937 	report_count(1);
4938 	report_return(waddnwstr(win, wstr, n));
4939 }
4940 
4941 
4942 void
4943 cmd_waddwstr(int nargs, char **args)
4944 {
4945 	WINDOW *win;
4946 	wchar_t *wstr;
4947 
4948 	if (check_arg_count(nargs, 2) == 1)
4949 		return;
4950 
4951 	if (set_win(args[0], &win) != 0)
4952 		return;
4953 
4954 	wstr = (wchar_t *) args[1];
4955 
4956 	report_count(1);
4957 	report_return(waddwstr(win, wstr));
4958 }
4959 
4960 
4961 
4962 void
4963 cmd_echo_wchar(int nargs, char **args)
4964 {
4965 	cchar_t *ch;
4966 
4967 	if (check_arg_count(nargs, 1) == 1)
4968 		return;
4969 
4970 	ch = (cchar_t *) args[0];
4971 
4972 	report_count(1);
4973 	report_return(echo_wchar(ch));
4974 }
4975 
4976 
4977 void
4978 cmd_wecho_wchar(int nargs, char **args)
4979 {
4980 	WINDOW *win;
4981 	cchar_t *ch;
4982 
4983 	if (check_arg_count(nargs, 2) == 1)
4984 		return;
4985 
4986 	if (set_win(args[0], &win) != 0)
4987 		return;
4988 
4989 	ch = (cchar_t *) args[1];
4990 
4991 	report_count(1);
4992 	report_return(wecho_wchar(win, ch));
4993 }
4994 
4995 
4996 void
4997 cmd_pecho_wchar(int nargs, char **args)
4998 {
4999 	WINDOW *pad;
5000 	cchar_t *wch;
5001 
5002 	if (check_arg_count(nargs, 2) == 1)
5003 		return;
5004 
5005 	if (set_win(args[0], &pad) != 0)
5006 		return;
5007 
5008 	wch = (cchar_t *) args[1];
5009 
5010 	report_count(1);
5011 	report_return(pecho_wchar(pad, wch));
5012 }
5013 
5014 
5015 
5016 /* insert */
5017 void
5018 cmd_ins_wch(int nargs, char **args)
5019 {
5020 	cchar_t *wch;
5021 
5022 	if (check_arg_count(nargs, 1) == 1)
5023 		return;
5024 
5025 	wch = (cchar_t *) args[0];
5026 
5027 	report_count(1);
5028 	report_return(ins_wch(wch));
5029 }
5030 
5031 
5032 void
5033 cmd_wins_wch(int nargs, char **args)
5034 {
5035 	WINDOW *win;
5036 	cchar_t *wch;
5037 
5038 	if (check_arg_count(nargs, 2) == 1)
5039 		return;
5040 
5041 	if (set_win(args[0], &win) != 0)
5042 		return;
5043 
5044 	wch = (cchar_t *) args[1];
5045 
5046 	report_count(1);
5047 	report_return(wins_wch(win, wch));
5048 }
5049 
5050 
5051 void
5052 cmd_mvins_wch(int nargs, char **args)
5053 {
5054 	int y, x;
5055 	cchar_t *wch;
5056 
5057 	if (check_arg_count(nargs, 3) == 1)
5058 		return;
5059 
5060 	if ((set_int(args[0], &y) != 0) ||
5061 	    (set_int(args[1], &x) != 0))
5062 		return;
5063 
5064 	wch = (cchar_t *) args[2];
5065 
5066 	report_count(1);
5067 	report_return(mvins_wch(y, x, wch));
5068 }
5069 
5070 
5071 void
5072 cmd_mvwins_wch(int nargs, char **args)
5073 {
5074 	WINDOW *win;
5075 	int y, x;
5076 	cchar_t *wch;
5077 
5078 	if (check_arg_count(nargs, 4) == 1)
5079 		return;
5080 
5081 	if ((set_win(args[0], &win) != 0) ||
5082 	    (set_int(args[1], &y) != 0) ||
5083 	    (set_int(args[2], &x) != 0))
5084 		return;
5085 
5086 	wch = (cchar_t *) args[3];
5087 
5088 	report_count(1);
5089 	report_return(mvwins_wch(win, y, x, wch));
5090 }
5091 
5092 
5093 
5094 void
5095 cmd_ins_nwstr(int nargs, char **args)
5096 {
5097 	wchar_t *wstr;
5098 	int n;
5099 
5100 	if (check_arg_count(nargs, 2) == 1)
5101 		return;
5102 
5103 	wstr = (wchar_t *) args[0];
5104 	if (set_int(args[1], &n) != 0)
5105 		return;
5106 
5107 	report_count(1);
5108 	report_return(ins_nwstr(wstr, n));
5109 }
5110 
5111 
5112 void
5113 cmd_ins_wstr(int nargs, char **args)
5114 {
5115 	wchar_t *wstr;
5116 
5117 	if (check_arg_count(nargs, 1) == 1)
5118 		return;
5119 
5120 	wstr = (wchar_t *) args[0];
5121 
5122 	report_count(1);
5123 	report_return(ins_wstr(wstr));
5124 }
5125 
5126 
5127 void
5128 cmd_mvins_nwstr(int nargs, char **args)
5129 {
5130 	int y, x;
5131 	wchar_t *wstr;
5132 	int n;
5133 
5134 	if (check_arg_count(nargs, 4) == 1)
5135 		return;
5136 
5137 	if ((set_int(args[0], &y) != 0) ||
5138 	    (set_int(args[1], &x) != 0) ||
5139 	    (set_int(args[3], &n) != 0))
5140 		return;
5141 
5142 	wstr = (wchar_t *) args[2];
5143 
5144 	report_count(1);
5145 	report_return(mvins_nwstr(y, x, wstr, n));
5146 }
5147 
5148 
5149 void
5150 cmd_mvins_wstr(int nargs, char **args)
5151 {
5152 	int y, x;
5153 	wchar_t *wstr;
5154 
5155 	if (check_arg_count(nargs, 3) == 1)
5156 		return;
5157 
5158 	if ((set_int(args[0], &y) != 0) ||
5159 	    (set_int(args[1], &x) != 0))
5160 		return;
5161 
5162 	wstr = (wchar_t *) args[2];
5163 
5164 	report_count(1);
5165 	report_return(mvins_wstr(y, x, wstr));
5166 }
5167 
5168 
5169 void
5170 cmd_mvwins_nwstr(int nargs, char **args)
5171 {
5172 	WINDOW *win;
5173 	int y, x;
5174 	wchar_t *wstr;
5175 	int n;
5176 
5177 	if (check_arg_count(nargs, 5) == 1)
5178 		return;
5179 
5180 	if ((set_win(args[0], &win) != 0) ||
5181 	    (set_int(args[1], &y) != 0) ||
5182 	    (set_int(args[2], &x) != 0) ||
5183 	    (set_int(args[4], &n) != 0))
5184 		return;
5185 
5186 	wstr = (wchar_t *) args[3];
5187 
5188 	report_count(1);
5189 	report_return(mvwins_nwstr(win, y, x, wstr, n));
5190 }
5191 
5192 
5193 void
5194 cmd_mvwins_wstr(int nargs, char **args)
5195 {
5196 	WINDOW *win;
5197 	int y, x;
5198 	wchar_t *wstr;
5199 
5200 	if (check_arg_count(nargs, 4) == 1)
5201 		return;
5202 
5203 	if ((set_win(args[0], &win) != 0) ||
5204 	    (set_int(args[1], &y) != 0) ||
5205 	    (set_int(args[2], &x) != 0))
5206 		return;
5207 
5208 	wstr = (wchar_t *) args[3];
5209 
5210 	report_count(1);
5211 	report_return(mvwins_wstr(win, y, x, wstr));
5212 }
5213 
5214 
5215 void
5216 cmd_wins_nwstr(int nargs, char **args)
5217 {
5218 	WINDOW *win;
5219 	wchar_t *wstr;
5220 	int n;
5221 
5222 	if (check_arg_count(nargs, 3) == 1)
5223 		return;
5224 
5225 	if ((set_win(args[0], &win) != 0) ||
5226 	    (set_int(args[2], &n) != 0))
5227 		return;
5228 
5229 	wstr = (wchar_t *) args[1];
5230 
5231 	report_count(1);
5232 	report_return(wins_nwstr(win, wstr, n));
5233 }
5234 
5235 
5236 void
5237 cmd_wins_wstr(int nargs, char **args)
5238 {
5239 	WINDOW *win;
5240 	wchar_t *wstr;
5241 
5242 	if (check_arg_count(nargs, 2) == 1)
5243 		return;
5244 
5245 	if (set_win(args[0], &win) != 0)
5246 		return;
5247 
5248 	wstr = (wchar_t *) args[1];
5249 
5250 	report_count(1);
5251 	report_return(wins_wstr(win, wstr));
5252 }
5253 
5254 
5255 
5256 /* input */
5257 void
5258 cmd_get_wch(int nargs, char **args)
5259 {
5260 	wchar_t ch;
5261 	if (check_arg_count(nargs, 0) == 1)
5262 		return;
5263 
5264 	report_count(2);
5265 	report_return(get_wch(&ch));
5266 	report_wchar(ch);
5267 }
5268 
5269 
5270 void
5271 cmd_unget_wch(int nargs, char **args)
5272 {
5273 	wchar_t *wch;
5274 	if (check_arg_count(nargs, 1) == 1)
5275 		return;
5276 
5277 	wch = (wchar_t *) args[0];
5278 
5279 	report_count(1);
5280 	report_return(unget_wch(*wch));
5281 }
5282 
5283 
5284 void
5285 cmd_mvget_wch(int nargs, char **args)
5286 {
5287 	wchar_t ch;
5288 	int y, x;
5289 	if (check_arg_count(nargs, 2) == 1)
5290 		return;
5291 
5292 	if ((set_int(args[0], &y) != 0) ||
5293 	    (set_int(args[1], &x) != 0))
5294 		return;
5295 
5296 	report_count(2);
5297 	report_return(mvget_wch(y, x, &ch));
5298 	report_wchar(ch);
5299 }
5300 
5301 
5302 void
5303 cmd_mvwget_wch(int nargs, char **args)
5304 {
5305 	wchar_t ch;
5306 	WINDOW *win;
5307 	int y, x;
5308 
5309 	if (check_arg_count(nargs, 1) == 1)
5310 		return;
5311 
5312 	if ((set_win(args[0], &win) != 0) ||
5313 	    (set_int(args[1], &y) != 0) ||
5314 	    (set_int(args[2], &x) != 0))
5315 		return;
5316 
5317 	report_count(2);
5318 	report_return(mvwget_wch(win, y, x, &ch));
5319 	report_wchar(ch);
5320 }
5321 
5322 
5323 void
5324 cmd_wget_wch(int nargs, char **args)
5325 {
5326 	wchar_t ch;
5327 	WINDOW *win;
5328 
5329 	if (check_arg_count(nargs, 1) == 1)
5330 		return;
5331 
5332 	if (set_win(args[0], &win) != 0)
5333 		return;
5334 
5335 	report_count(2);
5336 	report_return(wget_wch(win, &ch));
5337 	report_wchar(ch);
5338 }
5339 
5340 
5341 
5342 void
5343 cmd_getn_wstr(int nargs, char **args)
5344 {
5345 	wchar_t wstr[256];
5346 	int n;
5347 
5348 	if (check_arg_count(nargs, 1) == 1)
5349 		return;
5350 
5351 	if (set_int(args[0], &n) != 0)
5352 		return;
5353 
5354 	report_count(2);
5355 	report_return(getn_wstr(wstr, n));
5356 	report_wstr(wstr);
5357 }
5358 
5359 
5360 void
5361 cmd_get_wstr(int nargs, char **args)
5362 {
5363 	wchar_t wstr[256];
5364 
5365 	if (check_arg_count(nargs, 0) == 1)
5366 		return;
5367 
5368 	report_count(2);
5369 	report_return(get_wstr(wstr));
5370 	report_wstr(wstr);
5371 }
5372 
5373 void
5374 cmd_mvgetn_wstr(int nargs, char **args)
5375 {
5376 	wchar_t wstr[256];
5377 	int y, x, n;
5378 
5379 	if (check_arg_count(nargs, 3) == 1)
5380 		return;
5381 
5382 	if ((set_int(args[0], &y) != 0) ||
5383 	    (set_int(args[1], &x) != 0) ||
5384 	    (set_int(args[2], &n) != 0))
5385 		return;
5386 
5387 	report_count(2);
5388 	report_return(mvgetn_wstr(y, x, wstr, n));
5389 	report_wstr(wstr);
5390 }
5391 
5392 void
5393 cmd_mvget_wstr(int nargs, char **args)
5394 {
5395 	wchar_t wstr[256];
5396 	int y, x;
5397 
5398 	if (check_arg_count(nargs, 2) == 1)
5399 		return;
5400 
5401 	if ((set_int(args[0], &y) != 0) ||
5402 	    (set_int(args[1], &x) != 0))
5403 		return;
5404 
5405 	report_count(2);
5406 	report_return(mvget_wstr(y, x, wstr));
5407 	report_wstr(wstr);
5408 }
5409 
5410 
5411 void
5412 cmd_mvwgetn_wstr(int nargs, char **args)
5413 {
5414 	WINDOW *win;
5415 	wchar_t wstr[256];
5416 	int y, x, n;
5417 
5418 	if (check_arg_count(nargs, 4) == 1)
5419 		return;
5420 
5421 	if ((set_win(args[0], &win) != 0) ||
5422 	    (set_int(args[1], &y) != 0) ||
5423 	    (set_int(args[2], &x) != 0) ||
5424 	    (set_int(args[3], &n) != 0))
5425 		return;
5426 
5427 	report_count(2);
5428 	report_return(mvwgetn_wstr(win, y, x, wstr, n));
5429 	report_wstr(wstr);
5430 }
5431 
5432 
5433 void
5434 cmd_mvwget_wstr(int nargs, char **args)
5435 {
5436 	WINDOW *win;
5437 	wchar_t wstr[256];
5438 	int y, x;
5439 
5440 	if (check_arg_count(nargs, 3) == 1)
5441 		return;
5442 
5443 	if ((set_win(args[0], &win) != 0) ||
5444 	    (set_int(args[1], &y) != 0) ||
5445 	    (set_int(args[2], &x) != 0))
5446 		return;
5447 
5448 	report_count(2);
5449 	report_return(mvwget_wstr(win, y, x, wstr));
5450 	report_wstr(wstr);
5451 }
5452 
5453 
5454 void
5455 cmd_wgetn_wstr(int nargs, char **args)
5456 {
5457 	WINDOW *win;
5458 	wchar_t wstr[256];
5459 	int n;
5460 
5461 	if (check_arg_count(nargs, 2) == 1)
5462 		return;
5463 
5464 	if ((set_win(args[0], &win) != 0) ||
5465 	    (set_int(args[1], &n) != 0))
5466 		return;
5467 
5468 	report_count(2);
5469 	report_return(wgetn_wstr(win, wstr, n));
5470 	report_wstr(wstr);
5471 }
5472 
5473 
5474 void
5475 cmd_wget_wstr(int nargs, char **args)
5476 {
5477 	WINDOW *win;
5478 	wchar_t wstr[256];
5479 
5480 	if (check_arg_count(nargs, 1) == 1)
5481 		return;
5482 
5483 	if (set_win(args[0], &win) != 0)
5484 		return;
5485 
5486 	report_count(2);
5487 	report_return(wget_wstr(win, wstr));
5488 	report_wstr(wstr);
5489 }
5490 
5491 
5492 
5493 void
5494 cmd_in_wch(int nargs, char **args)
5495 {
5496 	cchar_t wcval;
5497 	if (check_arg_count(nargs, 0) == 1)
5498 		return;
5499 
5500 	report_count(2);
5501 	report_return(in_wch(&wcval));
5502 	report_cchar(wcval);
5503 }
5504 
5505 
5506 void
5507 cmd_mvin_wch(int nargs, char **args)
5508 {
5509 	cchar_t wcval;
5510 	int y, x;
5511 	if (check_arg_count(nargs, 2) == 1)
5512 		return;
5513 
5514 	if ((set_int(args[0], &y) != 0) ||
5515 	    (set_int(args[1], &x) != 0))
5516 		return;
5517 
5518 	report_count(2);
5519 	report_return(mvin_wch(y, x, &wcval));
5520 	report_cchar(wcval);
5521 }
5522 
5523 
5524 void
5525 cmd_mvwin_wch(int nargs, char **args)
5526 {
5527 	cchar_t wcval;
5528 	WINDOW *win;
5529 	int y, x;
5530 	if (check_arg_count(nargs, 3) == 1)
5531 		return;
5532 
5533 	if ((set_win(args[0], &win) != 0) ||
5534 	    (set_int(args[1], &y) != 0) ||
5535 	    (set_int(args[2], &x) != 0))
5536 		return;
5537 
5538 	report_count(2);
5539 	report_return(mvwin_wch(win, y, x, &wcval));
5540 	report_cchar(wcval);
5541 }
5542 
5543 
5544 void
5545 cmd_win_wch(int nargs, char **args)
5546 {
5547 	cchar_t wcval;
5548 	WINDOW *win;
5549 	if (check_arg_count(nargs, 1) == 1)
5550 		return;
5551 
5552 	if (set_win(args[0], &win) != 0)
5553 		return;
5554 
5555 	report_count(2);
5556 	report_return(win_wch(win, &wcval));
5557 	report_cchar(wcval);
5558 }
5559 
5560 
5561 void
5562 cmd_in_wchnstr(int nargs, char **args)
5563 {
5564 	if (check_arg_count(nargs, 1) == 1)
5565 		return;
5566 
5567 	report_count(1);
5568 	report_error("UNSUPPORTED");
5569 }
5570 
5571 
5572 void
5573 cmd_in_wchstr(int nargs, char **args)
5574 {
5575 	if (check_arg_count(nargs, 1) == 1)
5576 		return;
5577 
5578 	report_count(1);
5579 	report_error("UNSUPPORTED");
5580 }
5581 
5582 
5583 void
5584 cmd_mvin_wchnstr(int nargs, char **args)
5585 {
5586 	if (check_arg_count(nargs, 1) == 1)
5587 		return;
5588 
5589 	report_count(1);
5590 	report_error("UNSUPPORTED");
5591 }
5592 
5593 
5594 void
5595 cmd_mvin_wchstr(int nargs, char **args)
5596 {
5597 	if (check_arg_count(nargs, 1) == 1)
5598 		return;
5599 
5600 	report_count(1);
5601 	report_error("UNSUPPORTED");
5602 }
5603 
5604 
5605 void
5606 cmd_mvwin_wchnstr(int nargs, char **args)
5607 {
5608 	if (check_arg_count(nargs, 1) == 1)
5609 		return;
5610 
5611 	report_count(1);
5612 	report_error("UNSUPPORTED");
5613 }
5614 
5615 
5616 void
5617 cmd_mvwin_wchstr(int nargs, char **args)
5618 {
5619 	if (check_arg_count(nargs, 1) == 1)
5620 		return;
5621 
5622 	report_count(1);
5623 	report_error("UNSUPPORTED");
5624 }
5625 
5626 
5627 void
5628 cmd_win_wchnstr(int nargs, char **args)
5629 {
5630 	if (check_arg_count(nargs, 1) == 1)
5631 		return;
5632 
5633 	report_count(1);
5634 	report_error("UNSUPPORTED");
5635 }
5636 
5637 
5638 void
5639 cmd_win_wchstr(int nargs, char **args)
5640 {
5641 	if (check_arg_count(nargs, 1) == 1)
5642 		return;
5643 
5644 	report_count(1);
5645 	report_error("UNSUPPORTED");
5646 }
5647 
5648 
5649 
5650 void
5651 cmd_innwstr(int nargs, char **args)
5652 {
5653 	wchar_t wstr[256];
5654 	int n;
5655 
5656 	if (check_arg_count(nargs, 1) == 1)
5657 		return;
5658 
5659 	if (set_int(args[0], &n) != 0)
5660 		return;
5661 
5662 	report_count(2);
5663 	report_int(innwstr(wstr, n));
5664 	report_wstr(wstr);
5665 }
5666 
5667 
5668 void
5669 cmd_inwstr(int nargs, char **args)
5670 {
5671 	wchar_t wstr[256];
5672 	if (check_arg_count(nargs, 0) == 1)
5673 		return;
5674 
5675 	report_count(2);
5676 	report_return(inwstr(wstr));
5677 	report_wstr(wstr);
5678 }
5679 
5680 
5681 void
5682 cmd_mvinnwstr(int nargs, char **args)
5683 {
5684 	wchar_t wstr[256];
5685 	int y, x, n;
5686 
5687 	if (check_arg_count(nargs, 3) == 1)
5688 		return;
5689 
5690 	if ((set_int(args[0], &y) != 0) ||
5691 	    (set_int(args[1], &x) != 0) ||
5692 	    (set_int(args[2], &n) != 0))
5693 		return;
5694 
5695 	report_count(2);
5696 	report_int(mvinnwstr(y, x, wstr, n));
5697 	report_wstr(wstr);
5698 }
5699 
5700 
5701 void
5702 cmd_mvinwstr(int nargs, char **args)
5703 {
5704 	wchar_t wstr[256];
5705 	int y, x;
5706 
5707 	if (check_arg_count(nargs, 2) == 1)
5708 		return;
5709 
5710 	if ((set_int(args[0], &y) != 0) ||
5711 	    (set_int(args[1], &x) != 0))
5712 		return;
5713 
5714 	report_count(2);
5715 	report_return(mvinwstr(y, x, wstr));
5716 	report_wstr(wstr);
5717 }
5718 
5719 
5720 void
5721 cmd_mvwinnwstr(int nargs, char **args)
5722 {
5723 	WINDOW *win;
5724 	wchar_t wstr[256];
5725 	int y, x, n;
5726 
5727 	if (check_arg_count(nargs, 4) == 1)
5728 		return;
5729 
5730 	if ((set_win(args[0], &win) != 0) ||
5731 	    (set_int(args[1], &y) != 0) ||
5732 	    (set_int(args[2], &x) != 0) ||
5733 	    (set_int(args[3], &n) != 0))
5734 		return;
5735 
5736 	report_count(2);
5737 	report_int(mvwinnwstr(win, y, x, wstr, n));
5738 	report_wstr(wstr);
5739 }
5740 
5741 
5742 void
5743 cmd_mvwinwstr(int nargs, char **args)
5744 {
5745 	WINDOW *win;
5746 	wchar_t wstr[256];
5747 	int y, x;
5748 
5749 	if (check_arg_count(nargs, 3) == 1)
5750 		return;
5751 
5752 	if ((set_win(args[0], &win) != 0) ||
5753 	    (set_int(args[1], &y) != 0) ||
5754 	    (set_int(args[2], &x) != 0))
5755 		return;
5756 
5757 	report_count(2);
5758 	report_return(mvwinwstr(win, y, x, wstr));
5759 	report_wstr(wstr);
5760 }
5761 
5762 
5763 void
5764 cmd_winnwstr(int nargs, char **args)
5765 {
5766 	WINDOW *win;
5767 	wchar_t wstr[256];
5768 	int n;
5769 
5770 	if (check_arg_count(nargs, 2) == 1)
5771 		return;
5772 
5773 	if ((set_win(args[0], &win) != 0) ||
5774 	    (set_int(args[1], &n) != 0))
5775 		return;
5776 
5777 	report_count(2);
5778 	report_int(winnwstr(win, wstr, n));
5779 	report_wstr(wstr);
5780 }
5781 
5782 
5783 void
5784 cmd_winwstr(int nargs, char **args)
5785 {
5786 	WINDOW *win;
5787 	wchar_t wstr[256];
5788 
5789 	if (check_arg_count(nargs, 1) == 1)
5790 		return;
5791 
5792 	if (set_win(args[0], &win) != 0)
5793 		return;
5794 
5795 	report_count(2);
5796 	report_return(winwstr(win, wstr));
5797 	report_wstr(wstr);
5798 }
5799 
5800 
5801 
5802 /* cchar handling */
5803 void
5804 cmd_setcchar(int nargs, char **args)
5805 {
5806 	cchar_t wcval;
5807 	wchar_t *wch;
5808 	attr_t attrs;
5809 	short color_pair;
5810 
5811 	if (check_arg_count(nargs, 4) == 1)
5812 		return;
5813 
5814 	wch = (wchar_t *) args[0];
5815 	if ((set_int(args[1], &attrs) != 0) ||
5816 	    (set_short(args[2], &color_pair) != 0))
5817 		return;
5818 
5819 	report_count(2);
5820 	report_return(setcchar(&wcval, wch, attrs, color_pair, NULL));
5821 	report_cchar(wcval);
5822 }
5823 
5824 
5825 void
5826 cmd_getcchar(int nargs, char **args)
5827 {
5828 	cchar_t *wcval;
5829 	wchar_t wch[256];
5830 	attr_t attrs;
5831 	short color_pair;
5832 
5833 	/*
5834          * XXX - not handling passing of wch as NULL
5835          */
5836 
5837 	if (check_arg_count(nargs, 2) == 1)
5838 		return;
5839 
5840 	wcval = (cchar_t *) args[0];
5841 
5842 	report_count(4);
5843 	report_return(getcchar(wcval, wch, &attrs, &color_pair, NULL));
5844 	report_wstr(wch);
5845 	report_int(attrs);
5846 	report_int(color_pair);
5847 }
5848 
5849 
5850 
5851 /* misc */
5852 void
5853 cmd_key_name(int nargs, char **args)
5854 {
5855 	wchar_t w;
5856 
5857 	if (check_arg_count(nargs, 1) == 1)
5858 		return;
5859 
5860 	w = *((wchar_t *) args[0]);
5861 
5862 	report_count(1);
5863 	report_status(key_name(w));
5864 }
5865 
5866 
5867 void
5868 cmd_border_set(int nargs, char **args)
5869 {
5870 	cchar_t *ls, *rs, *ts, *bs, *tl, *tr, *bl, *br;
5871 
5872 	if (check_arg_count(nargs, 8) == 1)
5873 		return;
5874 
5875 	ls = (cchar_t *) args[0];
5876 	rs = (cchar_t *) args[1];
5877 	ts = (cchar_t *) args[2];
5878 	bs = (cchar_t *) args[3];
5879 	tl = (cchar_t *) args[4];
5880 	tr = (cchar_t *) args[5];
5881 	bl = (cchar_t *) args[6];
5882 	br = (cchar_t *) args[7];
5883 
5884 	report_count(1);
5885 	report_return(border_set(ls, rs, ts, bs, tl, tr, bl, br));
5886 }
5887 
5888 
5889 void
5890 cmd_wborder_set(int nargs, char **args)
5891 {
5892 	WINDOW *win;
5893 	cchar_t *ls, *rs, *ts, *bs, *tl, *tr, *bl, *br;
5894 
5895 	if (check_arg_count(nargs, 9) == 1)
5896 		return;
5897 
5898 	if (set_win(args[0], &win) != 0)
5899 		return;
5900 
5901 	ls = (cchar_t *) args[1];
5902 	rs = (cchar_t *) args[2];
5903 	ts = (cchar_t *) args[3];
5904 	bs = (cchar_t *) args[4];
5905 	tl = (cchar_t *) args[5];
5906 	tr = (cchar_t *) args[6];
5907 	bl = (cchar_t *) args[7];
5908 	br = (cchar_t *) args[8];
5909 
5910 	report_count(1);
5911 	report_return(wborder_set(win, ls, rs, ts, bs, tl, tr, bl, br));
5912 }
5913 
5914 
5915 void
5916 cmd_box_set(int nargs, char **args)
5917 {
5918 	WINDOW *win;
5919 	cchar_t *verch, *horch;
5920 
5921 	if (check_arg_count(nargs, 3) == 1)
5922 		return;
5923 
5924 	if (set_win(args[0], &win) != 0)
5925 		return;
5926 
5927 	verch = (cchar_t *) args[1];
5928 	horch = (cchar_t *) args[2];
5929 
5930 	report_count(1);
5931 	report_return(box_set(win, verch, horch));
5932 }
5933 
5934 
5935 void
5936 cmd_erasewchar(int nargs, char **args)
5937 {
5938 	wchar_t ch;
5939 
5940 	if (check_arg_count(nargs, 0) == 1)
5941 		return;
5942 
5943 	/* XXX - call2 */
5944 	report_count(2);
5945 	report_return(erasewchar(&ch));
5946 	report_wchar(ch);
5947 }
5948 
5949 
5950 void
5951 cmd_killwchar(int nargs, char **args)
5952 {
5953 	wchar_t ch;
5954 
5955 	if (check_arg_count(nargs, 0) == 1)
5956 		return;
5957 
5958 	/* XXX - call2 */
5959 	report_count(2);
5960 	report_return(killwchar(&ch));
5961 	report_wchar(ch);
5962 }
5963 
5964 
5965 void
5966 cmd_hline_set(int nargs, char **args)
5967 {
5968 	cchar_t *wch;
5969 	int n;
5970 
5971 	if (check_arg_count(nargs, 2) == 1)
5972 		return;
5973 
5974 	wch = (cchar_t *) args[0];
5975 	if (set_int(args[1], &n) != 0)
5976 		return;
5977 
5978 	report_count(1);
5979 	report_return(hline_set(wch, n));
5980 }
5981 
5982 
5983 void
5984 cmd_mvhline_set(int nargs, char **args)
5985 {
5986 	cchar_t *wch;
5987 	int y, x, n;
5988 	if (check_arg_count(nargs, 4) == 1)
5989 		return;
5990 
5991 	if ((set_int(args[0], &y) != 0) ||
5992 	    (set_int(args[1], &x) != 0) ||
5993 	    (set_int(args[3], &n) != 0))
5994 		return;
5995 
5996 	wch = (cchar_t *) args[2];
5997 
5998 	report_count(1);
5999 	report_return(mvhline_set(y, x, wch, n));
6000 }
6001 
6002 
6003 void
6004 cmd_mvvline_set(int nargs, char **args)
6005 {
6006 	cchar_t *wch;
6007 	int y, x, n;
6008 	if (check_arg_count(nargs, 4) == 1)
6009 		return;
6010 
6011 	if ((set_int(args[0], &y) != 0) ||
6012 	    (set_int(args[1], &x) != 0) ||
6013 	    (set_int(args[3], &n) != 0))
6014 		return;
6015 
6016 	wch = (cchar_t *) args[2];
6017 
6018 	report_count(1);
6019 	report_return(mvvline_set(y, x, wch, n));
6020 }
6021 
6022 
6023 void
6024 cmd_mvwhline_set(int nargs, char **args)
6025 {
6026 	WINDOW *win;
6027 	cchar_t *wch;
6028 	int y, x, n;
6029 	if (check_arg_count(nargs, 5) == 1)
6030 		return;
6031 
6032 	if ((set_win(args[0], &win) != 0) ||
6033 	    (set_int(args[1], &y) != 0) ||
6034 	    (set_int(args[2], &x) != 0) ||
6035 	    (set_int(args[4], &n) != 0))
6036 		return;
6037 
6038 	wch = (cchar_t *) args[3];
6039 
6040 	report_count(1);
6041 	report_return(mvwhline_set(win, y, x, wch, n));
6042 }
6043 
6044 
6045 void
6046 cmd_mvwvline_set(int nargs, char **args)
6047 {
6048 	WINDOW *win;
6049 	cchar_t *wch;
6050 	int y, x, n;
6051 	if (check_arg_count(nargs, 5) == 1)
6052 		return;
6053 
6054 	if ((set_win(args[0], &win) != 0) ||
6055 	    (set_int(args[1], &y) != 0) ||
6056 	    (set_int(args[2], &x) != 0) ||
6057 	    (set_int(args[4], &n) != 0))
6058 		return;
6059 
6060 	wch = (cchar_t *) args[3];
6061 
6062 	report_count(1);
6063 	report_return(mvwvline_set(win, y, x, wch, n));
6064 }
6065 
6066 
6067 void
6068 cmd_vline_set(int nargs, char **args)
6069 {
6070 	cchar_t *wch;
6071 	int n;
6072 
6073 	if (check_arg_count(nargs, 2) == 1)
6074 		return;
6075 
6076 	wch = (cchar_t *) args[0];
6077 
6078 	if (set_int(args[1], &n) != 0)
6079 		return;
6080 
6081 	report_count(1);
6082 	report_return(vline_set(wch, n));
6083 }
6084 
6085 
6086 void
6087 cmd_whline_set(int nargs, char **args)
6088 {
6089 	WINDOW *win;
6090 	cchar_t *wch;
6091 	int n;
6092 
6093 	if (check_arg_count(nargs, 3) == 1)
6094 		return;
6095 
6096 	if ((set_win(args[0], &win) != 0) ||
6097 	    (set_int(args[2], &n) != 0))
6098 		return;
6099 
6100 	wch = (cchar_t *) args[1];
6101 
6102 	report_count(1);
6103 	report_return(whline_set(win, wch, n));
6104 }
6105 
6106 
6107 void
6108 cmd_wvline_set(int nargs, char **args)
6109 {
6110 	WINDOW *win;
6111 	cchar_t *wch;
6112 	int n;
6113 
6114 	if (check_arg_count(nargs, 3) == 1)
6115 		return;
6116 
6117 	if ((set_win(args[0], &win) != 0) ||
6118 	    (set_int(args[2], &n) != 0))
6119 		return;
6120 
6121 	wch = (cchar_t *) args[1];
6122 
6123 	report_count(1);
6124 	report_return(wvline_set(win, wch, n));
6125 }
6126 
6127 
6128 void
6129 cmd_bkgrnd(int nargs, char **args)
6130 {
6131 	cchar_t *wch;
6132 	if (check_arg_count(nargs, 1) == 1)
6133 		return;
6134 
6135 	wch = (cchar_t *) args[0];
6136 
6137 	report_count(1);
6138 	report_return(bkgrnd(wch));
6139 }
6140 
6141 
6142 void
6143 cmd_bkgrndset(int nargs, char **args)
6144 {
6145 	cchar_t *wch;
6146 	if (check_arg_count(nargs, 1) == 1)
6147 		return;
6148 
6149 	wch = (cchar_t *) args[0];
6150 
6151 	report_count(1);
6152 	bkgrndset(wch);
6153 	report_return(OK);
6154 }
6155 
6156 
6157 void
6158 cmd_getbkgrnd(int nargs, char **args)
6159 {
6160 	cchar_t wch;
6161 	if (check_arg_count(nargs, 0) == 1)
6162 		return;
6163 
6164 	report_count(2);
6165 	report_return(getbkgrnd(&wch));
6166 	report_cchar(wch);
6167 }
6168 
6169 
6170 void
6171 cmd_wbkgrnd(int nargs, char **args)
6172 {
6173 	WINDOW *win;
6174 	cchar_t *wch;
6175 
6176 	if (check_arg_count(nargs, 2) == 1)
6177 		return;
6178 
6179 	if (set_win(args[0], &win) != 0)
6180 		return;
6181 
6182 	wch = (cchar_t *) args[1];
6183 
6184 	report_count(1);
6185 	report_return(wbkgrnd(win, wch));
6186 }
6187 
6188 
6189 void
6190 cmd_wbkgrndset(int nargs, char **args)
6191 {
6192 	WINDOW *win;
6193 	cchar_t *wch;
6194 
6195 	if (check_arg_count(nargs, 2) == 1)
6196 		return;
6197 
6198 	if (set_win(args[0], &win) != 0)
6199 		return;
6200 
6201 	wch = (cchar_t *) args[1];
6202 
6203 	report_count(1);
6204 	wbkgrndset(win, wch);
6205 	report_return(OK);
6206 }
6207 
6208 
6209 void
6210 cmd_wgetbkgrnd(int nargs, char **args)
6211 {
6212 	WINDOW *win;
6213 	cchar_t wch;
6214 	if (check_arg_count(nargs, 1) == 1)
6215 		return;
6216 
6217 	if (set_win(args[0], &win) != 0)
6218 		return;
6219 
6220 	report_count(2);
6221 	report_return(wgetbkgrnd(win, &wch));
6222 	report_cchar(wch);
6223 }
6224 
6225 
6226 void
6227 cmd_immedok(int nargs, char **args)
6228 {
6229 	WINDOW *win;
6230 	int bf;
6231 
6232 	if (check_arg_count(nargs, 2) == 1)
6233 		return;
6234 
6235 	if ((set_win(args[0], &win) != 0) ||
6236 	    (set_int(args[1], &bf) != 0))
6237 		return;
6238 
6239 	report_count(1);
6240 	immedok(win, bf);
6241 	report_return(OK);
6242 }
6243 
6244 void
6245 cmd_syncok(int nargs, char **args)
6246 {
6247 	WINDOW *win;
6248 	int bf;
6249 
6250 	if (check_arg_count(nargs, 2) == 1)
6251 		return;
6252 
6253 	if ((set_win(args[0], &win) != 0) ||
6254 	    (set_int(args[1], &bf) != 0))
6255 		return;
6256 
6257 	report_count(1);
6258 	report_return(syncok(win, bf));
6259 }
6260 
6261 void
6262 cmd_wcursyncup(int nargs, char **args)
6263 {
6264 	WINDOW *win;
6265 
6266 	if (check_arg_count(nargs, 1) == 1)
6267 		return;
6268 
6269 	if (set_win(args[0], &win) != 0)
6270 		return;
6271 
6272 	report_count(1);
6273 	wcursyncup(win);
6274 	report_return(OK);
6275 }
6276 
6277 void
6278 cmd_wsyncup(int nargs, char **args)
6279 {
6280 	WINDOW *win;
6281 
6282 	if (check_arg_count(nargs, 1) == 1)
6283 		return;
6284 
6285 	if (set_win(args[0], &win) != 0)
6286 		return;
6287 
6288 	report_count(1);
6289 	wsyncup(win);
6290 	report_return(OK);
6291 }
6292 
6293 void
6294 cmd_wsyncdown(int nargs, char **args)
6295 {
6296 	WINDOW *win;
6297 
6298 	if (check_arg_count(nargs, 1) == 1)
6299 		return;
6300 
6301 	if (set_win(args[0], &win) != 0)
6302 		return;
6303 
6304 	report_count(1);
6305 	wsyncdown(win);
6306 	report_return(OK);
6307 }
6308 
6309 
6310 /* Soft label key routines */
6311 void
6312 cmd_slk_attroff(int nargs, char **args)
6313 {
6314 	chtype *ch;
6315 
6316 	if (check_arg_count(nargs, 1) == 1)
6317 		return;
6318 
6319 	ch = (chtype *) args[0];
6320 
6321 	report_count(1);
6322 	report_return(slk_attroff(ch[0]));
6323 }
6324 
6325 void
6326 cmd_slk_attr_off(int nargs, char **args)
6327 {
6328 	attr_t attrs;
6329 
6330 	if (check_arg_count(nargs, 1) == 1)
6331 		return;
6332 
6333 	if (set_int(args[0], &attrs) != 0)
6334 		return;
6335 
6336 	report_count(1);
6337 	report_return(slk_attr_off(attrs, NULL));
6338 }
6339 
6340 void
6341 cmd_slk_attron(int nargs, char **args)
6342 {
6343 	chtype *ch;
6344 
6345 	if (check_arg_count(nargs, 1) == 1)
6346 		return;
6347 
6348 	ch = (chtype *) args[0];
6349 
6350 	report_count(1);
6351 	report_return(slk_attron(ch[0]));
6352 }
6353 
6354 void
6355 cmd_slk_attr_on(int nargs, char **args)
6356 {
6357 	chtype attrs;
6358 
6359 	if (check_arg_count(nargs, 1) == 1)
6360 		return;
6361 
6362 	if (set_int(args[0], &attrs) != 0)
6363 		return;
6364 
6365 	report_count(1);
6366 	report_return(slk_attr_on(attrs, NULL));
6367 }
6368 
6369 void
6370 cmd_slk_attrset(int nargs, char **args)
6371 {
6372 	chtype *ch;
6373 
6374 	if (check_arg_count(nargs, 1) == 1)
6375 		return;
6376 
6377 	ch = (chtype *) args[0];
6378 
6379 	report_count(1);
6380 	report_return(slk_attrset(ch[0]));
6381 }
6382 
6383 void
6384 cmd_slk_attr_set(int nargs, char **args)
6385 {
6386 	attr_t attrs;
6387 	short color_pair_number;
6388 
6389 	if (check_arg_count(nargs, 2) == 1)
6390 		return;
6391 
6392 	if ((set_int(args[0], &attrs) != 0) ||
6393 	    (set_short(args[1], &color_pair_number) != 0))
6394 		return;
6395 
6396 	report_count(1);
6397 	report_return(slk_attr_set(attrs, color_pair_number, NULL));
6398 }
6399 
6400 void
6401 cmd_slk_clear(int nargs, char **args)
6402 {
6403 	if (check_arg_count(nargs, 0) == 1)
6404 		return;
6405 
6406 	report_count(1);
6407 	report_return(slk_clear());
6408 }
6409 
6410 void
6411 cmd_slk_color(int nargs, char **args)
6412 {
6413 	short color_pair_number;
6414 
6415 	if (check_arg_count(nargs, 1) == 1)
6416 		return;
6417 
6418 	if (set_short(args[0], &color_pair_number) != 0)
6419 		return;
6420 
6421 	report_count(1);
6422 	report_return(slk_color(color_pair_number));
6423 }
6424 
6425 void
6426 cmd_slk_label(int nargs, char **args)
6427 {
6428 	char *label;
6429 	int labnum;
6430 
6431 	if (check_arg_count(nargs, 1) == 1)
6432 		return;
6433 
6434 	if (set_int(args[0], &labnum) != 0)
6435 		return;
6436 
6437 	label = slk_label(labnum);
6438 	report_count(1);
6439 	if (label == NULL)
6440 		report_status("NULL");
6441 	else
6442 		report_status(label);
6443 }
6444 
6445 void
6446 cmd_slk_noutrefresh(int nargs, char **args)
6447 {
6448 	if (check_arg_count(nargs, 0) == 1)
6449 		return;
6450 
6451 	report_count(1);
6452 	report_return(slk_noutrefresh());
6453 }
6454 
6455 void
6456 cmd_slk_refresh(int nargs, char **args)
6457 {
6458 	if (check_arg_count(nargs, 0) == 1)
6459 		return;
6460 
6461 	report_count(1);
6462 	report_return(slk_refresh());
6463 }
6464 
6465 void
6466 cmd_slk_restore(int nargs, char **args)
6467 {
6468 	if (check_arg_count(nargs, 0) == 1)
6469 		return;
6470 
6471 	report_count(1);
6472 	report_return(slk_restore());
6473 }
6474 
6475 void
6476 cmd_slk_set(int nargs, char **args)
6477 {
6478 	int labnum;
6479 	int justify;
6480 
6481 	if (check_arg_count(nargs, 3) == 1)
6482 		return;
6483 
6484 	if ((set_int(args[0], &labnum) != 0) ||
6485 	    (set_int(args[2], &justify) != 0))
6486 		return;
6487 
6488 	report_count(1);
6489 	report_return(slk_set(labnum, args[1], justify));
6490 }
6491 
6492 void
6493 cmd_slk_touch(int nargs, char **args)
6494 {
6495 	if (check_arg_count(nargs, 0) == 1)
6496 		return;
6497 
6498 	report_count(1);
6499 	report_return(slk_touch());
6500 }
6501 
6502 void
6503 cmd_slk_wset(int nargs, char **args)
6504 {
6505 	int labnum;
6506 	wchar_t *label;
6507 	int justify;
6508 
6509 	if (check_arg_count(nargs, 3) == 1)
6510 		return;
6511 
6512 	if ((set_int(args[0], &labnum) != 0) ||
6513 	    (set_int(args[2], &justify) != 0))
6514 		return;
6515 
6516 	label = (wchar_t *) args[1];
6517 
6518 	report_count(1);
6519 	report_return(slk_wset(labnum, label, justify));
6520 }
6521 
6522 
6523 void
6524 cmd_slk_init(int nargs, char **args)
6525 {
6526 	int fmt;
6527 	if (check_arg_count(nargs, 1) == 1)
6528 		return;
6529 
6530 	if (set_int(args[0], &fmt) != 0)
6531 		return;
6532 
6533 	report_count(1);
6534 	report_return(slk_init(fmt));
6535 }
6536 
6537 void
6538 cmd_use_env(int nargs, char **args)
6539 {
6540 	if (check_arg_count(nargs, 1) == 1)
6541 		return;
6542 
6543 	report_count(1);
6544 	report_error("UNSUPPORTED");
6545 }
6546 
6547 void
6548 cmd_ripoffline(int nargs, char **args)
6549 {
6550 	if (check_arg_count(nargs, 1) == 1)
6551 		return;
6552 
6553 	report_count(1);
6554 	report_error("UNSUPPORTED");
6555 }
6556 
6557 void
6558 cmd_filter(int nargs, char **args)
6559 {
6560 	if (check_arg_count(nargs, 0) == 1)
6561 		return;
6562 
6563 	report_count(1);
6564 	filter();
6565 	report_return(OK);
6566 }
6567