curses_commands.c revision 1.16 1 /* $NetBSD: curses_commands.c,v 1.16 2021/02/12 14:05:57 rillig Exp $ */
2
3 /*-
4 * Copyright 2009 Brett Lymn <blymn (at) 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 without 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, "%u", 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 #define ARGC(n) \
103 if (check_arg_count(nargs, n) == 1) \
104 return
105
106 #define ARG_SHORT(i, arg) \
107 short arg; \
108 if (set_short(args[i], &arg) != 0) \
109 return
110
111 #define ARG_INT(i, arg) \
112 int arg; \
113 if (set_int(args[i], &arg) != 0) \
114 return
115
116 #define ARG_CHTYPE_STRING(i, arg) \
117 chtype *arg = (chtype *)args[i]
118
119 #define ARG_CCHAR_STRING(i, arg) \
120 cchar_t *arg = (cchar_t *)args[i]
121
122 #define ARG_WCHAR_STRING(i, arg) \
123 wchar_t *arg = (wchar_t *)args[i]
124
125 #define ARG_WINDOW(i, arg) \
126 WINDOW *arg; \
127 if (set_win(args[i], &arg) != 0) \
128 return
129
130 void
131 cmd_DRAIN(int nargs, char **args)
132 {
133 ARGC(1);
134 ARG_WINDOW(0, win);
135
136 while (wgetch(win) != ERR);
137 report_count(1);
138 report_return(OK);
139 }
140
141 void
142 cmd_addbytes(int nargs, char **args)
143 {
144 ARGC(2);
145 /* TODO: arg 0 */
146 ARG_INT(1, count);
147
148 report_count(1);
149 report_return(addbytes(args[0], count));
150 }
151
152
153 void
154 cmd_addch(int nargs, char **args)
155 {
156 ARGC(1);
157 ARG_CHTYPE_STRING(0, ch);
158
159 report_count(1);
160 report_return(addch(ch[0]));
161 }
162
163
164 void
165 cmd_addchnstr(int nargs, char **args)
166 {
167 ARGC(2);
168 /* TODO: arg 0 */
169 ARG_INT(1, count);
170
171 report_count(1);
172 report_return(addchnstr((chtype *) args[0], count));
173 }
174
175
176 void
177 cmd_addchstr(int nargs, char **args)
178 {
179 ARGC(1);
180 /* TODO: arg 0 */
181
182 report_count(1);
183 report_return(addchstr((chtype *) args[0]));
184 }
185
186
187 void
188 cmd_addnstr(int nargs, char **args)
189 {
190 ARGC(2);
191 /* TODO: arg 0 */
192 ARG_INT(1, count);
193
194 report_count(1);
195 report_return(addnstr(args[0], count));
196 }
197
198
199 void
200 cmd_addstr(int nargs, char **args)
201 {
202 ARGC(1);
203 /* TODO: arg 0 */
204
205 report_count(1);
206 report_return(addstr(args[0]));
207 }
208
209
210 void
211 cmd_attr_get(int nargs, char **args)
212 {
213 attr_t attrs;
214 short colours;
215 int retval;
216
217 ARGC(0);
218
219 retval = attr_get(&attrs, &colours, NULL);
220
221 report_count(3);
222 report_return(retval);
223 report_int(attrs);
224 report_int(colours);
225 }
226
227
228 void
229 cmd_attr_off(int nargs, char **args)
230 {
231 ARGC(1);
232 ARG_INT(0, attrib);
233
234 report_count(1);
235 report_return(attr_off(attrib, NULL));
236 }
237
238
239 void
240 cmd_attr_on(int nargs, char **args)
241 {
242 ARGC(1);
243 ARG_INT(0, attrib);
244
245 report_count(1);
246 report_return(attr_on(attrib, NULL));
247 }
248
249
250 void
251 cmd_attr_set(int nargs, char **args)
252 {
253 ARGC(2);
254 ARG_INT(0, attrib);
255 ARG_SHORT(1, pair);
256
257 report_count(1);
258 report_return(attr_set(attrib, pair, NULL));
259 }
260
261
262 void
263 cmd_attroff(int nargs, char **args)
264 {
265 ARGC(1);
266 ARG_INT(0, attrib);
267
268 report_count(1);
269 report_return(attroff(attrib));
270 }
271
272
273 void
274 cmd_attron(int nargs, char **args)
275 {
276 ARGC(1);
277 ARG_INT(0, attrib);
278
279 report_count(1);
280 report_return(attron(attrib));
281 }
282
283
284 void
285 cmd_attrset(int nargs, char **args)
286 {
287 ARGC(1);
288 ARG_INT(0, attrib);
289
290 report_count(1);
291 report_return(attrset(attrib));
292 }
293
294
295 void
296 cmd_bkgd(int nargs, char **args)
297 {
298 ARGC(1);
299 ARG_CHTYPE_STRING(0, ch);
300
301 report_count(1);
302 report_return(bkgd(ch[0]));
303 }
304
305
306 void
307 cmd_bkgdset(int nargs, char **args)
308 {
309 ARGC(1);
310 ARG_CHTYPE_STRING(0, ch);
311
312 bkgdset(ch[0]); /* returns void */
313 report_count(1);
314 report_return(OK);
315 }
316
317
318 void
319 cmd_border(int nargs, char **args)
320 {
321 ARGC(8);
322 ARG_INT(0, ls);
323 ARG_INT(1, rs);
324 ARG_INT(2, ts);
325 ARG_INT(3, bs);
326 ARG_INT(4, tl);
327 ARG_INT(5, tr);
328 ARG_INT(6, bl);
329 ARG_INT(7, br);
330
331 report_count(1);
332 report_return(border(ls, rs, ts, bs, tl, tr, bl, br));
333 }
334
335
336 void
337 cmd_clear(int nargs, char **args)
338 {
339 ARGC(0);
340
341 report_count(1);
342 report_return(clear());
343 }
344
345
346 void
347 cmd_clrtobot(int nargs, char **args)
348 {
349 ARGC(0);
350
351 report_count(1);
352 report_return(clrtobot());
353 }
354
355
356 void
357 cmd_clrtoeol(int nargs, char **args)
358 {
359 ARGC(0);
360
361 report_count(1);
362 report_return(clrtoeol());
363 }
364
365
366 void
367 cmd_color_set(int nargs, char **args)
368 {
369 ARGC(2);
370 ARG_SHORT(0, colour_pair);
371 /* TODO: arg 1 */
372
373 report_count(1);
374 report_return(color_set(colour_pair, NULL));
375 }
376
377
378 void
379 cmd_delch(int nargs, char **args)
380 {
381 ARGC(0);
382
383 report_count(1);
384 report_return(delch());
385 }
386
387
388 void
389 cmd_deleteln(int nargs, char **args)
390 {
391 ARGC(0);
392
393 report_count(1);
394 report_return(deleteln());
395 }
396
397
398 void
399 cmd_echochar(int nargs, char **args)
400 {
401 ARGC(1);
402 ARG_CHTYPE_STRING(0, ch);
403
404 /* XXX causes refresh */
405 report_count(1);
406 report_return(echochar(ch[0]));
407 }
408
409
410 void
411 cmd_erase(int nargs, char **args)
412 {
413 ARGC(0);
414
415 report_count(1);
416 report_return(erase());
417 }
418
419
420 void
421 cmd_getch(int nargs, char **args)
422 {
423 ARGC(0);
424
425 /* XXX causes refresh */
426 report_count(1);
427 report_int(getch());
428 }
429
430
431 void
432 cmd_getnstr(int nargs, char **args)
433 {
434 char *string;
435
436 ARGC(1);
437 ARG_INT(0, limit);
438
439 if ((string = malloc(limit + 1)) == NULL) {
440 report_count(1);
441 report_error("MALLOC_FAILED");
442 return;
443 }
444
445 report_count(2);
446 report_return(getnstr(string, limit));
447 report_status(string);
448 free(string);
449 }
450
451
452 void
453 cmd_getstr(int nargs, char **args)
454 {
455 char string[256];
456
457 ARGC(0);
458
459 report_count(2);
460 report_return(getstr(string));
461 report_status(string);
462 }
463
464
465 void
466 cmd_inch(int nargs, char **args)
467 {
468 ARGC(0);
469
470 report_count(1);
471 report_byte(inch());
472 }
473
474
475 void
476 cmd_inchnstr(int nargs, char **args)
477 {
478 chtype *string;
479
480 ARGC(1);
481 ARG_INT(0, limit);
482
483 if ((string = malloc((limit + 1) * sizeof(chtype))) == NULL) {
484 report_count(1);
485 report_error("MALLOC_FAILED");
486 return;
487 }
488
489 report_count(2);
490 report_return(inchnstr(string, limit));
491 report_nstr(string);
492 free(string);
493 }
494
495
496 void
497 cmd_inchstr(int nargs, char **args)
498 {
499 chtype string[256];
500
501 ARGC(0);
502
503 report_count(2);
504 report_return(inchstr(string));
505 report_nstr(string);
506 }
507
508
509 void
510 cmd_innstr(int nargs, char **args)
511 {
512 char *string;
513
514 ARGC(1);
515 ARG_INT(0, limit);
516
517 if ((string = malloc(limit + 1)) == NULL) {
518 report_count(1);
519 report_error("MALLOC_FAILED");
520 return;
521 }
522
523 report_count(2);
524 report_int(innstr(string, limit));
525 report_status(string);
526 free(string);
527 }
528
529
530 void
531 cmd_insch(int nargs, char **args)
532 {
533 ARGC(1);
534 ARG_CHTYPE_STRING(0, ch);
535
536 report_count(1);
537 report_return(insch(ch[0]));
538 }
539
540
541 void
542 cmd_insdelln(int nargs, char **args)
543 {
544 ARGC(1);
545 ARG_INT(0, nlines);
546
547 report_count(1);
548 report_return(insdelln(nlines));
549 }
550
551
552 void
553 cmd_insertln(int nargs, char **args)
554 {
555 ARGC(0);
556
557 report_count(1);
558 report_return(insertln());
559 }
560
561
562 void
563 cmd_instr(int nargs, char **args)
564 {
565 char string[256];
566
567 ARGC(0);
568
569 report_count(2);
570 report_return(instr(string));
571 report_status(string);
572 }
573
574
575 void
576 cmd_move(int nargs, char **args)
577 {
578 ARGC(2);
579 ARG_INT(0, y);
580 ARG_INT(1, x);
581
582 report_count(1);
583 report_return(move(y, x));
584 }
585
586
587 void
588 cmd_refresh(int nargs, char **args)
589 {
590 ARGC(0);
591
592 report_count(1);
593 report_return(refresh());
594 }
595
596
597 void
598 cmd_scrl(int nargs, char **args)
599 {
600 ARGC(1);
601 ARG_INT(0, nlines);
602
603 report_count(1);
604 report_return(scrl(nlines));
605 }
606
607
608 void
609 cmd_setscrreg(int nargs, char **args)
610 {
611 ARGC(2);
612 ARG_INT(0, top);
613 ARG_INT(1, bottom);
614
615 report_count(1);
616 report_return(setscrreg(top, bottom));
617 }
618
619
620 void
621 cmd_standend(int nargs, char **args)
622 {
623 ARGC(0);
624
625 report_count(1);
626 report_int(standend());
627 }
628
629
630 void
631 cmd_standout(int nargs, char **args)
632 {
633 ARGC(0);
634
635 report_count(1);
636 report_int(standout());
637 }
638
639
640 void
641 cmd_timeout(int nargs, char **args)
642 {
643 ARGC(1);
644 ARG_INT(0, tval);
645
646 timeout(tval); /* void return */
647 report_count(1);
648 report_return(OK);
649 }
650
651
652 void
653 cmd_underscore(int nargs, char **args)
654 {
655 ARGC(0);
656
657 report_count(1);
658 report_int(underscore());
659 }
660
661
662 void
663 cmd_underend(int nargs, char **args)
664 {
665 ARGC(0);
666
667 report_count(1);
668 report_int(underend());
669 }
670
671
672 void
673 cmd_waddbytes(int nargs, char **args)
674 {
675 ARGC(3);
676 ARG_WINDOW(0, win);
677 /* TODO: arg 1 */
678 ARG_INT(2, count);
679
680 report_count(1);
681 report_return(waddbytes(win, args[1], count));
682 }
683
684
685 void
686 cmd_waddstr(int nargs, char **args)
687 {
688 ARGC(2);
689 ARG_WINDOW(0, win);
690 /* TODO: arg 1 */
691
692 report_count(1);
693 report_return(waddstr(win, args[1]));
694 }
695
696
697 void
698 cmd_mvaddbytes(int nargs, char **args)
699 {
700 ARGC(4);
701 ARG_INT(0, y);
702 ARG_INT(1, x);
703 /* TODO: arg 2 */
704 ARG_INT(3, count);
705
706 report_count(1);
707 report_return(mvaddbytes(y, x, args[2], count));
708 }
709
710
711 void
712 cmd_mvaddch(int nargs, char **args)
713 {
714 ARGC(3);
715 ARG_INT(0, y);
716 ARG_INT(1, x);
717 ARG_CHTYPE_STRING(2, ch);
718
719 report_count(1);
720 report_return(mvaddch(y, x, ch[0]));
721 }
722
723
724 void
725 cmd_mvaddchnstr(int nargs, char **args)
726 {
727 ARGC(4);
728 ARG_INT(0, y);
729 ARG_INT(1, x);
730 /* TODO: arg 2 */
731 ARG_INT(3, count);
732
733 report_count(1);
734 report_return(mvaddchnstr(y, x, (chtype *) args[2], count));
735 }
736
737
738 void
739 cmd_mvaddchstr(int nargs, char **args)
740 {
741 ARGC(3);
742 ARG_INT(0, y);
743 ARG_INT(1, x);
744 /* TODO: arg 2 */
745
746 report_count(1);
747 report_return(mvaddchstr(y, x, (chtype *) args[2]));
748 }
749
750
751 void
752 cmd_mvaddnstr(int nargs, char **args)
753 {
754 ARGC(4);
755 ARG_INT(0, y);
756 ARG_INT(1, x);
757 /* TODO: arg 2 */
758 ARG_INT(3, count);
759
760 report_count(1);
761 report_return(mvaddnstr(y, x, args[2], count));
762 }
763
764
765 void
766 cmd_mvaddstr(int nargs, char **args)
767 {
768 ARGC(3);
769 ARG_INT(0, y);
770 ARG_INT(1, x);
771 /* TODO: arg 2 */
772
773 report_count(1);
774 report_return(mvaddstr(y, x, args[2]));
775 }
776
777
778 void
779 cmd_mvdelch(int nargs, char **args)
780 {
781 ARGC(2);
782 ARG_INT(0, y);
783 ARG_INT(1, x);
784
785 report_count(1);
786 report_return(mvdelch(y, x));
787 }
788
789
790 void
791 cmd_mvgetch(int nargs, char **args)
792 {
793 ARGC(2);
794 ARG_INT(0, y);
795 ARG_INT(1, x);
796
797 report_count(1);
798 report_int(mvgetch(y, x));
799 }
800
801
802 void
803 cmd_mvgetnstr(int nargs, char **args)
804 {
805 char *string;
806
807 ARGC(3);
808 ARG_INT(0, y);
809 ARG_INT(1, x);
810 ARG_INT(2, count);
811
812 if ((string = malloc(count + 1)) == NULL) {
813 report_count(1);
814 report_error("MALLOC_FAILED");
815 return;
816 }
817
818 report_count(2);
819 report_return(mvgetnstr(y, x, string, count));
820 report_status(string);
821 free(string);
822 }
823
824
825 void
826 cmd_mvgetstr(int nargs, char **args)
827 {
828 char string[256];
829
830 ARGC(2);
831 ARG_INT(0, y);
832 ARG_INT(1, x);
833
834 report_count(2);
835 report_return(mvgetstr(y, x, string));
836 report_status(string);
837 }
838
839
840 void
841 cmd_mvinch(int nargs, char **args)
842 {
843 ARGC(2);
844 ARG_INT(0, y);
845 ARG_INT(1, x);
846
847 report_count(1);
848 report_byte(mvinch(y, x));
849 }
850
851
852 void
853 cmd_mvinchnstr(int nargs, char **args)
854 {
855 chtype *string;
856
857 ARGC(3);
858 ARG_INT(0, y);
859 ARG_INT(1, x);
860 ARG_INT(2, count);
861
862 if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) {
863 report_count(1);
864 report_error("MALLOC_FAILED");
865 return;
866 }
867
868 report_count(2);
869 report_return(mvinchnstr(y, x, string, count));
870 report_nstr(string);
871 free(string);
872 }
873
874
875 void
876 cmd_mvinchstr(int nargs, char **args)
877 {
878 chtype string[256];
879
880 ARGC(2);
881 ARG_INT(0, y);
882 ARG_INT(1, x);
883
884 report_count(2);
885 report_return(mvinchstr(y, x, string));
886 report_nstr(string);
887 }
888
889
890 void
891 cmd_mvinnstr(int nargs, char **args)
892 {
893 char *string;
894
895 ARGC(3);
896 ARG_INT(0, y);
897 ARG_INT(1, x);
898 ARG_INT(2, count);
899
900 if ((string = malloc(count + 1)) == NULL) {
901 report_count(1);
902 report_error("MALLOC_FAILED");
903 return;
904 }
905
906 report_count(2);
907 report_int(mvinnstr(y, x, string, count));
908 report_status(string);
909 free(string);
910 }
911
912
913 void
914 cmd_mvinsch(int nargs, char **args)
915 {
916 ARGC(3);
917 ARG_INT(0, y);
918 ARG_INT(1, x);
919 ARG_CHTYPE_STRING(2, ch);
920
921 report_count(1);
922 report_return(mvinsch(y, x, ch[0]));
923 }
924
925
926 void
927 cmd_mvinstr(int nargs, char **args)
928 {
929 char string[256];
930
931 ARGC(2);
932 ARG_INT(0, y);
933 ARG_INT(1, x);
934
935 report_count(2);
936 report_return(mvinstr(y, x, string));
937 report_status(string);
938 }
939
940
941
942 void
943 cmd_mvwaddbytes(int nargs, char **args)
944 {
945 ARGC(5);
946 ARG_WINDOW(0, win);
947 ARG_INT(1, y);
948 ARG_INT(2, x);
949 /* TODO: arg 3 */
950 ARG_INT(4, count);
951
952 report_count(1);
953 report_return(mvwaddbytes(win, y, x, args[3], count));
954 }
955
956
957 void
958 cmd_mvwaddch(int nargs, char **args)
959 {
960 ARGC(4);
961 ARG_WINDOW(0, win);
962 ARG_INT(1, y);
963 ARG_INT(2, x);
964 ARG_CHTYPE_STRING(3, ch);
965
966 report_count(1);
967 report_return(mvwaddch(win, y, x, ch[0]));
968 }
969
970
971 void
972 cmd_mvwaddchnstr(int nargs, char **args)
973 {
974 ARGC(5);
975 ARG_WINDOW(0, win);
976 ARG_INT(1, y);
977 ARG_INT(2, x);
978 ARG_INT(4, count);
979
980 report_count(1);
981 report_return(mvwaddchnstr(win, y, x, (chtype *) args[3], count));
982 }
983
984
985 void
986 cmd_mvwaddchstr(int nargs, char **args)
987 {
988 ARGC(4);
989 ARG_WINDOW(0, win);
990 ARG_INT(1, y);
991 ARG_INT(2, x);
992
993 report_count(1);
994 report_return(mvwaddchstr(win, y, x, (chtype *) args[3]));
995 }
996
997
998 void
999 cmd_mvwaddnstr(int nargs, char **args)
1000 {
1001 ARGC(5);
1002 ARG_WINDOW(0, win);
1003 ARG_INT(1, y);
1004 ARG_INT(2, x);
1005 /* TODO: arg 3 */
1006 ARG_INT(4, count);
1007
1008 report_count(1);
1009 report_return(mvwaddnstr(win, y, x, args[3], count));
1010 }
1011
1012
1013 void
1014 cmd_mvwaddstr(int nargs, char **args)
1015 {
1016 ARGC(4);
1017 ARG_WINDOW(0, win);
1018 ARG_INT(1, y);
1019 ARG_INT(2, x);
1020
1021 report_count(1);
1022 report_return(mvwaddstr(win, y, x, args[3]));
1023 }
1024
1025
1026 void
1027 cmd_mvwdelch(int nargs, char **args)
1028 {
1029 ARGC(3);
1030 ARG_WINDOW(0, win);
1031 ARG_INT(1, y);
1032 ARG_INT(2, x);
1033
1034 report_count(1);
1035 report_return(mvwdelch(win, y, x));
1036 }
1037
1038
1039 void
1040 cmd_mvwgetch(int nargs, char **args)
1041 {
1042 ARGC(3);
1043 ARG_WINDOW(0, win);
1044 ARG_INT(1, y);
1045 ARG_INT(2, x);
1046
1047 /* XXX - implicit refresh */
1048 report_count(1);
1049 report_int(mvwgetch(win, y, x));
1050 }
1051
1052
1053 void
1054 cmd_mvwgetnstr(int nargs, char **args)
1055 {
1056 char *string;
1057
1058 ARGC(4);
1059 ARG_WINDOW(0, win);
1060 ARG_INT(1, y);
1061 ARG_INT(2, x);
1062 ARG_INT(3, count);
1063
1064 if ((string = malloc(count + 1)) == NULL) {
1065 report_count(1);
1066 report_error("MALLOC_FAILED");
1067 return;
1068 }
1069
1070 report_count(2);
1071 report_return(mvwgetnstr(win, y, x, string, count));
1072 report_status(string);
1073 free(string);
1074 }
1075
1076
1077 void
1078 cmd_mvwgetstr(int nargs, char **args)
1079 {
1080 char string[256];
1081
1082 ARGC(3);
1083 ARG_WINDOW(0, win);
1084 ARG_INT(1, y);
1085 ARG_INT(2, x);
1086
1087 report_count(2);
1088 report_return(mvwgetstr(win, y, x, string));
1089 report_status(string);
1090 }
1091
1092
1093 void
1094 cmd_mvwinch(int nargs, char **args)
1095 {
1096 ARGC(3);
1097 ARG_WINDOW(0, win);
1098 ARG_INT(1, y);
1099 ARG_INT(2, x);
1100
1101 report_count(1);
1102 report_byte(mvwinch(win, y, x));
1103 }
1104
1105
1106 void
1107 cmd_mvwinsch(int nargs, char **args)
1108 {
1109 ARGC(4);
1110 ARG_WINDOW(0, win);
1111 ARG_INT(1, y);
1112 ARG_INT(2, x);
1113 ARG_CHTYPE_STRING(3, ch);
1114
1115 report_count(1);
1116 report_return(mvwinsch(win, y, x, ch[0]));
1117 }
1118
1119
1120 void
1121 cmd_assume_default_colors(int nargs, char **args)
1122 {
1123 ARGC(2);
1124 ARG_SHORT(0, fore);
1125 ARG_SHORT(1, back);
1126
1127 report_count(1);
1128 report_return(assume_default_colors(fore, back));
1129 }
1130
1131
1132 void
1133 cmd_baudrate(int nargs, char **args)
1134 {
1135 ARGC(0);
1136
1137 report_count(1);
1138 report_int(baudrate());
1139 }
1140
1141
1142 void
1143 cmd_beep(int nargs, char **args)
1144 {
1145 ARGC(0);
1146
1147 report_count(1);
1148 report_return(beep());
1149 }
1150
1151
1152 void
1153 cmd_box(int nargs, char **args)
1154 {
1155 chtype *vertical, *horizontal;
1156
1157 ARGC(3);
1158 ARG_WINDOW(0, win);
1159
1160 vertical = (chtype *) args[1];
1161 horizontal = (chtype *) args[2];
1162
1163 report_count(1);
1164 report_return(box(win, vertical[0], horizontal[0]));
1165 }
1166
1167
1168 void
1169 cmd_can_change_color(int nargs, char **args)
1170 {
1171 ARGC(0);
1172
1173 report_count(1);
1174 report_int(can_change_color());
1175 }
1176
1177
1178 void
1179 cmd_cbreak(int nargs, char **args)
1180 {
1181 ARGC(0);
1182
1183 report_count(1);
1184 report_return(cbreak());
1185 }
1186
1187
1188 void
1189 cmd_clearok(int nargs, char **args)
1190 {
1191 ARGC(2);
1192 ARG_WINDOW(0, win);
1193 ARG_INT(1, flag);
1194
1195 report_count(1);
1196 report_return(clearok(win, flag));
1197 }
1198
1199
1200 void
1201 cmd_color_content(int nargs, char **args)
1202 {
1203 short colour, red, green, blue;
1204
1205 ARGC(1);
1206
1207 if (set_short(args[0], &colour) != 0)
1208 return;
1209
1210 report_count(4);
1211 report_return(color_content(colour, &red, &green, &blue));
1212 report_int(red);
1213 report_int(green);
1214 report_int(blue);
1215 }
1216
1217
1218 void
1219 cmd_copywin(int nargs, char **args)
1220 {
1221 ARGC(9);
1222 ARG_WINDOW(0, source);
1223 ARG_WINDOW(1, destination);
1224 ARG_INT(2, sminrow);
1225 ARG_INT(3, smincol);
1226 ARG_INT(4, dminrow);
1227 ARG_INT(5, dmincol);
1228 ARG_INT(6, dmaxrow);
1229 ARG_INT(7, dmaxcol);
1230 ARG_INT(8, ovlay);
1231
1232 report_count(1);
1233 report_return(copywin(source, destination, sminrow, smincol, dminrow,
1234 dmincol, dmaxrow, dmaxcol, ovlay));
1235 }
1236
1237
1238 void
1239 cmd_curs_set(int nargs, char **args)
1240 {
1241 ARGC(1);
1242 ARG_INT(0, vis);
1243
1244 report_count(1);
1245 report_int(curs_set(vis));
1246 }
1247
1248
1249 void
1250 cmd_def_prog_mode(int nargs, char **args)
1251 {
1252 ARGC(0);
1253
1254 report_count(1);
1255 report_return(def_prog_mode());
1256 }
1257
1258
1259 void
1260 cmd_def_shell_mode(int nargs, char **args)
1261 {
1262 ARGC(0);
1263
1264 report_count(1);
1265 report_return(def_shell_mode());
1266 }
1267
1268
1269 void
1270 cmd_define_key(int nargs, char **args)
1271 {
1272 ARGC(2);
1273 ARG_INT(1, symbol);
1274
1275 report_count(1);
1276 report_return(define_key(args[0], symbol));
1277 }
1278
1279
1280 void
1281 cmd_delay_output(int nargs, char **args)
1282 {
1283 ARGC(1);
1284 ARG_INT(0, dtime);
1285
1286 report_count(1);
1287 report_return(delay_output(dtime));
1288 }
1289
1290
1291 void
1292 cmd_delscreen(int nargs, char **args)
1293 {
1294 SCREEN *scrn;
1295
1296 ARGC(1);
1297
1298 if (set_scrn(args[0], &scrn) != 0)
1299 return;
1300
1301 delscreen(scrn); /* void return */
1302 report_count(1);
1303 report_return(OK);
1304 }
1305
1306
1307 void
1308 cmd_delwin(int nargs, char **args)
1309 {
1310 ARGC(1);
1311 ARG_WINDOW(0, win);
1312
1313 report_count(1);
1314 report_return(delwin(win));
1315 }
1316
1317
1318 void
1319 cmd_derwin(int nargs, char **args)
1320 {
1321 ARGC(5);
1322 ARG_WINDOW(0, win);
1323 ARG_INT(1, lines);
1324 ARG_INT(2, cols);
1325 ARG_INT(3, y);
1326 ARG_INT(4, x);
1327
1328 report_count(1);
1329 report_ptr(derwin(win, lines, cols, y, x));
1330 }
1331
1332
1333 void
1334 cmd_dupwin(int nargs, char **args)
1335 {
1336 ARGC(1);
1337 ARG_WINDOW(0, win);
1338
1339 report_count(1);
1340 report_ptr(dupwin(win));
1341 }
1342
1343
1344 void
1345 cmd_doupdate(int nargs, char **args)
1346 {
1347 ARGC(0);
1348
1349 /* XXX - implicit refresh */
1350 report_count(1);
1351 report_return(doupdate());
1352 }
1353
1354
1355 void
1356 cmd_echo(int nargs, char **args)
1357 {
1358 ARGC(0);
1359
1360 report_count(1);
1361 report_return(echo());
1362 }
1363
1364
1365 void
1366 cmd_endwin(int nargs, char **args)
1367 {
1368 ARGC(0);
1369
1370 report_count(1);
1371 report_return(endwin());
1372 }
1373
1374
1375 void
1376 cmd_erasechar(int nargs, char **args)
1377 {
1378 ARGC(0);
1379
1380 report_count(1);
1381 report_int(erasechar());
1382 }
1383
1384
1385 void
1386 cmd_flash(int nargs, char **args)
1387 {
1388 ARGC(0);
1389
1390 report_count(1);
1391 report_return(flash());
1392 }
1393
1394
1395 void
1396 cmd_flushinp(int nargs, char **args)
1397 {
1398 ARGC(0);
1399
1400 report_count(1);
1401 report_return(flushinp());
1402 }
1403
1404
1405 void
1406 cmd_flushok(int nargs, char **args)
1407 {
1408 ARGC(2);
1409 ARG_WINDOW(0, win);
1410 ARG_INT(1, flag);
1411
1412 report_count(1);
1413 report_return(flushok(win, flag));
1414 }
1415
1416
1417 void
1418 cmd_fullname(int nargs, char **args)
1419 {
1420 char string[256];
1421
1422 ARGC(1);
1423
1424 report_count(2);
1425 report_status(fullname(args[0], string));
1426 report_status(string);
1427 }
1428
1429
1430 void
1431 cmd_getattrs(int nargs, char **args)
1432 {
1433 ARGC(1);
1434 ARG_WINDOW(0, win);
1435
1436 report_count(1);
1437 report_int(getattrs(win));
1438 }
1439
1440
1441 void
1442 cmd_getbkgd(int nargs, char **args)
1443 {
1444 ARGC(1);
1445 ARG_WINDOW(0, win);
1446
1447 report_count(1);
1448 report_byte(getbkgd(win));
1449 }
1450
1451
1452 void
1453 cmd_getcury(int nargs, char **args)
1454 {
1455 ARGC(1);
1456 ARG_WINDOW(0, win);
1457
1458 report_count(1);
1459 report_int(getcury(win));
1460 }
1461
1462
1463 void
1464 cmd_getcurx(int nargs, char **args)
1465 {
1466 ARGC(1);
1467 ARG_WINDOW(0, win);
1468
1469 report_count(1);
1470 report_int(getcurx(win));
1471 }
1472
1473
1474 void
1475 cmd_getyx(int nargs, char **args)
1476 {
1477 ARGC(1);
1478 ARG_WINDOW(0, win);
1479
1480 int y, x;
1481 getyx(win, y, x);
1482 report_count(2);
1483 report_int(y);
1484 report_int(x);
1485 }
1486
1487
1488 void
1489 cmd_getbegy(int nargs, char **args)
1490 {
1491 ARGC(1);
1492 ARG_WINDOW(0, win);
1493
1494 report_count(1);
1495 report_int(getbegy(win));
1496 }
1497
1498
1499 void
1500 cmd_getbegx(int nargs, char **args)
1501 {
1502 ARGC(1);
1503 ARG_WINDOW(0, win);
1504
1505 report_count(1);
1506 report_int(getbegx(win));
1507 }
1508
1509
1510 void
1511 cmd_getmaxy(int nargs, char **args)
1512 {
1513 ARGC(1);
1514 ARG_WINDOW(0, win);
1515
1516 report_count(1);
1517 report_int(getmaxy(win));
1518 }
1519
1520
1521 void
1522 cmd_getmaxx(int nargs, char **args)
1523 {
1524 ARGC(1);
1525 ARG_WINDOW(0, win);
1526
1527 report_count(1);
1528 report_int(getmaxx(win));
1529 }
1530
1531
1532 void
1533 cmd_getpary(int nargs, char **args)
1534 {
1535 ARGC(1);
1536 ARG_WINDOW(0, win);
1537
1538 report_count(1);
1539 report_int(getpary(win));
1540 }
1541
1542
1543 void
1544 cmd_getparx(int nargs, char **args)
1545 {
1546 ARGC(1);
1547 ARG_WINDOW(0, win);
1548
1549 report_count(1);
1550 report_int(getparx(win));
1551 }
1552
1553
1554 void
1555 cmd_getparyx(int nargs, char **args)
1556 {
1557 ARGC(1);
1558 ARG_WINDOW(0, win);
1559
1560 int y, x;
1561 report_count(2);
1562 getparyx(win, y, x);
1563 report_int(y);
1564 report_int(x);
1565 }
1566
1567 void
1568 cmd_getmaxyx(int nargs, char **args)
1569 {
1570 ARGC(1);
1571 ARG_WINDOW(0, win);
1572
1573 int y, x;
1574 getmaxyx(win, y, x);
1575
1576 report_count(2);
1577 report_int(y);
1578 report_int(x);
1579 }
1580
1581 void
1582 cmd_getbegyx(int nargs, char **args)
1583 {
1584 ARGC(1);
1585 ARG_WINDOW(0, win);
1586
1587 int y, x;
1588 getbegyx(win, y, x);
1589
1590 report_count(2);
1591 report_int(y);
1592 report_int(x);
1593 }
1594
1595 void
1596 cmd_setsyx(int nargs, char **args)
1597 {
1598 ARGC(2);
1599 ARG_INT(0, y);
1600 ARG_INT(1, x);
1601
1602 report_count(1);
1603 setsyx(y, x);
1604 report_return(OK);
1605 }
1606
1607 void
1608 cmd_getsyx(int nargs, char **args)
1609 {
1610 int y, x;
1611
1612 ARGC(0);
1613
1614 report_count(3);
1615 getsyx(y, x);
1616 report_return(OK);
1617 report_int(y);
1618 report_int(x);
1619 }
1620
1621 void
1622 cmd_gettmode(int nargs, char **args)
1623 {
1624 ARGC(0);
1625
1626 report_count(1);
1627 report_return(gettmode());
1628 }
1629
1630
1631 void
1632 cmd_getwin(int nargs, char **args)
1633 {
1634 FILE *fp;
1635
1636 ARGC(1);
1637
1638 if ((fp = fopen(args[0], "r")) == NULL) {
1639 report_count(1);
1640 report_error("BAD FILE_ARGUMENT");
1641 return;
1642 }
1643 report_count(1);
1644 report_ptr(getwin(fp));
1645 fclose(fp);
1646 }
1647
1648
1649 void
1650 cmd_halfdelay(int nargs, char **args)
1651 {
1652 ARGC(1);
1653 ARG_INT(0, ms);
1654
1655 report_count(1);
1656 report_return(halfdelay(ms));
1657 }
1658
1659
1660 void
1661 cmd_has_colors(int nargs, char **args)
1662 {
1663 ARGC(0);
1664
1665 report_count(1);
1666 report_int(has_colors());
1667 }
1668
1669
1670 void
1671 cmd_has_ic(int nargs, char **args)
1672 {
1673 ARGC(0);
1674
1675 report_count(1);
1676 report_int(has_ic());
1677 }
1678
1679
1680 void
1681 cmd_has_il(int nargs, char **args)
1682 {
1683 ARGC(0);
1684
1685 report_count(1);
1686 report_int(has_il());
1687 }
1688
1689
1690 void
1691 cmd_hline(int nargs, char **args)
1692 {
1693 ARGC(2);
1694 ARG_CHTYPE_STRING(0, ch);
1695 ARG_INT(1, count);
1696
1697 report_count(1);
1698 report_return(hline(ch[0], count));
1699 }
1700
1701
1702 void
1703 cmd_idcok(int nargs, char **args)
1704 {
1705 ARGC(2);
1706 ARG_WINDOW(0, win);
1707 ARG_INT(1, flag);
1708
1709 report_count(1);
1710 report_return(idcok(win, flag));
1711 }
1712
1713
1714 void
1715 cmd_idlok(int nargs, char **args)
1716 {
1717 ARGC(2);
1718 ARG_WINDOW(0, win);
1719 ARG_INT(1, flag);
1720
1721 report_count(1);
1722 report_return(idlok(win, flag));
1723 }
1724
1725
1726 void
1727 cmd_init_color(int nargs, char **args)
1728 {
1729 ARGC(4);
1730 ARG_SHORT(0, colour);
1731 ARG_SHORT(1, red);
1732 ARG_SHORT(2, green);
1733 ARG_SHORT(3, blue);
1734
1735 report_count(1);
1736 report_return(init_color(colour, red, green, blue));
1737 }
1738
1739
1740 void
1741 cmd_init_pair(int nargs, char **args)
1742 {
1743 ARGC(3);
1744 ARG_SHORT(0, pair);
1745 ARG_SHORT(1, fore);
1746 ARG_SHORT(2, back);
1747
1748 report_count(1);
1749 report_return(init_pair(pair, fore, back));
1750 }
1751
1752
1753 void
1754 cmd_initscr(int nargs, char **args)
1755 {
1756 ARGC(0);
1757
1758 report_count(1);
1759 report_ptr(initscr());
1760 }
1761
1762
1763 void
1764 cmd_intrflush(int nargs, char **args)
1765 {
1766 ARGC(2);
1767 ARG_WINDOW(0, win);
1768 ARG_INT(1, flag);
1769
1770 report_count(1);
1771 report_return(intrflush(win, flag));
1772 }
1773
1774
1775 void
1776 cmd_isendwin(int nargs, char **args)
1777 {
1778 ARGC(0);
1779
1780 report_count(1);
1781 report_int(isendwin());
1782 }
1783
1784
1785 void
1786 cmd_is_linetouched(int nargs, char **args)
1787 {
1788 ARGC(2);
1789 ARG_WINDOW(0, win);
1790 ARG_INT(1, line);
1791
1792 report_count(1);
1793 report_int(is_linetouched(win, line));
1794 }
1795
1796
1797 void
1798 cmd_is_wintouched(int nargs, char **args)
1799 {
1800 ARGC(1);
1801 ARG_WINDOW(0, win);
1802
1803 report_count(1);
1804 report_int(is_wintouched(win));
1805 }
1806
1807
1808 void
1809 cmd_keyok(int nargs, char **args)
1810 {
1811 ARGC(2);
1812 ARG_INT(0, keysym);
1813 ARG_INT(1, flag);
1814
1815 report_count(1);
1816 report_return(keyok(keysym, flag));
1817 }
1818
1819
1820 void
1821 cmd_keypad(int nargs, char **args)
1822 {
1823 ARGC(2);
1824 ARG_WINDOW(0, win);
1825 ARG_INT(1, flag);
1826
1827 report_count(1);
1828 report_return(keypad(win, flag));
1829 }
1830
1831 void
1832 cmd_is_keypad(int nargs, char **args)
1833 {
1834 ARGC(1);
1835 ARG_WINDOW(0, win);
1836
1837 report_count(1);
1838 report_int(is_keypad(win));
1839 }
1840
1841 void
1842 cmd_keyname(int nargs, char **args)
1843 {
1844 unsigned int key;
1845
1846 ARGC(1);
1847
1848 if (set_uint(args[0], &key) != 0)
1849 return;
1850
1851 report_count(1);
1852 report_status(keyname(key));
1853 }
1854
1855
1856 void
1857 cmd_killchar(int nargs, char **args)
1858 {
1859 ARGC(0);
1860
1861 report_count(1);
1862 report_int(killchar());
1863 }
1864
1865
1866 void
1867 cmd_leaveok(int nargs, char **args)
1868 {
1869 ARGC(2);
1870 ARG_WINDOW(0, win);
1871 ARG_INT(1, flag);
1872
1873 report_count(1);
1874 report_return(leaveok(win, flag));
1875 }
1876
1877 void
1878 cmd_is_leaveok(int nargs, char **args)
1879 {
1880 ARGC(1);
1881 ARG_WINDOW(0, win);
1882
1883 report_count(1);
1884 report_int(is_leaveok(win));
1885 }
1886
1887 void
1888 cmd_meta(int nargs, char **args)
1889 {
1890 ARGC(2);
1891 ARG_WINDOW(0, win);
1892 ARG_INT(1, flag);
1893
1894 report_count(1);
1895 report_return(meta(win, flag));
1896 }
1897
1898
1899 void
1900 cmd_mvcur(int nargs, char **args)
1901 {
1902 ARGC(4);
1903 ARG_INT(0, oldy);
1904 ARG_INT(1, oldx);
1905 ARG_INT(2, y);
1906 ARG_INT(3, x);
1907
1908 report_count(1);
1909 report_return(mvcur(oldy, oldx, y, x));
1910 }
1911
1912
1913 void
1914 cmd_mvderwin(int nargs, char **args)
1915 {
1916 ARGC(3);
1917 ARG_WINDOW(0, win);
1918 ARG_INT(1, y);
1919 ARG_INT(2, x);
1920
1921 report_count(1);
1922 report_return(mvderwin(win, y, x));
1923 }
1924
1925
1926 void
1927 cmd_mvhline(int nargs, char **args)
1928 {
1929 ARGC(4);
1930 ARG_INT(0, y);
1931 ARG_INT(1, x);
1932 ARG_INT(3, n);
1933 ARG_CHTYPE_STRING(2, ch);
1934
1935 report_count(1);
1936 report_return(mvhline(y, x, ch[0], n));
1937 }
1938
1939
1940 void
1941 cmd_mvprintw(int nargs, char **args)
1942 {
1943 ARGC(4);
1944 ARG_INT(0, y);
1945 ARG_INT(1, x);
1946
1947 report_count(1);
1948 report_return(mvprintw(y, x, args[2], args[3]));
1949 }
1950
1951
1952 void
1953 cmd_mvscanw(int nargs, char **args)
1954 {
1955 char string[256];
1956
1957 ARGC(3);
1958 ARG_INT(0, y);
1959 ARG_INT(1, x);
1960
1961 report_count(2);
1962 report_return(mvscanw(y, x, args[2], &string));
1963 report_status(string);
1964 }
1965
1966
1967 void
1968 cmd_mvvline(int nargs, char **args)
1969 {
1970 ARGC(4);
1971 ARG_INT(0, y);
1972 ARG_INT(1, x);
1973 ARG_INT(3, n);
1974 ARG_CHTYPE_STRING(2, ch);
1975
1976 report_count(1);
1977 report_return(mvvline(y, x, ch[0], n));
1978 }
1979
1980
1981 void
1982 cmd_mvwhline(int nargs, char **args)
1983 {
1984 ARGC(5);
1985 ARG_WINDOW(0, win);
1986 ARG_INT(1, y);
1987 ARG_INT(2, x);
1988 ARG_INT(4, n);
1989 ARG_CHTYPE_STRING(3, ch);
1990
1991 report_count(1);
1992 report_return(mvwhline(win, y, x, ch[0], n));
1993 }
1994
1995
1996 void
1997 cmd_mvwvline(int nargs, char **args)
1998 {
1999 ARGC(5);
2000 ARG_WINDOW(0, win);
2001 ARG_INT(1, y);
2002 ARG_INT(2, x);
2003 ARG_INT(4, n);
2004 ARG_CHTYPE_STRING(3, ch);
2005
2006 report_count(1);
2007 report_return(mvwvline(win, y, x, ch[0], n));
2008 }
2009
2010
2011 void
2012 cmd_mvwin(int nargs, char **args)
2013 {
2014 ARGC(3);
2015 ARG_WINDOW(0, win);
2016 ARG_INT(1, y);
2017 ARG_INT(2, x);
2018
2019 report_count(1);
2020 report_return(mvwin(win, y, x));
2021 }
2022
2023
2024 void
2025 cmd_mvwinchnstr(int nargs, char **args)
2026 {
2027 chtype *string;
2028
2029 ARGC(4);
2030 ARG_WINDOW(0, win);
2031 ARG_INT(1, y);
2032 ARG_INT(2, x);
2033 ARG_INT(3, count);
2034
2035 if ((string = malloc((count + 1) * sizeof(chtype))) == NULL) {
2036 report_count(1);
2037 report_error("MALLOC_FAILED");
2038 return;
2039 }
2040
2041 report_count(2);
2042 report_return(mvwinchnstr(win, y, x, string, count));
2043 report_nstr(string);
2044 free(string);
2045 }
2046
2047
2048 void
2049 cmd_mvwinchstr(int nargs, char **args)
2050 {
2051 chtype string[256];
2052
2053 ARGC(3);
2054 ARG_WINDOW(0, win);
2055 ARG_INT(1, y);
2056 ARG_INT(2, x);
2057
2058 report_count(2);
2059 report_return(mvwinchstr(win, y, x, string));
2060 report_nstr(string);
2061 }
2062
2063
2064 void
2065 cmd_mvwinnstr(int nargs, char **args)
2066 {
2067 char *string;
2068
2069 ARGC(4);
2070 ARG_WINDOW(0, win);
2071 ARG_INT(1, y);
2072 ARG_INT(2, x);
2073 ARG_INT(3, count);
2074
2075 if ((string = malloc(count + 1)) == NULL) {
2076 report_count(1);
2077 report_error("MALLOC_FAILED");
2078 return;
2079 }
2080
2081 report_count(2);
2082 report_int(mvwinnstr(win, y, x, string, count));
2083 report_status(string);
2084 free(string);
2085 }
2086
2087
2088 void
2089 cmd_mvwinstr(int nargs, char **args)
2090 {
2091 char string[256];
2092
2093 ARGC(3);
2094 ARG_WINDOW(0, win);
2095 ARG_INT(1, y);
2096 ARG_INT(2, x);
2097
2098 report_count(2);
2099 report_return(mvwinstr(win, y, x, string));
2100 report_status(string);
2101 }
2102
2103
2104 void
2105 cmd_mvwprintw(int nargs, char **args)
2106 {
2107 ARGC(5);
2108 ARG_WINDOW(0, win);
2109 ARG_INT(1, y);
2110 ARG_INT(2, x);
2111
2112 report_count(1);
2113 report_return(mvwprintw(win, y, x, args[3], args[4]));
2114 }
2115
2116
2117 void
2118 cmd_mvwscanw(int nargs, char **args)
2119 {
2120 char string[256];
2121
2122 ARGC(4);
2123 ARG_WINDOW(0, win);
2124 ARG_INT(1, y);
2125 ARG_INT(2, x);
2126
2127 report_count(2);
2128 report_int(mvwscanw(win, y, x, args[3], &string));
2129 report_status(string);
2130 }
2131
2132
2133 void
2134 cmd_napms(int nargs, char **args)
2135 {
2136 ARGC(1);
2137 ARG_INT(0, naptime);
2138
2139 report_count(1);
2140 report_return(napms(naptime));
2141 }
2142
2143
2144 void
2145 cmd_newpad(int nargs, char **args)
2146 {
2147 ARGC(2);
2148 ARG_INT(0, y);
2149 ARG_INT(1, x);
2150
2151 report_count(1);
2152 report_ptr(newpad(y, x));
2153 }
2154
2155
2156 void
2157 cmd_newterm(int nargs, char **args)
2158 {
2159 FILE *in, *out;
2160
2161 ARGC(3);
2162
2163 if ((in = fopen(args[1], "rw")) == NULL) {
2164 report_count(1);
2165 report_error("BAD FILE_ARGUMENT");
2166 return;
2167 }
2168 if ((out = fopen(args[2], "rw")) == NULL) {
2169 report_count(1);
2170 report_error("BAD FILE_ARGUMENT");
2171 return;
2172 }
2173 report_count(1);
2174 report_ptr(newterm(args[0], out, in));
2175 }
2176
2177
2178 void
2179 cmd_newwin(int nargs, char **args)
2180 {
2181 ARGC(4);
2182 ARG_INT(0, lines);
2183 ARG_INT(1, cols);
2184 ARG_INT(2, begin_y);
2185 ARG_INT(3, begin_x);
2186
2187 report_count(1);
2188 report_ptr(newwin(lines, cols, begin_y, begin_x));
2189 }
2190
2191
2192 void
2193 cmd_nl(int nargs, char **args)
2194 {
2195 ARGC(0);
2196
2197 report_count(1);
2198 report_return(nl());
2199 }
2200
2201
2202 void
2203 cmd_no_color_attributes(int nargs, char **args)
2204 {
2205 ARGC(0);
2206
2207 report_count(1);
2208 report_int(no_color_attributes());
2209 }
2210
2211
2212 void
2213 cmd_nocbreak(int nargs, char **args)
2214 {
2215 ARGC(0);
2216
2217 report_count(1);
2218 report_return(nocbreak());
2219 }
2220
2221
2222 void
2223 cmd_nodelay(int nargs, char **args)
2224 {
2225 ARGC(2);
2226 ARG_WINDOW(0, win);
2227 ARG_INT(1, flag);
2228
2229 report_count(1);
2230 report_return(nodelay(win, flag));
2231 }
2232
2233
2234 void
2235 cmd_noecho(int nargs, char **args)
2236 {
2237 ARGC(0);
2238
2239 report_count(1);
2240 report_return(noecho());
2241 }
2242
2243
2244 void
2245 cmd_nonl(int nargs, char **args)
2246 {
2247 ARGC(0);
2248
2249 report_count(1);
2250 report_return(nonl());
2251 }
2252
2253
2254 void
2255 cmd_noqiflush(int nargs, char **args)
2256 {
2257 ARGC(0);
2258
2259 noqiflush();
2260 report_count(1);
2261 report_return(OK); /* fake a return, the call returns void */
2262 }
2263
2264
2265 void
2266 cmd_noraw(int nargs, char **args)
2267 {
2268 ARGC(0);
2269
2270 report_count(1);
2271 report_return(noraw());
2272 }
2273
2274
2275 void
2276 cmd_notimeout(int nargs, char **args)
2277 {
2278 ARGC(2);
2279 ARG_WINDOW(0, win);
2280 ARG_INT(1, flag);
2281
2282 report_count(1);
2283 report_return(notimeout(win, flag));
2284 }
2285
2286
2287 void
2288 cmd_overlay(int nargs, char **args)
2289 {
2290 ARGC(2);
2291 ARG_WINDOW(0, source);
2292 ARG_WINDOW(1, dest);
2293
2294 report_count(1);
2295 report_return(overlay(source, dest));
2296 }
2297
2298
2299 void
2300 cmd_overwrite(int nargs, char **args)
2301 {
2302 ARGC(2);
2303 ARG_WINDOW(0, source);
2304 ARG_WINDOW(1, dest);
2305
2306 report_count(1);
2307 report_return(overwrite(source, dest));
2308 }
2309
2310
2311 void
2312 cmd_pair_content(int nargs, char **args)
2313 {
2314 short pair, fore, back;
2315
2316 ARGC(1);
2317
2318 if (set_short(args[0], &pair) != 0)
2319 return;
2320
2321 report_count(3);
2322 report_return(pair_content(pair, &fore, &back));
2323 report_int(fore);
2324 report_int(back);
2325 }
2326
2327
2328 void
2329 cmd_pechochar(int nargs, char **args)
2330 {
2331 ARGC(2);
2332 ARG_WINDOW(0, pad);
2333 ARG_CHTYPE_STRING(1, ch);
2334
2335 report_count(1);
2336 report_return(pechochar(pad, ch[0]));
2337 }
2338
2339
2340 void
2341 cmd_pnoutrefresh(int nargs, char **args)
2342 {
2343 ARGC(7);
2344 ARG_WINDOW(0, pad);
2345 ARG_INT(1, pbeg_y);
2346 ARG_INT(2, pbeg_x);
2347 ARG_INT(3, sbeg_y);
2348 ARG_INT(4, sbeg_x);
2349 ARG_INT(5, smax_y);
2350 ARG_INT(6, smax_x);
2351
2352 report_count(1);
2353 report_return(pnoutrefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y,
2354 smax_x));
2355 }
2356
2357
2358 void
2359 cmd_prefresh(int nargs, char **args)
2360 {
2361 ARGC(7);
2362 ARG_WINDOW(0, pad);
2363 ARG_INT(1, pbeg_y);
2364 ARG_INT(2, pbeg_x);
2365 ARG_INT(3, sbeg_y);
2366 ARG_INT(4, sbeg_x);
2367 ARG_INT(5, smax_y);
2368 ARG_INT(6, smax_x);
2369
2370 /* XXX causes refresh */
2371 report_count(1);
2372 report_return(prefresh(pad, pbeg_y, pbeg_x, sbeg_y, sbeg_x, smax_y,
2373 smax_x));
2374 }
2375
2376
2377 void
2378 cmd_printw(int nargs, char **args)
2379 {
2380 ARGC(2);
2381
2382 report_count(1);
2383 report_return(printw(args[0], args[1]));
2384 }
2385
2386
2387 void
2388 cmd_putwin(int nargs, char **args)
2389 {
2390 FILE *fp;
2391
2392 ARGC(2);
2393 ARG_WINDOW(0, win);
2394
2395 if ((fp = fopen(args[1], "w")) == NULL) {
2396 report_count(1);
2397 report_error("BAD FILE_ARGUMENT");
2398 return;
2399 }
2400 report_count(1);
2401 report_return(putwin(win, fp));
2402 fclose(fp);
2403 }
2404
2405
2406 void
2407 cmd_qiflush(int nargs, char **args)
2408 {
2409 ARGC(0);
2410
2411 qiflush();
2412 report_count(1);
2413 report_return(OK); /* fake a return because call returns void */
2414 }
2415
2416
2417 void
2418 cmd_raw(int nargs, char **args)
2419 {
2420 ARGC(0);
2421
2422 report_count(1);
2423 report_return(raw());
2424 }
2425
2426
2427 void
2428 cmd_redrawwin(int nargs, char **args)
2429 {
2430 ARGC(1);
2431 ARG_WINDOW(0, win);
2432
2433 report_count(1);
2434 report_return(redrawwin(win));
2435 }
2436
2437
2438 void
2439 cmd_reset_prog_mode(int nargs, char **args)
2440 {
2441 ARGC(0);
2442
2443 report_count(1);
2444 report_return(reset_prog_mode());
2445 }
2446
2447
2448 void
2449 cmd_reset_shell_mode(int nargs, char **args)
2450 {
2451 ARGC(0);
2452
2453 report_count(1);
2454 report_return(reset_shell_mode());
2455 }
2456
2457
2458 void
2459 cmd_resetty(int nargs, char **args)
2460 {
2461 ARGC(0);
2462
2463 report_count(1);
2464 report_return(resetty());
2465 }
2466
2467
2468 void
2469 cmd_resizeterm(int nargs, char **args)
2470 {
2471 ARGC(2);
2472 ARG_INT(0, rows);
2473 ARG_INT(1, cols);
2474
2475 report_count(1);
2476 report_return(resizeterm(rows, cols));
2477 }
2478
2479
2480 void
2481 cmd_savetty(int nargs, char **args)
2482 {
2483 ARGC(0);
2484
2485 report_count(1);
2486 report_return(savetty());
2487 }
2488
2489
2490 void
2491 cmd_scanw(int nargs, char **args)
2492 {
2493 char string[256];
2494
2495 ARGC(0);
2496
2497 report_count(2);
2498 report_return(scanw("%s", string));
2499 report_status(string);
2500 }
2501
2502
2503 void
2504 cmd_scroll(int nargs, char **args)
2505 {
2506 ARGC(1);
2507 ARG_WINDOW(0, win);
2508
2509 report_count(1);
2510 report_return(scroll(win));
2511 }
2512
2513
2514 void
2515 cmd_scrollok(int nargs, char **args)
2516 {
2517 ARGC(2);
2518 ARG_WINDOW(0, win);
2519 ARG_INT(1, flag);
2520
2521 report_count(1);
2522 report_return(scrollok(win, flag));
2523 }
2524
2525
2526 void
2527 cmd_setterm(int nargs, char **args)
2528 {
2529 ARGC(1);
2530
2531 report_count(1);
2532 report_return(setterm(args[0]));
2533 }
2534
2535
2536 void
2537 cmd_set_term(int nargs, char **args)
2538 {
2539 SCREEN *scrn;
2540
2541 ARGC(1);
2542
2543 if (set_scrn(args[0], &scrn) != 0) return;
2544
2545 report_count(1);
2546 report_ptr(set_term(scrn));
2547 }
2548
2549
2550 void
2551 cmd_start_color(int nargs, char **args)
2552 {
2553 ARGC(0);
2554
2555 report_count(1);
2556 report_return(start_color());
2557 }
2558
2559
2560 void
2561 cmd_subpad(int nargs, char **args)
2562 {
2563 ARGC(5);
2564 ARG_WINDOW(0, pad);
2565 ARG_INT(1, lines);
2566 ARG_INT(2, cols);
2567 ARG_INT(3, begin_y);
2568 ARG_INT(4, begin_x);
2569
2570 report_count(1);
2571 report_ptr(subpad(pad, lines, cols, begin_y, begin_x));
2572 }
2573
2574
2575 void
2576 cmd_subwin(int nargs, char **args)
2577 {
2578 ARGC(5);
2579 ARG_WINDOW(0, win);
2580 ARG_INT(1, lines);
2581 ARG_INT(2, cols);
2582 ARG_INT(3, begin_y);
2583 ARG_INT(4, begin_x);
2584
2585 report_count(1);
2586 report_ptr(subwin(win, lines, cols, begin_y, begin_x));
2587 }
2588
2589
2590 void
2591 cmd_termattrs(int nargs, char **args)
2592 {
2593 ARGC(0);
2594
2595 report_count(1);
2596 report_int(termattrs());
2597 }
2598
2599
2600 void
2601 cmd_term_attrs(int nargs, char **args)
2602 {
2603 ARGC(0);
2604
2605 report_count(1);
2606 report_int(term_attrs());
2607 }
2608
2609
2610 void
2611 cmd_touchline(int nargs, char **args)
2612 {
2613 ARGC(3);
2614 ARG_WINDOW(0, win);
2615 ARG_INT(1, start);
2616 ARG_INT(2, count);
2617
2618 report_count(1);
2619 report_return(touchline(win, start, count));
2620 }
2621
2622
2623 void
2624 cmd_touchoverlap(int nargs, char **args)
2625 {
2626 ARGC(2);
2627 ARG_WINDOW(0, win1);
2628 ARG_WINDOW(1, win2);
2629
2630 report_count(1);
2631 report_return(touchoverlap(win1, win2));
2632 }
2633
2634
2635 void
2636 cmd_touchwin(int nargs, char **args)
2637 {
2638 ARGC(1);
2639 ARG_WINDOW(0, win);
2640
2641 report_count(1);
2642 report_return(touchwin(win));
2643 }
2644
2645
2646 void
2647 cmd_ungetch(int nargs, char **args)
2648 {
2649 ARGC(1);
2650 ARG_INT(0, ch);
2651
2652 report_count(1);
2653 report_return(ungetch(ch));
2654 }
2655
2656
2657 void
2658 cmd_untouchwin(int nargs, char **args)
2659 {
2660 ARGC(1);
2661 ARG_WINDOW(0, win);
2662
2663 report_count(1);
2664 report_return(untouchwin(win));
2665 }
2666
2667
2668 void
2669 cmd_use_default_colors(int nargs, char **args)
2670 {
2671 ARGC(0);
2672
2673 report_count(1);
2674 report_return(use_default_colors());
2675 }
2676
2677
2678 void
2679 cmd_vline(int nargs, char **args)
2680 {
2681 ARGC(2);
2682 ARG_CHTYPE_STRING(0, ch);
2683 ARG_INT(1, count);
2684
2685 report_count(1);
2686 report_return(vline(ch[0], count));
2687 }
2688
2689
2690 static int
2691 internal_vw_printw(WINDOW * win, char *arg1,...)
2692 {
2693 va_list va;
2694 int rv;
2695
2696 va_start(va, arg1);
2697 rv = vw_printw(win, arg1, va);
2698 va_end(va);
2699
2700 return rv;
2701 }
2702
2703 void
2704 cmd_vw_printw(int nargs, char **args)
2705 {
2706 ARGC(3);
2707 ARG_WINDOW(0, win);
2708
2709 report_count(1);
2710 report_return(internal_vw_printw(win, args[1], args[2]));
2711 }
2712
2713
2714 static int
2715 internal_vw_scanw(WINDOW * win, char *arg1,...)
2716 {
2717 va_list va;
2718 int rv;
2719
2720 va_start(va, arg1);
2721 rv = vw_scanw(win, arg1, va);
2722 va_end(va);
2723
2724 return rv;
2725 }
2726
2727 void
2728 cmd_vw_scanw(int nargs, char **args)
2729 {
2730 char string[256];
2731
2732 ARGC(2);
2733 ARG_WINDOW(0, win);
2734
2735 report_count(2);
2736 report_int(internal_vw_scanw(win, args[1], string));
2737 report_status(string);
2738 }
2739
2740
2741 void
2742 cmd_vwprintw(int nargs, char **args)
2743 {
2744 cmd_vw_printw(nargs, args);
2745 }
2746
2747
2748 void
2749 cmd_vwscanw(int nargs, char **args)
2750 {
2751 cmd_vw_scanw(nargs, args);
2752 }
2753
2754
2755 void
2756 cmd_waddch(int nargs, char **args)
2757 {
2758 ARGC(2);
2759 ARG_WINDOW(0, win);
2760 ARG_CHTYPE_STRING(1, ch);
2761
2762 report_count(1);
2763 report_return(waddch(win, ch[0]));
2764 }
2765
2766
2767 void
2768 cmd_waddchnstr(int nargs, char **args)
2769 {
2770 ARGC(3);
2771 ARG_WINDOW(0, win);
2772 ARG_INT(2, count);
2773
2774 report_count(1);
2775 report_return(waddchnstr(win, (chtype *) args[1], count));
2776 }
2777
2778
2779 void
2780 cmd_waddchstr(int nargs, char **args)
2781 {
2782 ARGC(2);
2783 ARG_WINDOW(0, win);
2784
2785 report_count(1);
2786 report_return(waddchstr(win, (chtype *) args[1]));
2787 }
2788
2789
2790 void
2791 cmd_waddnstr(int nargs, char **args)
2792 {
2793 ARGC(3);
2794 ARG_WINDOW(0, win);
2795 ARG_INT(2, count);
2796
2797 report_count(1);
2798 report_return(waddnstr(win, args[1], count));
2799
2800 }
2801
2802
2803 void
2804 cmd_wattr_get(int nargs, char **args)
2805 {
2806 int attr;
2807 short pair;
2808
2809 ARGC(1);
2810 ARG_WINDOW(0, win);
2811
2812 report_count(3);
2813 report_return(wattr_get(win, &attr, &pair, NULL));
2814 report_int(attr);
2815 report_int(pair);
2816 }
2817
2818
2819 void
2820 cmd_wattr_off(int nargs, char **args)
2821 {
2822 ARGC(2);
2823 ARG_WINDOW(0, win);
2824 ARG_INT(1, attr);
2825
2826 report_count(1);
2827 report_return(wattr_off(win, attr, NULL));
2828 }
2829
2830
2831 void
2832 cmd_wattr_on(int nargs, char **args)
2833 {
2834 ARGC(2);
2835 ARG_WINDOW(0, win);
2836 ARG_INT(1, attr);
2837
2838 report_count(1);
2839 report_return(wattr_on(win, attr, NULL));
2840 }
2841
2842
2843 void
2844 cmd_wattr_set(int nargs, char **args)
2845 {
2846 ARGC(3);
2847 ARG_WINDOW(0, win);
2848 ARG_INT(1, attr);
2849 ARG_SHORT(2, pair);
2850
2851 report_count(1);
2852 report_return(wattr_set(win, attr, pair, NULL));
2853 }
2854
2855
2856 void
2857 cmd_wattroff(int nargs, char **args)
2858 {
2859 ARGC(2);
2860 ARG_WINDOW(0, win);
2861 ARG_INT(1, attr);
2862
2863 report_count(1);
2864 report_return(wattroff(win, attr));
2865 }
2866
2867
2868 void
2869 cmd_wattron(int nargs, char **args)
2870 {
2871 ARGC(2);
2872 ARG_WINDOW(0, win);
2873 ARG_INT(1, attr);
2874
2875 report_count(1);
2876 report_return(wattron(win, attr));
2877 }
2878
2879
2880 void
2881 cmd_wattrset(int nargs, char **args)
2882 {
2883 ARGC(2);
2884 ARG_WINDOW(0, win);
2885 ARG_INT(1, attr);
2886
2887 report_count(1);
2888 report_return(wattrset(win, attr));
2889 }
2890
2891
2892 void
2893 cmd_wbkgd(int nargs, char **args)
2894 {
2895 ARGC(2);
2896 ARG_WINDOW(0, win);
2897 ARG_CHTYPE_STRING(1, ch);
2898
2899 report_count(1);
2900 report_return(wbkgd(win, ch[0]));
2901 }
2902
2903
2904 void
2905 cmd_wbkgdset(int nargs, char **args)
2906 {
2907 ARGC(2);
2908 ARG_WINDOW(0, win);
2909 ARG_CHTYPE_STRING(1, ch);
2910
2911 wbkgdset(win, *ch); /* void return */
2912 report_count(1);
2913 report_return(OK);
2914 }
2915
2916
2917 void
2918 cmd_wborder(int nargs, char **args)
2919 {
2920 ARGC(9);
2921 ARG_WINDOW(0, win);
2922 ARG_INT(1, ls);
2923 ARG_INT(2, rs);
2924 ARG_INT(3, ts);
2925 ARG_INT(4, bs);
2926 ARG_INT(5, tl);
2927 ARG_INT(6, tr);
2928 ARG_INT(7, bl);
2929 ARG_INT(8, br);
2930
2931 report_count(1);
2932 report_return(wborder(win, ls, rs, ts, bs, tl, tr, bl, br));
2933 }
2934
2935
2936 void
2937 cmd_wclear(int nargs, char **args)
2938 {
2939 ARGC(1);
2940 ARG_WINDOW(0, win);
2941
2942 report_count(1);
2943 report_return(wclear(win));
2944 }
2945
2946
2947 void
2948 cmd_wclrtobot(int nargs, char **args)
2949 {
2950 ARGC(1);
2951 ARG_WINDOW(0, win);
2952
2953 report_count(1);
2954 report_return(wclrtobot(win));
2955 }
2956
2957
2958 void
2959 cmd_wclrtoeol(int nargs, char **args)
2960 {
2961 ARGC(1);
2962 ARG_WINDOW(0, win);
2963
2964 report_count(1);
2965 report_return(wclrtoeol(win));
2966
2967 }
2968
2969
2970 void
2971 cmd_wcolor_set(int nargs, char **args)
2972 {
2973 ARGC(3);
2974 ARG_WINDOW(0, win);
2975 ARG_SHORT(1, pair);
2976 /* TODO: arg 2 */
2977
2978 report_count(1);
2979 report_return(wcolor_set(win, pair, NULL));
2980 }
2981
2982
2983 void
2984 cmd_wdelch(int nargs, char **args)
2985 {
2986 ARGC(1);
2987 ARG_WINDOW(0, win);
2988
2989 report_count(1);
2990 report_return(wdelch(win));
2991 }
2992
2993
2994 void
2995 cmd_wdeleteln(int nargs, char **args)
2996 {
2997 ARGC(1);
2998 ARG_WINDOW(0, win);
2999
3000 report_count(1);
3001 report_return(wdeleteln(win));
3002
3003 }
3004
3005
3006 void
3007 cmd_wechochar(int nargs, char **args)
3008 {
3009 ARGC(2);
3010 ARG_WINDOW(0, win);
3011 ARG_CHTYPE_STRING(1, ch);
3012
3013 report_count(1);
3014 report_return(wechochar(win, ch[0]));
3015 }
3016
3017
3018 void
3019 cmd_werase(int nargs, char **args)
3020 {
3021 ARGC(1);
3022 ARG_WINDOW(0, win);
3023
3024 report_count(1);
3025 report_return(werase(win));
3026 }
3027
3028
3029 void
3030 cmd_wgetch(int nargs, char **args)
3031 {
3032 ARGC(1);
3033 ARG_WINDOW(0, win);
3034
3035 report_count(1);
3036 report_int(wgetch(win));
3037 }
3038
3039
3040 void
3041 cmd_wgetnstr(int nargs, char **args)
3042 {
3043 char string[256];
3044
3045 ARGC(2);
3046 ARG_WINDOW(0, win);
3047 ARG_INT(1, count);
3048
3049 report_count(2);
3050 report_return(wgetnstr(win, string, count));
3051 report_status(string);
3052 }
3053
3054
3055 void
3056 cmd_wgetstr(int nargs, char **args)
3057 {
3058 char string[256];
3059
3060 ARGC(1);
3061 ARG_WINDOW(0, win);
3062
3063 string[0] = '\0';
3064
3065 report_count(2);
3066 report_return(wgetstr(win, string));
3067 report_status(string);
3068 }
3069
3070
3071 void
3072 cmd_whline(int nargs, char **args)
3073 {
3074 ARGC(3);
3075 ARG_WINDOW(0, win);
3076 ARG_INT(2, count);
3077 ARG_CHTYPE_STRING(1, ch);
3078
3079 report_count(1);
3080 report_return(whline(win, ch[0], count));
3081 }
3082
3083
3084 void
3085 cmd_winch(int nargs, char **args)
3086 {
3087 ARGC(1);
3088 ARG_WINDOW(0, win);
3089
3090 report_count(1);
3091 report_byte(winch(win));
3092 }
3093
3094
3095 void
3096 cmd_winchnstr(int nargs, char **args)
3097 {
3098 chtype string[256];
3099
3100 ARGC(2);
3101 ARG_WINDOW(0, win);
3102 ARG_INT(1, count);
3103
3104 report_count(2);
3105 report_return(winchnstr(win, string, count));
3106 report_nstr(string);
3107 }
3108
3109
3110 void
3111 cmd_winchstr(int nargs, char **args)
3112 {
3113 chtype string[256];
3114
3115 ARGC(1);
3116 ARG_WINDOW(0, win);
3117
3118 report_count(2);
3119 report_return(winchstr(win, string));
3120 report_nstr(string);
3121 }
3122
3123
3124 void
3125 cmd_winnstr(int nargs, char **args)
3126 {
3127 char string[256];
3128
3129 ARGC(2);
3130 ARG_WINDOW(0, win);
3131 ARG_INT(1, count);
3132
3133 report_count(2);
3134 report_int(winnstr(win, string, count));
3135 report_status(string);
3136 }
3137
3138
3139 void
3140 cmd_winsch(int nargs, char **args)
3141 {
3142 ARGC(2);
3143 ARG_WINDOW(0, win);
3144 ARG_CHTYPE_STRING(1, ch);
3145
3146 report_count(1);
3147 report_return(winsch(win, ch[0]));
3148 }
3149
3150
3151 void
3152 cmd_winsdelln(int nargs, char **args)
3153 {
3154 ARGC(2);
3155 ARG_WINDOW(0, win);
3156 ARG_INT(1, count);
3157
3158 report_count(1);
3159 report_return(winsdelln(win, count));
3160 }
3161
3162
3163 void
3164 cmd_winsertln(int nargs, char **args)
3165 {
3166 ARGC(1);
3167 ARG_WINDOW(0, win);
3168
3169 report_count(1);
3170 report_return(winsertln(win));
3171 }
3172
3173
3174 void
3175 cmd_winstr(int nargs, char **args)
3176 {
3177 char string[256];
3178
3179 ARGC(1);
3180 ARG_WINDOW(0, win);
3181
3182 report_count(2);
3183 report_return(winstr(win, string));
3184 report_status(string);
3185 }
3186
3187
3188 void
3189 cmd_wmove(int nargs, char **args)
3190 {
3191 ARGC(3);
3192 ARG_WINDOW(0, win);
3193 ARG_INT(1, y);
3194 ARG_INT(2, x);
3195
3196 report_count(1);
3197 report_return(wmove(win, y, x));
3198 }
3199
3200
3201 void
3202 cmd_wnoutrefresh(int nargs, char **args)
3203 {
3204 ARGC(1);
3205 ARG_WINDOW(0, win);
3206
3207 report_count(1);
3208 report_return(wnoutrefresh(win));
3209 }
3210
3211
3212 void
3213 cmd_wprintw(int nargs, char **args)
3214 {
3215 ARGC(3);
3216 ARG_WINDOW(0, win);
3217
3218 report_count(1);
3219 report_return(wprintw(win, args[1], args[2]));
3220 }
3221
3222
3223 void
3224 cmd_wredrawln(int nargs, char **args)
3225 {
3226 ARGC(3);
3227 ARG_WINDOW(0, win);
3228 ARG_INT(1, beg_line);
3229 ARG_INT(2, num_lines);
3230
3231 report_count(1);
3232 report_return(wredrawln(win, beg_line, num_lines));
3233 }
3234
3235
3236 void
3237 cmd_wrefresh(int nargs, char **args)
3238 {
3239 ARGC(1);
3240 ARG_WINDOW(0, win);
3241
3242 /* XXX - generates output */
3243 report_count(1);
3244 report_return(wrefresh(win));
3245 }
3246
3247
3248 void
3249 cmd_wresize(int nargs, char **args)
3250 {
3251 ARGC(3);
3252 ARG_WINDOW(0, win);
3253 ARG_INT(1, lines);
3254 ARG_INT(2, cols);
3255
3256 report_count(1);
3257 report_return(wresize(win, lines, cols));
3258 }
3259
3260
3261 void
3262 cmd_wscanw(int nargs, char **args)
3263 {
3264 char string[256];
3265
3266 ARGC(2);
3267 ARG_WINDOW(0, win);
3268
3269 report_count(1);
3270 report_return(wscanw(win, args[1], &string));
3271 }
3272
3273
3274 void
3275 cmd_wscrl(int nargs, char **args)
3276 {
3277 ARGC(2);
3278 ARG_WINDOW(0, win);
3279 ARG_INT(1, n);
3280
3281 report_count(1);
3282 report_return(wscrl(win, n));
3283 }
3284
3285
3286 void
3287 cmd_wsetscrreg(int nargs, char **args)
3288 {
3289 ARGC(3);
3290 ARG_WINDOW(0, win);
3291 ARG_INT(1, top);
3292 ARG_INT(2, bottom);
3293
3294 report_count(1);
3295 report_return(wsetscrreg(win, top, bottom));
3296 }
3297
3298
3299 void
3300 cmd_wstandend(int nargs, char **args)
3301 {
3302 ARGC(1);
3303 ARG_WINDOW(0, win);
3304
3305 report_count(1);
3306 report_int(wstandend(win));
3307 }
3308
3309
3310 void
3311 cmd_wstandout(int nargs, char **args)
3312 {
3313 ARGC(1);
3314 ARG_WINDOW(0, win);
3315
3316 report_count(1);
3317 report_int(wstandout(win));
3318 }
3319
3320
3321 void
3322 cmd_wtimeout(int nargs, char **args)
3323 {
3324 ARGC(2);
3325 ARG_WINDOW(0, win);
3326 ARG_INT(1, tval);
3327
3328 wtimeout(win, tval); /* void return */
3329 report_count(1);
3330 report_return(OK);
3331 }
3332
3333
3334 void
3335 cmd_wtouchln(int nargs, char **args)
3336 {
3337 ARGC(4);
3338 ARG_WINDOW(0, win);
3339 ARG_INT(1, line);
3340 ARG_INT(2, n);
3341 ARG_INT(3, changed);
3342
3343 report_count(1);
3344 report_return(wtouchln(win, line, n, changed));
3345 }
3346
3347
3348 void
3349 cmd_wunderend(int nargs, char **args)
3350 {
3351 ARGC(1);
3352 ARG_WINDOW(0, win);
3353
3354 report_count(1);
3355 report_int(wunderend(win));
3356 }
3357
3358
3359 void
3360 cmd_wunderscore(int nargs, char **args)
3361 {
3362 ARGC(1);
3363 ARG_WINDOW(0, win);
3364
3365 report_count(1);
3366 report_int(wunderscore(win));
3367 }
3368
3369
3370 void
3371 cmd_wvline(int nargs, char **args)
3372 {
3373 ARGC(3);
3374 ARG_WINDOW(0, win);
3375 ARG_INT(2, n);
3376 ARG_CHTYPE_STRING(1, ch);
3377
3378 report_count(1);
3379 report_return(wvline(win, ch[0], n));
3380 }
3381
3382
3383 void
3384 cmd_insnstr(int nargs, char **args)
3385 {
3386 ARGC(2);
3387 ARG_INT(1, n);
3388
3389 report_count(1);
3390 report_return(insnstr(args[0], n));
3391 }
3392
3393
3394 void
3395 cmd_insstr(int nargs, char **args)
3396 {
3397 ARGC(1);
3398
3399 report_count(1);
3400 report_return(insstr(args[0]));
3401 }
3402
3403
3404 void
3405 cmd_mvinsnstr(int nargs, char **args)
3406 {
3407 ARGC(4);
3408 ARG_INT(0, y);
3409 ARG_INT(1, x);
3410 ARG_INT(3, n);
3411
3412 report_count(1);
3413 report_return(mvinsnstr(y, x, args[2], n));
3414 }
3415
3416
3417 void
3418 cmd_mvinsstr(int nargs, char **args)
3419 {
3420 ARGC(3);
3421 ARG_INT(0, y);
3422 ARG_INT(1, x);
3423
3424 report_count(1);
3425 report_return(mvinsstr(y, x, args[2]));
3426 }
3427
3428
3429 void
3430 cmd_mvwinsnstr(int nargs, char **args)
3431 {
3432 ARGC(5);
3433 ARG_WINDOW(0, win);
3434 ARG_INT(1, y);
3435 ARG_INT(2, x);
3436 ARG_INT(4, n);
3437
3438 report_count(1);
3439 report_return(mvwinsnstr(win, y, x, args[3], n));
3440
3441 }
3442
3443
3444 void
3445 cmd_mvwinsstr(int nargs, char **args)
3446 {
3447 ARGC(4);
3448 ARG_WINDOW(0, win);
3449 ARG_INT(1, y);
3450 ARG_INT(2, x);
3451
3452 report_count(1);
3453 report_return(mvwinsstr(win, y, x, args[3]));
3454 }
3455
3456
3457 void
3458 cmd_winsnstr(int nargs, char **args)
3459 {
3460 ARGC(3);
3461 ARG_WINDOW(0, win);
3462 ARG_INT(2, n);
3463
3464 report_count(1);
3465 report_return(winsnstr(win, args[1], n));
3466 }
3467
3468
3469 void
3470 cmd_winsstr(int nargs, char **args)
3471 {
3472 ARGC(2);
3473 ARG_WINDOW(0, win);
3474
3475 report_count(1);
3476 report_return(winsstr(win, args[1]));
3477 }
3478
3479
3480
3481 void
3482 cmd_chgat(int nargs, char **args)
3483 {
3484 ARGC(4);
3485 ARG_INT(0, n);
3486 ARG_INT(1, attr);
3487 ARG_INT(2, colour);
3488
3489 /* Note: 4th argument unused in current curses implementation */
3490 report_count(1);
3491 report_return(chgat(n, attr, colour, NULL));
3492 }
3493
3494
3495 void
3496 cmd_wchgat(int nargs, char **args)
3497 {
3498 ARGC(5);
3499 ARG_WINDOW(0, win);
3500 ARG_INT(1, n);
3501 ARG_INT(2, attr);
3502 ARG_SHORT(3, colour);
3503
3504 report_count(1);
3505 report_return(wchgat(win, n, attr, colour, NULL));
3506 }
3507
3508
3509 void
3510 cmd_mvchgat(int nargs, char **args)
3511 {
3512 ARGC(6);
3513 ARG_INT(0, y);
3514 ARG_INT(1, x);
3515 ARG_INT(2, n);
3516 ARG_INT(3, attr);
3517 ARG_SHORT(4, colour);
3518
3519 report_count(1);
3520 report_return(mvchgat(y, x, n, attr, colour, NULL));
3521 }
3522
3523
3524 void
3525 cmd_mvwchgat(int nargs, char **args)
3526 {
3527 ARGC(7);
3528 ARG_WINDOW(0, win);
3529 ARG_INT(1, y);
3530 ARG_INT(2, x);
3531 ARG_INT(3, n);
3532 ARG_INT(4, attr);
3533 ARG_SHORT(5, colour);
3534
3535 report_count(1);
3536 report_return(mvwchgat(win, y, x, n, attr, colour, NULL));
3537 }
3538
3539
3540 void
3541 cmd_add_wch(int nargs, char **args)
3542 {
3543 ARGC(1);
3544 ARG_CCHAR_STRING(0, ch);
3545
3546 report_count(1);
3547 report_return(add_wch(ch));
3548 }
3549
3550
3551 void
3552 cmd_wadd_wch(int nargs, char **args)
3553 {
3554 ARGC(2);
3555 ARG_WINDOW(0, win);
3556 ARG_CCHAR_STRING(1, ch);
3557
3558 report_count(1);
3559 report_return(wadd_wch(win, ch));
3560 }
3561
3562
3563 void
3564 cmd_mvadd_wch(int nargs, char **args)
3565 {
3566 ARGC(3);
3567 ARG_INT(0, y);
3568 ARG_INT(1, x);
3569 ARG_CCHAR_STRING(2, ch);
3570
3571 report_count(1);
3572 report_return(mvadd_wch(y, x, ch));
3573 }
3574
3575
3576 void
3577 cmd_mvwadd_wch(int nargs, char **args)
3578 {
3579 ARGC(4);
3580 ARG_WINDOW(0, win);
3581 ARG_INT(1, y);
3582 ARG_INT(2, x);
3583 ARG_CCHAR_STRING(3, ch);
3584
3585 report_count(1);
3586 report_return(mvwadd_wch(win, y, x, ch));
3587 }
3588
3589
3590
3591 void
3592 cmd_add_wchnstr(int nargs, char **args)
3593 {
3594 ARGC(1);
3595
3596 report_count(1);
3597 report_error("UNSUPPORTED");
3598 }
3599
3600
3601 void
3602 cmd_add_wchstr(int nargs, char **args)
3603 {
3604 ARGC(1);
3605
3606 report_count(1);
3607 report_error("UNSUPPORTED");
3608 }
3609
3610
3611 void
3612 cmd_wadd_wchnstr(int nargs, char **args)
3613 {
3614 ARGC(1);
3615
3616 report_count(1);
3617 report_error("UNSUPPORTED");
3618 }
3619
3620
3621 void
3622 cmd_wadd_wchstr(int nargs, char **args)
3623 {
3624 ARGC(1);
3625
3626 report_count(1);
3627 report_error("UNSUPPORTED");
3628 }
3629
3630
3631 void
3632 cmd_mvadd_wchnstr(int nargs, char **args)
3633 {
3634 ARGC(1);
3635
3636 report_count(1);
3637 report_error("UNSUPPORTED");
3638 }
3639
3640
3641 void
3642 cmd_mvadd_wchstr(int nargs, char **args)
3643 {
3644 ARGC(1);
3645
3646 report_count(1);
3647 report_error("UNSUPPORTED");
3648 }
3649
3650
3651 void
3652 cmd_mvwadd_wchnstr(int nargs, char **args)
3653 {
3654 ARGC(1);
3655
3656 report_count(1);
3657 report_error("UNSUPPORTED");
3658 }
3659
3660
3661 void
3662 cmd_mvwadd_wchstr(int nargs, char **args)
3663 {
3664 ARGC(1);
3665
3666 report_count(1);
3667 report_error("UNSUPPORTED");
3668 }
3669
3670
3671
3672 void
3673 cmd_addnwstr(int nargs, char **args)
3674 {
3675 ARGC(2);
3676 ARG_WCHAR_STRING(0, wstr);
3677 ARG_INT(1, n);
3678
3679 report_count(1);
3680 report_return(addnwstr(wstr, n));
3681 }
3682
3683
3684 void
3685 cmd_addwstr(int nargs, char **args)
3686 {
3687 ARGC(1);
3688 ARG_WCHAR_STRING(0, wstr);
3689
3690 report_count(1);
3691 report_return(addwstr(wstr));
3692 }
3693
3694
3695 void
3696 cmd_mvaddnwstr(int nargs, char **args)
3697 {
3698 ARGC(4);
3699 ARG_INT(0, y);
3700 ARG_INT(1, x);
3701 ARG_INT(3, n);
3702 ARG_WCHAR_STRING(2, wstr);
3703
3704 report_count(1);
3705 report_return(mvaddnwstr(y, x, wstr, n));
3706 }
3707
3708
3709 void
3710 cmd_mvaddwstr(int nargs, char **args)
3711 {
3712 ARGC(3);
3713 ARG_INT(0, y);
3714 ARG_INT(1, x);
3715 ARG_WCHAR_STRING(2, wstr);
3716
3717 report_count(1);
3718 report_return(mvaddwstr(y, x, wstr));
3719 }
3720
3721
3722 void
3723 cmd_mvwaddnwstr(int nargs, char **args)
3724 {
3725 ARGC(5);
3726 ARG_WINDOW(0, win);
3727 ARG_INT(1, y);
3728 ARG_INT(2, x);
3729 ARG_INT(4, n);
3730 ARG_WCHAR_STRING(3, wstr);
3731
3732 report_count(1);
3733 report_return(mvwaddnwstr(win, y, x, wstr, n));
3734 }
3735
3736
3737 void
3738 cmd_mvwaddwstr(int nargs, char **args)
3739 {
3740 ARGC(4);
3741 ARG_WINDOW(0, win);
3742 ARG_INT(1, y);
3743 ARG_INT(2, x);
3744 ARG_WCHAR_STRING(3, wstr);
3745
3746 report_count(1);
3747 report_return(mvwaddwstr(win, y, x, wstr));
3748 }
3749
3750
3751 void
3752 cmd_waddnwstr(int nargs, char **args)
3753 {
3754 ARGC(3);
3755 ARG_WINDOW(0, win);
3756 ARG_INT(2, n);
3757 ARG_WCHAR_STRING(1, wstr);
3758
3759 report_count(1);
3760 report_return(waddnwstr(win, wstr, n));
3761 }
3762
3763
3764 void
3765 cmd_waddwstr(int nargs, char **args)
3766 {
3767 ARGC(2);
3768 ARG_WINDOW(0, win);
3769 ARG_WCHAR_STRING(1, wstr);
3770
3771 report_count(1);
3772 report_return(waddwstr(win, wstr));
3773 }
3774
3775
3776
3777 void
3778 cmd_echo_wchar(int nargs, char **args)
3779 {
3780 ARGC(1);
3781 ARG_CCHAR_STRING(0, ch);
3782
3783 report_count(1);
3784 report_return(echo_wchar(ch));
3785 }
3786
3787
3788 void
3789 cmd_wecho_wchar(int nargs, char **args)
3790 {
3791 ARGC(2);
3792 ARG_WINDOW(0, win);
3793 ARG_CCHAR_STRING(1, ch);
3794
3795 report_count(1);
3796 report_return(wecho_wchar(win, ch));
3797 }
3798
3799
3800 void
3801 cmd_pecho_wchar(int nargs, char **args)
3802 {
3803 ARGC(2);
3804 ARG_WINDOW(0, pad);
3805 ARG_CCHAR_STRING(1, wch);
3806
3807 report_count(1);
3808 report_return(pecho_wchar(pad, wch));
3809 }
3810
3811
3812
3813 /* insert */
3814 void
3815 cmd_ins_wch(int nargs, char **args)
3816 {
3817 ARGC(1);
3818 ARG_CCHAR_STRING(0, wch);
3819
3820 report_count(1);
3821 report_return(ins_wch(wch));
3822 }
3823
3824
3825 void
3826 cmd_wins_wch(int nargs, char **args)
3827 {
3828 ARGC(2);
3829 ARG_WINDOW(0, win);
3830 ARG_CCHAR_STRING(1, wch);
3831
3832 report_count(1);
3833 report_return(wins_wch(win, wch));
3834 }
3835
3836
3837 void
3838 cmd_mvins_wch(int nargs, char **args)
3839 {
3840 ARGC(3);
3841 ARG_INT(0, y);
3842 ARG_INT(1, x);
3843 ARG_CCHAR_STRING(2, wch);
3844
3845 report_count(1);
3846 report_return(mvins_wch(y, x, wch));
3847 }
3848
3849
3850 void
3851 cmd_mvwins_wch(int nargs, char **args)
3852 {
3853 ARGC(4);
3854 ARG_WINDOW(0, win);
3855 ARG_INT(1, y);
3856 ARG_INT(2, x);
3857 ARG_CCHAR_STRING(3, wch);
3858
3859 report_count(1);
3860 report_return(mvwins_wch(win, y, x, wch));
3861 }
3862
3863
3864
3865 void
3866 cmd_ins_nwstr(int nargs, char **args)
3867 {
3868 ARGC(2);
3869 ARG_WCHAR_STRING(0, wstr);
3870 ARG_INT(1, n);
3871
3872 report_count(1);
3873 report_return(ins_nwstr(wstr, n));
3874 }
3875
3876
3877 void
3878 cmd_ins_wstr(int nargs, char **args)
3879 {
3880 ARGC(1);
3881 ARG_WCHAR_STRING(0, wstr);
3882
3883 report_count(1);
3884 report_return(ins_wstr(wstr));
3885 }
3886
3887
3888 void
3889 cmd_mvins_nwstr(int nargs, char **args)
3890 {
3891 ARGC(4);
3892 ARG_INT(0, y);
3893 ARG_INT(1, x);
3894 ARG_INT(3, n);
3895 ARG_WCHAR_STRING(2, wstr);
3896
3897 report_count(1);
3898 report_return(mvins_nwstr(y, x, wstr, n));
3899 }
3900
3901
3902 void
3903 cmd_mvins_wstr(int nargs, char **args)
3904 {
3905 ARGC(3);
3906 ARG_INT(0, y);
3907 ARG_INT(1, x);
3908 ARG_WCHAR_STRING(2, wstr);
3909
3910 report_count(1);
3911 report_return(mvins_wstr(y, x, wstr));
3912 }
3913
3914
3915 void
3916 cmd_mvwins_nwstr(int nargs, char **args)
3917 {
3918 ARGC(5);
3919 ARG_WINDOW(0, win);
3920 ARG_INT(1, y);
3921 ARG_INT(2, x);
3922 ARG_INT(4, n);
3923 ARG_WCHAR_STRING(3, wstr);
3924
3925 report_count(1);
3926 report_return(mvwins_nwstr(win, y, x, wstr, n));
3927 }
3928
3929
3930 void
3931 cmd_mvwins_wstr(int nargs, char **args)
3932 {
3933 ARGC(4);
3934 ARG_WINDOW(0, win);
3935 ARG_INT(1, y);
3936 ARG_INT(2, x);
3937 ARG_WCHAR_STRING(3, wstr);
3938
3939 report_count(1);
3940 report_return(mvwins_wstr(win, y, x, wstr));
3941 }
3942
3943
3944 void
3945 cmd_wins_nwstr(int nargs, char **args)
3946 {
3947 ARGC(3);
3948 ARG_WINDOW(0, win);
3949 ARG_INT(2, n);
3950 ARG_WCHAR_STRING(1, wstr);
3951
3952 report_count(1);
3953 report_return(wins_nwstr(win, wstr, n));
3954 }
3955
3956
3957 void
3958 cmd_wins_wstr(int nargs, char **args)
3959 {
3960 ARGC(2);
3961 ARG_WINDOW(0, win);
3962 ARG_WCHAR_STRING(1, wstr);
3963
3964 report_count(1);
3965 report_return(wins_wstr(win, wstr));
3966 }
3967
3968
3969
3970 /* input */
3971 void
3972 cmd_get_wch(int nargs, char **args)
3973 {
3974 wchar_t ch;
3975 ARGC(0);
3976
3977 report_count(2);
3978 report_return(get_wch(&ch));
3979 report_wchar(ch);
3980 }
3981
3982
3983 void
3984 cmd_unget_wch(int nargs, char **args)
3985 {
3986 wchar_t *wch;
3987 ARGC(1);
3988
3989 wch = (wchar_t *) args[0];
3990
3991 report_count(1);
3992 report_return(unget_wch(*wch));
3993 }
3994
3995
3996 void
3997 cmd_mvget_wch(int nargs, char **args)
3998 {
3999 wchar_t ch;
4000
4001 ARGC(2);
4002 ARG_INT(0, y);
4003 ARG_INT(1, x);
4004
4005 report_count(2);
4006 report_return(mvget_wch(y, x, &ch));
4007 report_wchar(ch);
4008 }
4009
4010
4011 void
4012 cmd_mvwget_wch(int nargs, char **args)
4013 {
4014 wchar_t ch;
4015
4016 ARGC(1); /* FIXME: 3 */
4017 ARG_WINDOW(0, win);
4018 ARG_INT(1, y);
4019 ARG_INT(2, x);
4020
4021 report_count(2);
4022 report_return(mvwget_wch(win, y, x, &ch));
4023 report_wchar(ch);
4024 }
4025
4026
4027 void
4028 cmd_wget_wch(int nargs, char **args)
4029 {
4030 wchar_t ch;
4031
4032 ARGC(1);
4033 ARG_WINDOW(0, win);
4034
4035 report_count(2);
4036 report_return(wget_wch(win, &ch));
4037 report_wchar(ch);
4038 }
4039
4040
4041
4042 void
4043 cmd_getn_wstr(int nargs, char **args)
4044 {
4045 wchar_t wstr[256];
4046
4047 ARGC(1);
4048 ARG_INT(0, n);
4049
4050 report_count(2);
4051 report_return(getn_wstr(wstr, n));
4052 report_wstr(wstr);
4053 }
4054
4055
4056 void
4057 cmd_get_wstr(int nargs, char **args)
4058 {
4059 wchar_t wstr[256];
4060
4061 ARGC(0);
4062
4063 report_count(2);
4064 report_return(get_wstr(wstr));
4065 report_wstr(wstr);
4066 }
4067
4068 void
4069 cmd_mvgetn_wstr(int nargs, char **args)
4070 {
4071 wchar_t wstr[256];
4072
4073 ARGC(3);
4074 ARG_INT(0, y);
4075 ARG_INT(1, x);
4076 ARG_INT(2, n);
4077
4078 report_count(2);
4079 report_return(mvgetn_wstr(y, x, wstr, n));
4080 report_wstr(wstr);
4081 }
4082
4083 void
4084 cmd_mvget_wstr(int nargs, char **args)
4085 {
4086 wchar_t wstr[256];
4087
4088 ARGC(2);
4089 ARG_INT(0, y);
4090 ARG_INT(1, x);
4091
4092 report_count(2);
4093 report_return(mvget_wstr(y, x, wstr));
4094 report_wstr(wstr);
4095 }
4096
4097
4098 void
4099 cmd_mvwgetn_wstr(int nargs, char **args)
4100 {
4101 wchar_t wstr[256];
4102
4103 ARGC(4);
4104 ARG_WINDOW(0, win);
4105 ARG_INT(1, y);
4106 ARG_INT(2, x);
4107 ARG_INT(3, n);
4108
4109 report_count(2);
4110 report_return(mvwgetn_wstr(win, y, x, wstr, n));
4111 report_wstr(wstr);
4112 }
4113
4114
4115 void
4116 cmd_mvwget_wstr(int nargs, char **args)
4117 {
4118 wchar_t wstr[256];
4119
4120 ARGC(3);
4121 ARG_WINDOW(0, win);
4122 ARG_INT(1, y);
4123 ARG_INT(2, x);
4124
4125 report_count(2);
4126 report_return(mvwget_wstr(win, y, x, wstr));
4127 report_wstr(wstr);
4128 }
4129
4130
4131 void
4132 cmd_wgetn_wstr(int nargs, char **args)
4133 {
4134 wchar_t wstr[256];
4135
4136 ARGC(2);
4137 ARG_WINDOW(0, win);
4138 ARG_INT(1, n);
4139
4140 report_count(2);
4141 report_return(wgetn_wstr(win, wstr, n));
4142 report_wstr(wstr);
4143 }
4144
4145
4146 void
4147 cmd_wget_wstr(int nargs, char **args)
4148 {
4149 wchar_t wstr[256];
4150
4151 ARGC(1);
4152 ARG_WINDOW(0, win);
4153
4154 report_count(2);
4155 report_return(wget_wstr(win, wstr));
4156 report_wstr(wstr);
4157 }
4158
4159
4160
4161 void
4162 cmd_in_wch(int nargs, char **args)
4163 {
4164 cchar_t wcval;
4165 ARGC(0);
4166
4167 report_count(2);
4168 report_return(in_wch(&wcval));
4169 report_cchar(wcval);
4170 }
4171
4172
4173 void
4174 cmd_mvin_wch(int nargs, char **args)
4175 {
4176 cchar_t wcval;
4177
4178 ARGC(2);
4179 ARG_INT(0, y);
4180 ARG_INT(1, x);
4181
4182 report_count(2);
4183 report_return(mvin_wch(y, x, &wcval));
4184 report_cchar(wcval);
4185 }
4186
4187
4188 void
4189 cmd_mvwin_wch(int nargs, char **args)
4190 {
4191 cchar_t wcval;
4192
4193 ARGC(3);
4194 ARG_WINDOW(0, win);
4195 ARG_INT(1, y);
4196 ARG_INT(2, x);
4197
4198 report_count(2);
4199 report_return(mvwin_wch(win, y, x, &wcval));
4200 report_cchar(wcval);
4201 }
4202
4203
4204 void
4205 cmd_win_wch(int nargs, char **args)
4206 {
4207 cchar_t wcval;
4208
4209 ARGC(1);
4210 ARG_WINDOW(0, win);
4211
4212 report_count(2);
4213 report_return(win_wch(win, &wcval));
4214 report_cchar(wcval);
4215 }
4216
4217
4218 void
4219 cmd_in_wchnstr(int nargs, char **args)
4220 {
4221 ARGC(1);
4222
4223 report_count(1);
4224 report_error("UNSUPPORTED");
4225 }
4226
4227
4228 void
4229 cmd_in_wchstr(int nargs, char **args)
4230 {
4231 ARGC(1);
4232
4233 report_count(1);
4234 report_error("UNSUPPORTED");
4235 }
4236
4237
4238 void
4239 cmd_mvin_wchnstr(int nargs, char **args)
4240 {
4241 ARGC(1);
4242
4243 report_count(1);
4244 report_error("UNSUPPORTED");
4245 }
4246
4247
4248 void
4249 cmd_mvin_wchstr(int nargs, char **args)
4250 {
4251 ARGC(1);
4252
4253 report_count(1);
4254 report_error("UNSUPPORTED");
4255 }
4256
4257
4258 void
4259 cmd_mvwin_wchnstr(int nargs, char **args)
4260 {
4261 ARGC(1);
4262
4263 report_count(1);
4264 report_error("UNSUPPORTED");
4265 }
4266
4267
4268 void
4269 cmd_mvwin_wchstr(int nargs, char **args)
4270 {
4271 ARGC(1);
4272
4273 report_count(1);
4274 report_error("UNSUPPORTED");
4275 }
4276
4277
4278 void
4279 cmd_win_wchnstr(int nargs, char **args)
4280 {
4281 ARGC(1);
4282
4283 report_count(1);
4284 report_error("UNSUPPORTED");
4285 }
4286
4287
4288 void
4289 cmd_win_wchstr(int nargs, char **args)
4290 {
4291 ARGC(1);
4292
4293 report_count(1);
4294 report_error("UNSUPPORTED");
4295 }
4296
4297
4298
4299 void
4300 cmd_innwstr(int nargs, char **args)
4301 {
4302 wchar_t wstr[256];
4303
4304 ARGC(1);
4305 ARG_INT(0, n);
4306
4307 report_count(2);
4308 report_int(innwstr(wstr, n));
4309 report_wstr(wstr);
4310 }
4311
4312
4313 void
4314 cmd_inwstr(int nargs, char **args)
4315 {
4316 wchar_t wstr[256];
4317 ARGC(0);
4318
4319 report_count(2);
4320 report_return(inwstr(wstr));
4321 report_wstr(wstr);
4322 }
4323
4324
4325 void
4326 cmd_mvinnwstr(int nargs, char **args)
4327 {
4328 wchar_t wstr[256];
4329
4330 ARGC(3);
4331 ARG_INT(0, y);
4332 ARG_INT(1, x);
4333 ARG_INT(2, n);
4334
4335 report_count(2);
4336 report_int(mvinnwstr(y, x, wstr, n));
4337 report_wstr(wstr);
4338 }
4339
4340
4341 void
4342 cmd_mvinwstr(int nargs, char **args)
4343 {
4344 wchar_t wstr[256];
4345
4346 ARGC(2);
4347 ARG_INT(0, y);
4348 ARG_INT(1, x);
4349
4350 report_count(2);
4351 report_return(mvinwstr(y, x, wstr));
4352 report_wstr(wstr);
4353 }
4354
4355
4356 void
4357 cmd_mvwinnwstr(int nargs, char **args)
4358 {
4359 wchar_t wstr[256];
4360
4361 ARGC(4);
4362 ARG_WINDOW(0, win);
4363 ARG_INT(1, y);
4364 ARG_INT(2, x);
4365 ARG_INT(3, n);
4366
4367 report_count(2);
4368 report_int(mvwinnwstr(win, y, x, wstr, n));
4369 report_wstr(wstr);
4370 }
4371
4372
4373 void
4374 cmd_mvwinwstr(int nargs, char **args)
4375 {
4376 wchar_t wstr[256];
4377
4378 ARGC(3);
4379 ARG_WINDOW(0, win);
4380 ARG_INT(1, y);
4381 ARG_INT(2, x);
4382
4383 report_count(2);
4384 report_return(mvwinwstr(win, y, x, wstr));
4385 report_wstr(wstr);
4386 }
4387
4388
4389 void
4390 cmd_winnwstr(int nargs, char **args)
4391 {
4392 wchar_t wstr[256];
4393
4394 ARGC(2);
4395 ARG_WINDOW(0, win);
4396 ARG_INT(1, n);
4397
4398 report_count(2);
4399 report_int(winnwstr(win, wstr, n));
4400 report_wstr(wstr);
4401 }
4402
4403
4404 void
4405 cmd_winwstr(int nargs, char **args)
4406 {
4407 wchar_t wstr[256];
4408
4409 ARGC(1);
4410 ARG_WINDOW(0, win);
4411
4412 report_count(2);
4413 report_return(winwstr(win, wstr));
4414 report_wstr(wstr);
4415 }
4416
4417
4418
4419 /* cchar handling */
4420 void
4421 cmd_setcchar(int nargs, char **args)
4422 {
4423 cchar_t wcval;
4424
4425 ARGC(4);
4426 ARG_WCHAR_STRING(0, wch);
4427 ARG_INT(1, attrs);
4428 ARG_SHORT(2, color_pair);
4429 /* TODO: arg 3 */
4430
4431 report_count(2);
4432 report_return(setcchar(&wcval, wch, attrs, color_pair, NULL));
4433 report_cchar(wcval);
4434 }
4435
4436
4437 void
4438 cmd_getcchar(int nargs, char **args)
4439 {
4440 cchar_t *wcval;
4441 wchar_t wch[256];
4442 attr_t attrs;
4443 short color_pair;
4444
4445 /*
4446 * XXX - not handling passing of wch as NULL
4447 */
4448
4449 ARGC(2);
4450
4451 wcval = (cchar_t *) args[0];
4452
4453 report_count(4);
4454 report_return(getcchar(wcval, wch, &attrs, &color_pair, NULL));
4455 report_wstr(wch);
4456 report_int(attrs);
4457 report_int(color_pair);
4458 }
4459
4460
4461
4462 /* misc */
4463 void
4464 cmd_key_name(int nargs, char **args)
4465 {
4466 wchar_t w;
4467
4468 ARGC(1);
4469
4470 w = *((wchar_t *) args[0]);
4471
4472 report_count(1);
4473 report_status(key_name(w));
4474 }
4475
4476
4477 void
4478 cmd_border_set(int nargs, char **args)
4479 {
4480 cchar_t *ls, *rs, *ts, *bs, *tl, *tr, *bl, *br;
4481
4482 ARGC(8);
4483
4484 ls = (cchar_t *) args[0];
4485 rs = (cchar_t *) args[1];
4486 ts = (cchar_t *) args[2];
4487 bs = (cchar_t *) args[3];
4488 tl = (cchar_t *) args[4];
4489 tr = (cchar_t *) args[5];
4490 bl = (cchar_t *) args[6];
4491 br = (cchar_t *) args[7];
4492
4493 report_count(1);
4494 report_return(border_set(ls, rs, ts, bs, tl, tr, bl, br));
4495 }
4496
4497
4498 void
4499 cmd_wborder_set(int nargs, char **args)
4500 {
4501 cchar_t *ls, *rs, *ts, *bs, *tl, *tr, *bl, *br;
4502
4503 ARGC(9);
4504 ARG_WINDOW(0, win);
4505
4506 ls = (cchar_t *) args[1];
4507 rs = (cchar_t *) args[2];
4508 ts = (cchar_t *) args[3];
4509 bs = (cchar_t *) args[4];
4510 tl = (cchar_t *) args[5];
4511 tr = (cchar_t *) args[6];
4512 bl = (cchar_t *) args[7];
4513 br = (cchar_t *) args[8];
4514
4515 report_count(1);
4516 report_return(wborder_set(win, ls, rs, ts, bs, tl, tr, bl, br));
4517 }
4518
4519
4520 void
4521 cmd_box_set(int nargs, char **args)
4522 {
4523 ARGC(3);
4524 ARG_WINDOW(0, win);
4525 ARG_CCHAR_STRING(1, verch);
4526 ARG_CCHAR_STRING(2, horch);
4527
4528 report_count(1);
4529 report_return(box_set(win, verch, horch));
4530 }
4531
4532
4533 void
4534 cmd_erasewchar(int nargs, char **args)
4535 {
4536 wchar_t ch;
4537
4538 ARGC(0);
4539
4540 report_count(2);
4541 report_return(erasewchar(&ch));
4542 report_wchar(ch);
4543 }
4544
4545
4546 void
4547 cmd_killwchar(int nargs, char **args)
4548 {
4549 wchar_t ch;
4550
4551 ARGC(0);
4552
4553 report_count(2);
4554 report_return(killwchar(&ch));
4555 report_wchar(ch);
4556 }
4557
4558
4559 void
4560 cmd_hline_set(int nargs, char **args)
4561 {
4562 ARGC(2);
4563 ARG_CCHAR_STRING(0, wch);
4564 ARG_INT(1, n);
4565
4566 report_count(1);
4567 report_return(hline_set(wch, n));
4568 }
4569
4570
4571 void
4572 cmd_mvhline_set(int nargs, char **args)
4573 {
4574 ARGC(4);
4575 ARG_INT(0, y);
4576 ARG_INT(1, x);
4577 ARG_INT(3, n);
4578 ARG_CCHAR_STRING(2, wch);
4579
4580 report_count(1);
4581 report_return(mvhline_set(y, x, wch, n));
4582 }
4583
4584
4585 void
4586 cmd_mvvline_set(int nargs, char **args)
4587 {
4588 ARGC(4);
4589 ARG_INT(0, y);
4590 ARG_INT(1, x);
4591 ARG_INT(3, n);
4592 ARG_CCHAR_STRING(2, wch);
4593
4594 report_count(1);
4595 report_return(mvvline_set(y, x, wch, n));
4596 }
4597
4598
4599 void
4600 cmd_mvwhline_set(int nargs, char **args)
4601 {
4602 ARGC(5);
4603 ARG_WINDOW(0, win);
4604 ARG_INT(1, y);
4605 ARG_INT(2, x);
4606 ARG_INT(4, n);
4607 ARG_CCHAR_STRING(3, wch);
4608
4609 report_count(1);
4610 report_return(mvwhline_set(win, y, x, wch, n));
4611 }
4612
4613
4614 void
4615 cmd_mvwvline_set(int nargs, char **args)
4616 {
4617 ARGC(5);
4618 ARG_WINDOW(0, win);
4619 ARG_INT(1, y);
4620 ARG_INT(2, x);
4621 ARG_INT(4, n);
4622 ARG_CCHAR_STRING(3, wch);
4623
4624 report_count(1);
4625 report_return(mvwvline_set(win, y, x, wch, n));
4626 }
4627
4628
4629 void
4630 cmd_vline_set(int nargs, char **args)
4631 {
4632 ARGC(2);
4633 ARG_CCHAR_STRING(0, wch);
4634 ARG_INT(1, n);
4635
4636 report_count(1);
4637 report_return(vline_set(wch, n));
4638 }
4639
4640
4641 void
4642 cmd_whline_set(int nargs, char **args)
4643 {
4644 ARGC(3);
4645 ARG_WINDOW(0, win);
4646 ARG_INT(2, n);
4647 ARG_CCHAR_STRING(1, wch);
4648
4649 report_count(1);
4650 report_return(whline_set(win, wch, n));
4651 }
4652
4653
4654 void
4655 cmd_wvline_set(int nargs, char **args)
4656 {
4657 ARGC(3);
4658 ARG_WINDOW(0, win);
4659 ARG_INT(2, n);
4660 ARG_CCHAR_STRING(1, wch);
4661
4662 report_count(1);
4663 report_return(wvline_set(win, wch, n));
4664 }
4665
4666
4667 void
4668 cmd_bkgrnd(int nargs, char **args)
4669 {
4670 ARGC(1);
4671 ARG_CCHAR_STRING(0, wch);
4672
4673 report_count(1);
4674 report_return(bkgrnd(wch));
4675 }
4676
4677
4678 void
4679 cmd_bkgrndset(int nargs, char **args)
4680 {
4681 ARGC(1);
4682 ARG_CCHAR_STRING(0, wch);
4683
4684 report_count(1);
4685 bkgrndset(wch);
4686 report_return(OK);
4687 }
4688
4689
4690 void
4691 cmd_getbkgrnd(int nargs, char **args)
4692 {
4693 cchar_t wch;
4694 ARGC(0);
4695
4696 report_count(2);
4697 report_return(getbkgrnd(&wch));
4698 report_cchar(wch);
4699 }
4700
4701
4702 void
4703 cmd_wbkgrnd(int nargs, char **args)
4704 {
4705 ARGC(2);
4706 ARG_WINDOW(0, win);
4707 ARG_CCHAR_STRING(1, wch);
4708
4709 report_count(1);
4710 report_return(wbkgrnd(win, wch));
4711 }
4712
4713
4714 void
4715 cmd_wbkgrndset(int nargs, char **args)
4716 {
4717 ARGC(2);
4718 ARG_WINDOW(0, win);
4719 ARG_CCHAR_STRING(1, wch);
4720
4721 report_count(1);
4722 wbkgrndset(win, wch);
4723 report_return(OK);
4724 }
4725
4726
4727 void
4728 cmd_wgetbkgrnd(int nargs, char **args)
4729 {
4730 cchar_t wch;
4731 ARGC(1);
4732 ARG_WINDOW(0, win);
4733
4734 report_count(2);
4735 report_return(wgetbkgrnd(win, &wch));
4736 report_cchar(wch);
4737 }
4738
4739
4740 void
4741 cmd_immedok(int nargs, char **args)
4742 {
4743 ARGC(2);
4744 ARG_WINDOW(0, win);
4745 ARG_INT(1, bf);
4746
4747 report_count(1);
4748 immedok(win, bf);
4749 report_return(OK);
4750 }
4751
4752 void
4753 cmd_syncok(int nargs, char **args)
4754 {
4755 ARGC(2);
4756 ARG_WINDOW(0, win);
4757 ARG_INT(1, bf);
4758
4759 report_count(1);
4760 report_return(syncok(win, bf));
4761 }
4762
4763 void
4764 cmd_wcursyncup(int nargs, char **args)
4765 {
4766 ARGC(1);
4767 ARG_WINDOW(0, win);
4768
4769 report_count(1);
4770 wcursyncup(win);
4771 report_return(OK);
4772 }
4773
4774 void
4775 cmd_wsyncup(int nargs, char **args)
4776 {
4777 ARGC(1);
4778 ARG_WINDOW(0, win);
4779
4780 report_count(1);
4781 wsyncup(win);
4782 report_return(OK);
4783 }
4784
4785 void
4786 cmd_wsyncdown(int nargs, char **args)
4787 {
4788 ARGC(1);
4789 ARG_WINDOW(0, win);
4790
4791 report_count(1);
4792 wsyncdown(win);
4793 report_return(OK);
4794 }
4795
4796
4797 /* Soft label key routines */
4798 void
4799 cmd_slk_attroff(int nargs, char **args)
4800 {
4801 ARGC(1);
4802 ARG_CHTYPE_STRING(0, ch);
4803
4804 report_count(1);
4805 report_return(slk_attroff(ch[0]));
4806 }
4807
4808 void
4809 cmd_slk_attr_off(int nargs, char **args)
4810 {
4811 ARGC(1);
4812 ARG_INT(0, attrs);
4813
4814 report_count(1);
4815 report_return(slk_attr_off(attrs, NULL));
4816 }
4817
4818 void
4819 cmd_slk_attron(int nargs, char **args)
4820 {
4821 ARGC(1);
4822 ARG_CHTYPE_STRING(0, ch);
4823
4824 report_count(1);
4825 report_return(slk_attron(ch[0]));
4826 }
4827
4828 void
4829 cmd_slk_attr_on(int nargs, char **args)
4830 {
4831 ARGC(1);
4832 ARG_INT(0, attrs);
4833
4834 report_count(1);
4835 report_return(slk_attr_on(attrs, NULL));
4836 }
4837
4838 void
4839 cmd_slk_attrset(int nargs, char **args)
4840 {
4841 ARGC(1);
4842 ARG_CHTYPE_STRING(0, ch);
4843
4844 report_count(1);
4845 report_return(slk_attrset(ch[0]));
4846 }
4847
4848 void
4849 cmd_slk_attr_set(int nargs, char **args)
4850 {
4851 ARGC(2);
4852 ARG_INT(0, attrs);
4853 ARG_SHORT(1, color_pair_number);
4854
4855 report_count(1);
4856 report_return(slk_attr_set(attrs, color_pair_number, NULL));
4857 }
4858
4859 void
4860 cmd_slk_clear(int nargs, char **args)
4861 {
4862 ARGC(0);
4863
4864 report_count(1);
4865 report_return(slk_clear());
4866 }
4867
4868 void
4869 cmd_slk_color(int nargs, char **args)
4870 {
4871 ARGC(1);
4872 ARG_SHORT(0, color_pair_number);
4873
4874 report_count(1);
4875 report_return(slk_color(color_pair_number));
4876 }
4877
4878 void
4879 cmd_slk_label(int nargs, char **args)
4880 {
4881 char *label;
4882
4883 ARGC(1);
4884 ARG_INT(0, labnum);
4885
4886 label = slk_label(labnum);
4887 report_count(1);
4888 if (label == NULL)
4889 report_status("NULL");
4890 else
4891 report_status(label);
4892 }
4893
4894 void
4895 cmd_slk_noutrefresh(int nargs, char **args)
4896 {
4897 ARGC(0);
4898
4899 report_count(1);
4900 report_return(slk_noutrefresh());
4901 }
4902
4903 void
4904 cmd_slk_refresh(int nargs, char **args)
4905 {
4906 ARGC(0);
4907
4908 report_count(1);
4909 report_return(slk_refresh());
4910 }
4911
4912 void
4913 cmd_slk_restore(int nargs, char **args)
4914 {
4915 ARGC(0);
4916
4917 report_count(1);
4918 report_return(slk_restore());
4919 }
4920
4921 void
4922 cmd_slk_set(int nargs, char **args)
4923 {
4924 ARGC(3);
4925 ARG_INT(0, labnum);
4926 ARG_INT(2, justify);
4927
4928 report_count(1);
4929 report_return(slk_set(labnum, args[1], justify));
4930 }
4931
4932 void
4933 cmd_slk_touch(int nargs, char **args)
4934 {
4935 ARGC(0);
4936
4937 report_count(1);
4938 report_return(slk_touch());
4939 }
4940
4941 void
4942 cmd_slk_wset(int nargs, char **args)
4943 {
4944 ARGC(3);
4945 ARG_INT(0, labnum);
4946 ARG_INT(2, justify);
4947 ARG_WCHAR_STRING(1, label);
4948
4949 report_count(1);
4950 report_return(slk_wset(labnum, label, justify));
4951 }
4952
4953
4954 void
4955 cmd_slk_init(int nargs, char **args)
4956 {
4957 ARGC(1);
4958 ARG_INT(0, fmt);
4959
4960 report_count(1);
4961 report_return(slk_init(fmt));
4962 }
4963
4964 void
4965 cmd_use_env(int nargs, char **args)
4966 {
4967 ARGC(1);
4968
4969 report_count(1);
4970 report_error("UNSUPPORTED");
4971 }
4972
4973 void
4974 cmd_ripoffline(int nargs, char **args)
4975 {
4976 ARGC(1);
4977
4978 report_count(1);
4979 report_error("UNSUPPORTED");
4980 }
4981
4982 void
4983 cmd_filter(int nargs, char **args)
4984 {
4985 ARGC(0);
4986
4987 report_count(1);
4988 filter();
4989 report_return(OK);
4990 }
4991