Commit 87a5cf4cecf26b34685fb0eea15963b94472ea1e

Authored by perry.werneck@gmail.com
1 parent 60f86d8b

Chamadas a trace_ds() passam a receber a estrutura de sessão

ansi.c
... ... @@ -1691,13 +1691,13 @@ void ansi_in3270(H3270 *session, int in3270, void *dunno)
1691 1691 }
1692 1692  
1693 1693 #if defined(X3270_DBCS) /*[*/
1694   -static void
1695   -trace_pending_mb(void)
  1694 +static void trace_pending_mb(void)
1696 1695 {
1697 1696 int i;
1698 1697  
1699   - for (i = 0; i < mb_pending; i++) {
1700   - trace_ds(" %02x", mb_buffer[i] & 0xff);
  1698 + for (i = 0; i < mb_pending; i++)
  1699 + {
  1700 + trace_ds(&h3270," %02x", mb_buffer[i] & 0xff);
1701 1701 }
1702 1702 }
1703 1703 #endif /*]*/
... ... @@ -1723,10 +1723,11 @@ ansi_process(unsigned int c)
1723 1723  
1724 1724 fn = ansi_fn[st[(int)state][c]];
1725 1725 #if defined(X3270_DBCS) /*[*/
1726   - if (mb_pending && fn != &ansi_printing) {
1727   - trace_ds("Dropped incomplete multi-byte character");
  1726 + if (mb_pending && fn != &ansi_printing)
  1727 + {
  1728 + trace_ds(&h3270,"Dropped incomplete multi-byte character");
1728 1729 trace_pending_mb();
1729   - trace_ds("\n");
  1730 + trace_ds(&h3270,"\n");
1730 1731 mb_pending = 0;
1731 1732 }
1732 1733 #endif /*]*/
... ... @@ -1837,9 +1838,9 @@ dbcs_process(int ch, unsigned char ebc[])
1837 1838  
1838 1839 /* See if we have too many. */
1839 1840 if (mb_pending >= MB_MAX) {
1840   - trace_ds("Multi-byte character ");
  1841 + trace_ds(&h3270,"Multi-byte character ");
1841 1842 trace_pending_mb();
1842   - trace_ds(" too long, dropping\n");
  1843 + trace_ds(&h3270," too long, dropping\n");
1843 1844 mb_pending = 0;
1844 1845 return 0;
1845 1846 }
... ... @@ -1860,9 +1861,9 @@ dbcs_process(int ch, unsigned char ebc[])
1860 1861 mb_pending = 0;
1861 1862 return 2;
1862 1863 } else {
1863   - trace_ds("Can't map multi-byte character");
  1864 + trace_ds(&h3270,"Can't map multi-byte character");
1864 1865 trace_pending_mb();
1865   - trace_ds(" -> U+%04x to SBCS or DBCS, dropping\n",
  1866 + trace_ds(&h3270," -> U+%04x to SBCS or DBCS, dropping\n",
1866 1867 Ubuf[0] & 0xffff);
1867 1868 mb_pending = 0;
1868 1869 return 0;
... ... @@ -1876,15 +1877,14 @@ dbcs_process(int ch, unsigned char ebc[])
1876 1877 return 0;
1877 1878 case U_INVALID_CHAR_FOUND:
1878 1879 case U_ILLEGAL_CHAR_FOUND:
1879   - trace_ds("Invalid multi-byte character");
  1880 + trace_ds(&h3270,"Invalid multi-byte character");
1880 1881 trace_pending_mb();
1881   - trace_ds(", dropping\n");
  1882 + trace_ds(&h3270,", dropping\n");
1882 1883 break;
1883 1884 default:
1884   - trace_ds("Unexpected ICU error %d translating multi-type "
1885   - "character", (int)err);
  1885 + trace_ds(&h3270,"Unexpected ICU error %d translating multi-type character", (int)err);
1886 1886 trace_pending_mb();
1887   - trace_ds(", dropping\n");
  1887 + trace_ds(&h3270,", dropping\n");
1888 1888 break;
1889 1889 }
1890 1890 mb_pending = 0;
... ...
ctlr.c
... ... @@ -473,18 +473,18 @@ process_ds(unsigned char *buf, int buflen)
473 473  
474 474 // scroll_to_bottom();
475 475  
476   - trace_ds("< ");
  476 + trace_ds(&h3270,"< ");
477 477  
478 478 switch (buf[0]) { /* 3270 command */
479 479 case CMD_EAU: /* erase all unprotected */
480 480 case SNA_CMD_EAU:
481   - trace_ds("EraseAllUnprotected\n");
  481 + trace_ds(&h3270,"EraseAllUnprotected\n");
482 482 ctlr_erase_all_unprotected(&h3270);
483 483 return PDS_OKAY_NO_OUTPUT;
484 484 break;
485 485 case CMD_EWA: /* erase/write alternate */
486 486 case SNA_CMD_EWA:
487   - trace_ds("EraseWriteAlternate");
  487 + trace_ds(&h3270,"EraseWriteAlternate");
488 488 ctlr_erase(NULL,True);
489 489 if ((rv = ctlr_write(buf, buflen, True)) < 0)
490 490 return rv;
... ... @@ -492,7 +492,7 @@ process_ds(unsigned char *buf, int buflen)
492 492 break;
493 493 case CMD_EW: /* erase/write */
494 494 case SNA_CMD_EW:
495   - trace_ds("EraseWrite");
  495 + trace_ds(&h3270,"EraseWrite");
496 496 ctlr_erase(NULL,False);
497 497 if ((rv = ctlr_write(buf, buflen, True)) < 0)
498 498 return rv;
... ... @@ -500,41 +500,41 @@ process_ds(unsigned char *buf, int buflen)
500 500 break;
501 501 case CMD_W: /* write */
502 502 case SNA_CMD_W:
503   - trace_ds("Write");
  503 + trace_ds(&h3270,"Write");
504 504 if ((rv = ctlr_write(buf, buflen, False)) < 0)
505 505 return rv;
506 506 return PDS_OKAY_NO_OUTPUT;
507 507 break;
508 508 case CMD_RB: /* read buffer */
509 509 case SNA_CMD_RB:
510   - trace_ds("ReadBuffer\n");
  510 + trace_ds(&h3270,"ReadBuffer\n");
511 511 ctlr_read_buffer(&h3270,h3270.aid);
512 512 return PDS_OKAY_OUTPUT;
513 513 break;
514 514 case CMD_RM: /* read modifed */
515 515 case SNA_CMD_RM:
516   - trace_ds("ReadModified\n");
  516 + trace_ds(&h3270,"ReadModified\n");
517 517 ctlr_read_modified(h3270.aid, False);
518 518 return PDS_OKAY_OUTPUT;
519 519 break;
520 520 case CMD_RMA: /* read modifed all */
521 521 case SNA_CMD_RMA:
522   - trace_ds("ReadModifiedAll\n");
  522 + trace_ds(&h3270,"ReadModifiedAll\n");
523 523 ctlr_read_modified(h3270.aid, True);
524 524 return PDS_OKAY_OUTPUT;
525 525 break;
526 526 case CMD_WSF: /* write structured field */
527 527 case SNA_CMD_WSF:
528   - trace_ds("WriteStructuredField");
  528 + trace_ds(&h3270,"WriteStructuredField");
529 529 return write_structured_field(buf, buflen);
530 530 break;
531 531 case CMD_NOP: /* no-op */
532   - trace_ds("NoOp\n");
  532 + trace_ds(&h3270,"NoOp\n");
533 533 return PDS_OKAY_NO_OUTPUT;
534 534 break;
535 535 default:
536 536 /* unknown 3270 command */
537   - popup_an_error(NULL,"Unknown 3270 Data Stream command: 0x%X\n",buf[0]);
  537 + popup_an_error(&h3270,_( "Unknown 3270 Data Stream command: 0x%X" ),buf[0]);
538 538 return PDS_BAD_CMD;
539 539 }
540 540 }
... ... @@ -552,8 +552,8 @@ static void insert_sa1(H3270 *hSession, unsigned char attr, unsigned char value,
552 552 *hSession->obptr++ = attr;
553 553 *hSession->obptr++ = value;
554 554 if (*anyp)
555   - trace_ds("'");
556   - trace_ds(" SetAttribute(%s)", see_efa(attr, value));
  555 + trace_ds(hSession,"'");
  556 + trace_ds(hSession, " SetAttribute(%s)", see_efa(attr, value));
557 557 *anyp = False;
558 558 }
559 559  
... ... @@ -627,7 +627,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
627 627 }
628 628 #endif /*]*/
629 629  
630   - trace_ds("> ");
  630 + trace_ds(&h3270,"> ");
631 631 h3270.obptr = h3270.obuf;
632 632  
633 633 switch (aid_byte) {
... ... @@ -638,7 +638,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
638 638 *h3270.obptr++ = 0x5b; /* % */
639 639 *h3270.obptr++ = 0x61; /* / */
640 640 *h3270.obptr++ = 0x02; /* stx */
641   - trace_ds("SYSREQ");
  641 + trace_ds(&h3270,"SYSREQ");
642 642 break;
643 643  
644 644 case AID_PA1: /* short-read AIDs */
... ... @@ -658,11 +658,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
658 658 if (!IN_SSCP) {
659 659 space3270out(&h3270,3);
660 660 *h3270.obptr++ = aid_byte;
661   - trace_ds("%s",see_aid(aid_byte));
  661 + trace_ds(&h3270,"%s",see_aid(aid_byte));
662 662 if (short_read)
663 663 goto rm_done;
664 664 ENCODE_BADDR(h3270.obptr, h3270.cursor_addr);
665   - trace_ds("%s",rcba(&h3270,h3270.cursor_addr));
  665 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.cursor_addr));
666 666 } else {
667 667 space3270out(&h3270,1); /* just in case */
668 668 }
... ... @@ -686,7 +686,7 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
686 686 space3270out(&h3270,3);
687 687 *h3270.obptr++ = ORDER_SBA;
688 688 ENCODE_BADDR(h3270.obptr, baddr);
689   - trace_ds(" SetBufferAddress%s (Cols: %d Rows: %d)", rcba(&h3270,baddr), h3270.cols, h3270.rows);
  689 + trace_ds(&h3270," SetBufferAddress%s (Cols: %d Rows: %d)", rcba(&h3270,baddr), h3270.cols, h3270.rows);
690 690 while (!h3270.ea_buf[baddr].fa) {
691 691  
692 692 if (send_data &&
... ... @@ -696,21 +696,21 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
696 696 space3270out(&h3270,1);
697 697 *h3270.obptr++ = ORDER_GE;
698 698 if (any)
699   - trace_ds("'");
700   - trace_ds(" GraphicEscape");
  699 + trace_ds(&h3270,"'");
  700 + trace_ds(&h3270," GraphicEscape");
701 701 any = False;
702 702 }
703 703 space3270out(&h3270,1);
704 704 *h3270.obptr++ = h3270.ea_buf[baddr].cc;
705 705 if (!any)
706   - trace_ds(" '");
707   - trace_ds("%s",see_ebc(h3270.ea_buf[baddr].cc));
  706 + trace_ds(&h3270," '");
  707 + trace_ds(&h3270,"%s",see_ebc(h3270.ea_buf[baddr].cc));
708 708 any = True;
709 709 }
710 710 INC_BA(baddr);
711 711 }
712 712 if (any)
713   - trace_ds("'");
  713 + trace_ds(&h3270,"'");
714 714 }
715 715 else { /* not modified - skip */
716 716 do {
... ... @@ -736,15 +736,15 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
736 736 space3270out(&h3270,1);
737 737 *h3270.obptr++ = ORDER_GE;
738 738 if (any)
739   - trace_ds("' ");
740   - trace_ds(" GraphicEscape ");
  739 + trace_ds(&h3270,"' ");
  740 + trace_ds(&h3270," GraphicEscape ");
741 741 any = False;
742 742 }
743 743 space3270out(&h3270,1);
744 744 *h3270.obptr++ = h3270.ea_buf[baddr].cc;
745 745 if (!any)
746   - trace_ds("%s","'");
747   - trace_ds("%s",see_ebc(h3270.ea_buf[baddr].cc));
  746 + trace_ds(&h3270,"%s","'");
  747 + trace_ds(&h3270,"%s",see_ebc(h3270.ea_buf[baddr].cc));
748 748 any = True;
749 749 nbytes++;
750 750 }
... ... @@ -758,11 +758,11 @@ ctlr_read_modified(unsigned char aid_byte, Boolean all)
758 758 break;
759 759 } while (baddr != 0);
760 760 if (any)
761   - trace_ds("'");
  761 + trace_ds(&h3270,"'");
762 762 }
763 763  
764 764 rm_done:
765   - trace_ds("\n");
  765 + trace_ds(&h3270,"\n");
766 766 net_output(&h3270);
767 767 }
768 768  
... ... @@ -788,13 +788,13 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
788 788 }
789 789 #endif /*]*/
790 790  
791   - trace_ds("> ");
  791 + trace_ds(&h3270,"> ");
792 792 hSession->obptr = hSession->obuf;
793 793  
794 794 space3270out(hSession,3);
795 795 *hSession->obptr++ = aid_byte;
796 796 ENCODE_BADDR(hSession->obptr, hSession->cursor_addr);
797   - trace_ds("%s%s", see_aid(aid_byte), rcba(hSession,hSession->cursor_addr));
  797 + trace_ds(&h3270,"%s%s", see_aid(aid_byte), rcba(hSession,hSession->cursor_addr));
798 798  
799 799 baddr = 0;
800 800 do {
... ... @@ -817,8 +817,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
817 817 *hSession->obptr++ = code_table[fa];
818 818  
819 819 if (any)
820   - trace_ds("'");
821   - trace_ds(" StartField%s%s%s",
  820 + trace_ds(hSession,"'");
  821 + trace_ds(hSession," StartField%s%s%s",
822 822 (hSession->reply_mode == SF_SRM_FIELD) ? "" : "Extended",
823 823 rcba(hSession,baddr), see_attr(fa));
824 824  
... ... @@ -828,21 +828,21 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
828 828 space3270out(hSession,2);
829 829 *hSession->obptr++ = XA_FOREGROUND;
830 830 *hSession->obptr++ = hSession->ea_buf[baddr].fg;
831   - trace_ds("%s", see_efa(XA_FOREGROUND, hSession->ea_buf[baddr].fg));
  831 + trace_ds(hSession,"%s", see_efa(XA_FOREGROUND, hSession->ea_buf[baddr].fg));
832 832 (*(hSession->obuf + attr_count))++;
833 833 }
834 834 if (hSession->ea_buf[baddr].bg) {
835 835 space3270out(hSession,2);
836 836 *hSession->obptr++ = XA_BACKGROUND;
837 837 *hSession->obptr++ = hSession->ea_buf[baddr].bg;
838   - trace_ds("%s", see_efa(XA_BACKGROUND, hSession->ea_buf[baddr].bg));
  838 + trace_ds(hSession,"%s", see_efa(XA_BACKGROUND, hSession->ea_buf[baddr].bg));
839 839 (*(hSession->obuf + attr_count))++;
840 840 }
841 841 if (hSession->ea_buf[baddr].gr) {
842 842 space3270out(hSession,2);
843 843 *hSession->obptr++ = XA_HIGHLIGHTING;
844 844 *hSession->obptr++ = hSession->ea_buf[baddr].gr | 0xf0;
845   - trace_ds("%s", see_efa(XA_HIGHLIGHTING,
  845 + trace_ds(hSession,"%s", see_efa(XA_HIGHLIGHTING,
846 846 hSession->ea_buf[baddr].gr | 0xf0));
847 847 (*(hSession->obuf + attr_count))++;
848 848 }
... ... @@ -850,7 +850,7 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
850 850 space3270out(hSession,2);
851 851 *hSession->obptr++ = XA_CHARSET;
852 852 *hSession->obptr++ = host_cs(hSession->ea_buf[baddr].cs);
853   - trace_ds("%s", see_efa(XA_CHARSET,host_cs(hSession->ea_buf[baddr].cs)));
  853 + trace_ds(hSession,"%s", see_efa(XA_CHARSET,host_cs(hSession->ea_buf[baddr].cs)));
854 854 (*(hSession->obuf + attr_count))++;
855 855 }
856 856 }
... ... @@ -861,8 +861,8 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
861 861 space3270out(hSession,1);
862 862 *hSession->obptr++ = ORDER_GE;
863 863 if (any)
864   - trace_ds("'");
865   - trace_ds(" GraphicEscape");
  864 + trace_ds(hSession,"'");
  865 + trace_ds(hSession," GraphicEscape");
866 866 any = False;
867 867 }
868 868 space3270out(hSession,1);
... ... @@ -870,23 +870,23 @@ void ctlr_read_buffer(H3270 *hSession, unsigned char aid_byte)
870 870 if (hSession->ea_buf[baddr].cc <= 0x3f ||
871 871 hSession->ea_buf[baddr].cc == 0xff) {
872 872 if (any)
873   - trace_ds("'");
  873 + trace_ds(hSession,"'");
874 874  
875   - trace_ds(" %s", see_ebc(hSession->ea_buf[baddr].cc));
  875 + trace_ds(hSession," %s", see_ebc(hSession->ea_buf[baddr].cc));
876 876 any = False;
877 877 } else {
878 878 if (!any)
879   - trace_ds(" '");
880   - trace_ds("%s", see_ebc(hSession->ea_buf[baddr].cc));
  879 + trace_ds(hSession," '");
  880 + trace_ds(hSession,"%s", see_ebc(hSession->ea_buf[baddr].cc));
881 881 any = True;
882 882 }
883 883 }
884 884 INC_BA(baddr);
885 885 } while (baddr != 0);
886 886 if (any)
887   - trace_ds("'");
  887 + trace_ds(hSession,"'");
888 888  
889   - trace_ds("\n");
  889 + trace_ds(hSession,"\n");
890 890 net_output(hSession);
891 891 }
892 892  
... ... @@ -1109,8 +1109,8 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1109 1109 char mb[16];
1110 1110 #endif /*]*/
1111 1111  
1112   -#define END_TEXT0 { if (previous == TEXT) trace_ds("'"); }
1113   -#define END_TEXT(cmd) { END_TEXT0; trace_ds(" %s", cmd); }
  1112 +#define END_TEXT0 { if (previous == TEXT) trace_ds(&h3270,"'"); }
  1113 +#define END_TEXT(cmd) { END_TEXT0; trace_ds(&h3270," %s", cmd); }
1114 1114  
1115 1115 /* XXX: Should there be a ctlr_add_cs call here? */
1116 1116 #define START_FIELD(fa) { \
... ... @@ -1121,7 +1121,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1121 1121 ctlr_add_bg(&h3270,h3270.buffer_addr, 0); \
1122 1122 ctlr_add_gr(&h3270,h3270.buffer_addr, 0); \
1123 1123 ctlr_add_ic(&h3270,h3270.buffer_addr, 0); \
1124   - trace_ds("%s",see_attr(fa)); \
  1124 + trace_ds(&h3270,"%s",see_attr(fa)); \
1125 1125 h3270.formatted = True; \
1126 1126 }
1127 1127  
... ... @@ -1141,24 +1141,24 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1141 1141 if (WCC_RESET(buf[1])) {
1142 1142 if (erase)
1143 1143 h3270.reply_mode = SF_SRM_FIELD;
1144   - trace_ds("%sreset", paren);
  1144 + trace_ds(&h3270,"%sreset", paren);
1145 1145 paren = ",";
1146 1146 }
1147 1147 wcc_sound_alarm = WCC_SOUND_ALARM(buf[1]);
1148 1148 if (wcc_sound_alarm) {
1149   - trace_ds("%salarm", paren);
  1149 + trace_ds(&h3270,"%salarm", paren);
1150 1150 paren = ",";
1151 1151 }
1152 1152 wcc_keyboard_restore = WCC_KEYBOARD_RESTORE(buf[1]);
1153 1153 if (wcc_keyboard_restore)
1154 1154 ticking_stop(NULL);
1155 1155 if (wcc_keyboard_restore) {
1156   - trace_ds("%srestore", paren);
  1156 + trace_ds(&h3270,"%srestore", paren);
1157 1157 paren = ",";
1158 1158 }
1159 1159  
1160 1160 if (WCC_RESET_MDT(buf[1])) {
1161   - trace_ds("%sresetMDT", paren);
  1161 + trace_ds(&h3270,"%sresetMDT", paren);
1162 1162 paren = ",";
1163 1163 baddr = 0;
1164 1164 if (h3270.modified_sel)
... ... @@ -1171,7 +1171,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1171 1171 } while (baddr != 0);
1172 1172 }
1173 1173 if (strcmp(paren, "("))
1174   - trace_ds(")");
  1174 + trace_ds(&h3270,")");
1175 1175  
1176 1176 last_cmd = True;
1177 1177 last_zpt = False;
... ... @@ -1183,7 +1183,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1183 1183 break; \
1184 1184 }
1185 1185 #define ABORT_WRITE(s) { \
1186   - trace_ds(" [" s "; write aborted]\n"); \
  1186 + trace_ds(&h3270," [" s "; write aborted]\n"); \
1187 1187 ABORT_WRITEx; \
1188 1188 } \
1189 1189  
... ... @@ -1192,7 +1192,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1192 1192 case ORDER_SF: /* start field */
1193 1193 END_TEXT("StartField");
1194 1194 if (previous != SBA)
1195   - trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
  1195 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1196 1196 previous = ORDER;
1197 1197 cp++; /* skip field attribute */
1198 1198 START_FIELD(*cp);
... ... @@ -1207,7 +1207,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1207 1207 h3270.buffer_addr = DECODE_BADDR(*(cp-1), *cp);
1208 1208 END_TEXT("SetBufferAddress");
1209 1209 previous = SBA;
1210   - trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
  1210 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1211 1211 if (h3270.buffer_addr >= h3270.cols * h3270.rows)
1212 1212 {
1213 1213 ABORT_WRITE("invalid SBA address");
... ... @@ -1219,7 +1219,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1219 1219 case ORDER_IC: /* insert cursor */
1220 1220 END_TEXT("InsertCursor");
1221 1221 if (previous != SBA)
1222   - trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
  1222 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1223 1223 previous = ORDER;
1224 1224 cursor_move(&h3270,h3270.buffer_addr);
1225 1225 last_cmd = True;
... ... @@ -1255,7 +1255,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1255 1255 * XXX: There's some funky DBCS rule here.
1256 1256 */
1257 1257 if (!last_cmd || last_zpt) {
1258   - trace_ds("(nulling)");
  1258 + trace_ds(&h3270,"(nulling)");
1259 1259 while ((h3270.buffer_addr != baddr) &&
1260 1260 (!h3270.ea_buf[h3270.buffer_addr].fa)) {
1261 1261 ctlr_add(&h3270,h3270.buffer_addr, EBC_null, 0);
... ... @@ -1277,7 +1277,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1277 1277 END_TEXT("RepeatToAddress");
1278 1278 cp += 2; /* skip buffer address */
1279 1279 baddr = DECODE_BADDR(*(cp-1), *cp);
1280   - trace_ds("%s",rcba(&h3270,baddr));
  1280 + trace_ds(&h3270,"%s",rcba(&h3270,baddr));
1281 1281 cp++; /* skip char to repeat */
1282 1282 add_dbcs = False;
1283 1283 ra_ge = False;
... ... @@ -1313,32 +1313,30 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1313 1313 case EBC_fm:
1314 1314 break;
1315 1315 default:
1316   - trace_ds(" [invalid DBCS RA control character X'%02x%02x'; write aborted]",
1317   - add_c1, add_c2);
  1316 + trace_ds(&h3270," [invalid DBCS RA control character X'%02x%02x'; write aborted]",add_c1, add_c2);
1318 1317 ABORT_WRITEx;
1319 1318 }
1320 1319 } else if (add_c1 < 0x40 || add_c1 > 0xfe ||
1321 1320 add_c2 < 0x40 || add_c2 > 0xfe) {
1322   - trace_ds(" [invalid DBCS RA character X'%02x%02x'; write aborted]",
1323   - add_c1, add_c2);
  1321 + trace_ds(&h3270," [invalid DBCS RA character X'%02x%02x'; write aborted]",add_c1, add_c2);
1324 1322 ABORT_WRITEx;
1325 1323 }
1326 1324 dbcs_to_mb(add_c1, add_c2, mb);
1327   - trace_ds_nb("'%s'", mb);
  1325 + trace_ds_nb(&h3270,"'%s'", mb);
1328 1326 } else
1329 1327 #endif /*]*/
1330 1328 {
1331 1329 if (*cp == ORDER_GE) {
1332 1330 ra_ge = True;
1333   - trace_ds("GraphicEscape");
  1331 + trace_ds(&h3270,"GraphicEscape");
1334 1332 cp++;
1335 1333 }
1336 1334 add_c1 = *cp;
1337 1335 if (add_c1)
1338   - trace_ds("'");
1339   - trace_ds("%s", see_ebc(add_c1));
  1336 + trace_ds(&h3270,"'");
  1337 + trace_ds(&h3270,"%s", see_ebc(add_c1));
1340 1338 if (add_c1)
1341   - trace_ds("'");
  1339 + trace_ds(&h3270,"'");
1342 1340 }
1343 1341 if (baddr >= h3270.cols * h3270.rows) {
1344 1342 ABORT_WRITE("invalid RA address");
... ... @@ -1376,7 +1374,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1376 1374 baddr = DECODE_BADDR(*(cp-1), *cp);
1377 1375 END_TEXT("EraseUnprotectedAll");
1378 1376 if (previous != SBA)
1379   - trace_ds("%s",rcba(&h3270,baddr));
  1377 + trace_ds(&h3270,"%s",rcba(&h3270,baddr));
1380 1378 previous = ORDER;
1381 1379 if (baddr >= h3270.cols * h3270.rows) {
1382 1380 ABORT_WRITE("invalid EUA address");
... ... @@ -1408,10 +1406,10 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1408 1406 cp++; /* skip char */
1409 1407 previous = ORDER;
1410 1408 if (*cp)
1411   - trace_ds("'");
1412   - trace_ds("%s", see_ebc(*cp));
  1409 + trace_ds(&h3270,"'");
  1410 + trace_ds(&h3270,"%s", see_ebc(*cp));
1413 1411 if (*cp)
1414   - trace_ds("'");
  1412 + trace_ds(&h3270,"'");
1415 1413 ctlr_add(&h3270,h3270.buffer_addr, *cp, CS_GE);
1416 1414 ctlr_add_fg(&h3270,h3270.buffer_addr, h3270.default_fg);
1417 1415 ctlr_add_bg(&h3270,h3270.buffer_addr, h3270.default_bg);
... ... @@ -1425,7 +1423,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1425 1423 case ORDER_MF: /* modify field */
1426 1424 END_TEXT("ModifyField");
1427 1425 if (previous != SBA)
1428   - trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
  1426 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1429 1427 previous = ORDER;
1430 1428 cp++;
1431 1429 na = *cp;
... ... @@ -1433,37 +1431,29 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1433 1431 for (i = 0; i < (int)na; i++) {
1434 1432 cp++;
1435 1433 if (*cp == XA_3270) {
1436   - trace_ds(" 3270");
  1434 + trace_ds(&h3270," 3270");
1437 1435 cp++;
1438 1436 ctlr_add_fa(&h3270,h3270.buffer_addr, *cp,
1439 1437 h3270.ea_buf[h3270.buffer_addr].cs);
1440   - trace_ds("%s",see_attr(*cp));
  1438 + trace_ds(&h3270,"%s",see_attr(*cp));
1441 1439 } else if (*cp == XA_FOREGROUND) {
1442   - trace_ds("%s",
1443   - see_efa(*cp,
1444   - *(cp + 1)));
  1440 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1445 1441 cp++;
1446 1442 if (h3270.m3279)
1447 1443 ctlr_add_fg(&h3270,h3270.buffer_addr, *cp);
1448 1444 } else if (*cp == XA_BACKGROUND) {
1449   - trace_ds("%s",
1450   - see_efa(*cp,
1451   - *(cp + 1)));
  1445 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1452 1446 cp++;
1453 1447 if (h3270.m3279)
1454 1448 ctlr_add_bg(&h3270,h3270.buffer_addr, *cp);
1455 1449 } else if (*cp == XA_HIGHLIGHTING) {
1456   - trace_ds("%s",
1457   - see_efa(*cp,
1458   - *(cp + 1)));
  1450 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1459 1451 cp++;
1460 1452 ctlr_add_gr(&h3270,h3270.buffer_addr, *cp & 0x0f);
1461 1453 } else if (*cp == XA_CHARSET) {
1462 1454 int cs = 0;
1463 1455  
1464   - trace_ds("%s",
1465   - see_efa(*cp,
1466   - *(cp + 1)));
  1456 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1467 1457 cp++;
1468 1458 if (*cp == 0xf1)
1469 1459 cs = CS_APL;
... ... @@ -1471,19 +1461,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1471 1461 cs = CS_DBCS;
1472 1462 ctlr_add_cs(&h3270,h3270.buffer_addr, cs);
1473 1463 } else if (*cp == XA_ALL) {
1474   - trace_ds("%s",
1475   - see_efa(*cp,
1476   - *(cp + 1)));
  1464 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1477 1465 cp++;
1478 1466 } else if (*cp == XA_INPUT_CONTROL) {
1479   - trace_ds("%s",
1480   - see_efa(*cp,
1481   - *(cp + 1)));
  1467 + trace_ds(&h3270,"%s",see_efa(*cp,*(cp + 1)));
1482 1468 ctlr_add_ic(&h3270,h3270.buffer_addr,
1483 1469 (*(cp + 1) == 1));
1484 1470 cp++;
1485 1471 } else {
1486   - trace_ds("%s[unsupported]", see_efa(*cp, *(cp + 1)));
  1472 + trace_ds(&h3270,"%s[unsupported]", see_efa(*cp, *(cp + 1)));
1487 1473 cp++;
1488 1474 }
1489 1475 }
... ... @@ -1496,7 +1482,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1496 1482 case ORDER_SFE: /* start field extended */
1497 1483 END_TEXT("StartFieldExtended");
1498 1484 if (previous != SBA)
1499   - trace_ds("%s",rcba(&h3270,h3270.buffer_addr));
  1485 + trace_ds(&h3270,"%s",rcba(&h3270,h3270.buffer_addr));
1500 1486 previous = ORDER;
1501 1487 cp++; /* skip order */
1502 1488 na = *cp;
... ... @@ -1509,26 +1495,26 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1509 1495 for (i = 0; i < (int)na; i++) {
1510 1496 cp++;
1511 1497 if (*cp == XA_3270) {
1512   - trace_ds(" 3270");
  1498 + trace_ds(&h3270," 3270");
1513 1499 cp++;
1514 1500 START_FIELD(*cp);
1515 1501 any_fa++;
1516 1502 } else if (*cp == XA_FOREGROUND) {
1517   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1503 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1518 1504 cp++;
1519 1505 if (h3270.m3279)
1520 1506 efa_fg = *cp;
1521 1507 } else if (*cp == XA_BACKGROUND) {
1522   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1508 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1523 1509 cp++;
1524 1510 if (h3270.m3279)
1525 1511 efa_bg = *cp;
1526 1512 } else if (*cp == XA_HIGHLIGHTING) {
1527   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1513 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1528 1514 cp++;
1529 1515 efa_gr = *cp & 0x07;
1530 1516 } else if (*cp == XA_CHARSET) {
1531   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1517 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1532 1518 cp++;
1533 1519 if (*cp == 0xf1)
1534 1520 efa_cs = CS_APL;
... ... @@ -1537,15 +1523,15 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1537 1523 else
1538 1524 efa_cs = CS_BASE;
1539 1525 } else if (*cp == XA_ALL) {
1540   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1526 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1541 1527 cp++;
1542 1528 } else if (*cp == XA_INPUT_CONTROL) {
1543   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1529 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1544 1530 if (h3270.dbcs)
1545 1531 efa_ic = (*(cp + 1) == 1);
1546 1532 cp++;
1547 1533 } else {
1548   - trace_ds("%s[unsupported]", see_efa(*cp, *(cp + 1)));
  1534 + trace_ds(&h3270,"%s[unsupported]", see_efa(*cp, *(cp + 1)));
1549 1535 cp++;
1550 1536 }
1551 1537 }
... ... @@ -1565,25 +1551,25 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1565 1551 previous = ORDER;
1566 1552 cp++;
1567 1553 if (*cp == XA_FOREGROUND) {
1568   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1554 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1569 1555 if (h3270.m3279)
1570 1556 h3270.default_fg = *(cp + 1);
1571 1557 } else if (*cp == XA_BACKGROUND) {
1572   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1558 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1573 1559 if (h3270.m3279)
1574 1560 h3270.default_bg = *(cp + 1);
1575 1561 } else if (*cp == XA_HIGHLIGHTING) {
1576   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1562 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1577 1563 h3270.default_gr = *(cp + 1) & 0x0f;
1578 1564 } else if (*cp == XA_ALL) {
1579   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1565 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1580 1566 h3270.default_fg = 0;
1581 1567 h3270.default_bg = 0;
1582 1568 h3270.default_gr = 0;
1583 1569 h3270.default_cs = 0;
1584 1570 h3270.default_ic = 0;
1585 1571 } else if (*cp == XA_CHARSET) {
1586   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1572 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1587 1573 switch (*(cp + 1)) {
1588 1574 case 0xf1:
1589 1575 h3270.default_cs = CS_APL;
... ... @@ -1596,14 +1582,13 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1596 1582 break;
1597 1583 }
1598 1584 } else if (*cp == XA_INPUT_CONTROL) {
1599   - trace_ds("%s", see_efa(*cp, *(cp + 1)));
  1585 + trace_ds(&h3270,"%s", see_efa(*cp, *(cp + 1)));
1600 1586 if (*(cp + 1) == 1)
1601 1587 h3270.default_ic = 1;
1602 1588 else
1603 1589 h3270.default_ic = 0;
1604 1590 } else
1605   - trace_ds("%s[unsupported]",
1606   - see_efa(*cp, *(cp + 1)));
  1591 + trace_ds(&h3270,"%s[unsupported]",see_efa(*cp, *(cp + 1)));
1607 1592 cp++;
1608 1593 last_cmd = True;
1609 1594 last_zpt = False;
... ... @@ -1727,8 +1712,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1727 1712 cp--;
1728 1713 break;
1729 1714 default:
1730   - trace_ds(" [invalid DBCS control character X'%02x%02x'; write aborted]",
1731   - add_c1, add_c2);
  1715 + trace_ds(&h3270," [invalid DBCS control character X'%02x%02x'; write aborted]",add_c1, add_c2);
1732 1716 ABORT_WRITEx;
1733 1717 break;
1734 1718 }
... ... @@ -1758,14 +1742,14 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1758 1742 default: /* enter character */
1759 1743 if (*cp <= 0x3F) {
1760 1744 END_TEXT("UnsupportedOrder");
1761   - trace_ds("(%02X)", *cp);
  1745 + trace_ds(&h3270,"(%02X)", *cp);
1762 1746 previous = ORDER;
1763 1747 last_cmd = True;
1764 1748 last_zpt = False;
1765 1749 break;
1766 1750 }
1767 1751 if (previous != TEXT)
1768   - trace_ds(" '");
  1752 + trace_ds(&h3270," '");
1769 1753 previous = TEXT;
1770 1754 #if defined(X3270_DBCS) /*[*/
1771 1755 add_dbcs = False;
... ... @@ -1782,8 +1766,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1782 1766 add_c2 = *cp;
1783 1767 if (add_c1 < 0x40 || add_c1 > 0xfe ||
1784 1768 add_c2 < 0x40 || add_c2 > 0xfe) {
1785   - trace_ds(" [invalid DBCS character X'%02x%02x'; write aborted]",
1786   - add_c1, add_c2);
  1769 + trace_ds(&h3270," [invalid DBCS character X'%02x%02x'; write aborted]",add_c1, add_c2);
1787 1770 ABORT_WRITEx;
1788 1771 }
1789 1772 add_dbcs = True;
... ... @@ -1792,7 +1775,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1792 1775 } else {
1793 1776 #endif /*]*/
1794 1777 add_c1 = *cp;
1795   - trace_ds("%s", see_ebc(*cp));
  1778 + trace_ds(&h3270,"%s", see_ebc(*cp));
1796 1779 #if defined(X3270_DBCS) /*[*/
1797 1780 }
1798 1781 #endif /*]*/
... ... @@ -1819,7 +1802,7 @@ ctlr_write(unsigned char buf[], int buflen, Boolean erase)
1819 1802 }
1820 1803 set_formatted(&h3270);
1821 1804 END_TEXT0;
1822   - trace_ds("\n");
  1805 + trace_ds(&h3270,"\n");
1823 1806 if (wcc_keyboard_restore) {
1824 1807 h3270.aid = AID_NO;
1825 1808 do_reset(&h3270,False);
... ... @@ -1872,7 +1855,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1872 1855 * we display other control codes as spaces.
1873 1856 */
1874 1857  
1875   - trace_ds("SSCP-LU data\n");
  1858 + trace_ds(&h3270,"SSCP-LU data\n");
1876 1859 for (i = 0; i < buflen; cp++, i++) {
1877 1860 switch (*cp) {
1878 1861 case FCORDER_NL:
... ... @@ -1896,7 +1879,7 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1896 1879 /* Some hosts forget they're talking SSCP-LU. */
1897 1880 cp++;
1898 1881 i++;
1899   - trace_ds(" StartField%s %s [translated to space]\n",rcba(hSession,hSession->buffer_addr), see_attr(*cp));
  1882 + trace_ds(&h3270," StartField%s %s [translated to space]\n",rcba(hSession,hSession->buffer_addr), see_attr(*cp));
1900 1883 ctlr_add(hSession,hSession->buffer_addr, EBC_space, hSession->default_cs);
1901 1884 ctlr_add_fg(hSession,hSession->buffer_addr, hSession->default_fg);
1902 1885 ctlr_add_bg(hSession,hSession->buffer_addr, hSession->default_bg);
... ... @@ -1906,12 +1889,12 @@ void ctlr_write_sscp_lu(H3270 *hSession, unsigned char buf[], int buflen)
1906 1889 break;
1907 1890  
1908 1891 case ORDER_IC:
1909   - trace_ds(" InsertCursor%s [ignored]\n",rcba(hSession,hSession->buffer_addr));
  1892 + trace_ds(&h3270," InsertCursor%s [ignored]\n",rcba(hSession,hSession->buffer_addr));
1910 1893 break;
1911 1894  
1912 1895 case ORDER_SBA:
1913 1896 // baddr = DECODE_BADDR(*(cp+1), *(cp+2));
1914   - trace_ds(" SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2))));
  1897 + trace_ds(&h3270," SetBufferAddress%s [ignored]\n", rcba(hSession,DECODE_BADDR(*(cp+1), *(cp+2))));
1915 1898 cp += 2;
1916 1899 i += 2;
1917 1900 break;
... ... @@ -2130,8 +2113,7 @@ ctlr_dbcs_postprocess(void)
2130 2113 case EBC_so:
2131 2114 /* Two SO's or SO in DBCS field are invalid. */
2132 2115 if (so || dbcs_field) {
2133   - trace_ds("DBCS postprocess: invalid SO "
2134   - "found at %s\n", rcba(baddr));
  2116 + trace_ds(&h3270,"DBCS postprocess: invalid SO found at %s\n", rcba(baddr));
2135 2117 rc = -1;
2136 2118 } else {
2137 2119 dbaddr = baddr;
... ... @@ -2144,8 +2126,7 @@ ctlr_dbcs_postprocess(void)
2144 2126 case EBC_si:
2145 2127 /* Two SI's or SI in DBCS field are invalid. */
2146 2128 if (si || dbcs_field) {
2147   - trace_ds("Postprocess: Invalid SO found "
2148   - "at %s\n", rcba(baddr));
  2129 + trace_ds(&h3270,"Postprocess: Invalid SO found at %s\n", rcba(baddr));
2149 2130 rc = -1;
2150 2131 ea_buf[baddr].db = DBCS_NONE;
2151 2132 } else {
... ... @@ -2158,9 +2139,7 @@ ctlr_dbcs_postprocess(void)
2158 2139 default:
2159 2140 /* Non-base CS in DBCS subfield is invalid. */
2160 2141 if (so && ea_buf[baddr].cs != CS_BASE) {
2161   - trace_ds("DBCS postprocess: invalid "
2162   - "character set found at %s\n",
2163   - rcba(baddr));
  2142 + trace_ds(&h3270,"DBCS postprocess: invalid character set found at %s\n",rcba(baddr));
2164 2143 rc = -1;
2165 2144 ea_buf[baddr].cs = CS_BASE;
2166 2145 }
... ... @@ -2211,8 +2190,7 @@ ctlr_dbcs_postprocess(void)
2211 2190 !IS_RIGHT(ea_buf[baddr].db) &&
2212 2191 ea_buf[pbaddr].db != DBCS_DEAD) {
2213 2192 if (!ea_buf[baddr].fa) {
2214   - trace_ds("DBCS postprocess: dead position "
2215   - "at %s\n", rcba(pbaddr));
  2193 + trace_ds(&h3270,"DBCS postprocess: dead position at %s\n", rcba(pbaddr));
2216 2194 rc = -1;
2217 2195 }
2218 2196 ea_buf[pbaddr].cc = EBC_null;
... ...
ft_cut.c
... ... @@ -288,7 +288,7 @@ ft_cut_data(void)
288 288 cut_data();
289 289 break;
290 290 default:
291   - trace_ds("< FT unknown 0x%02x\n", h3270.ea_buf[O_FRAME_TYPE].cc);
  291 + trace_ds(&h3270,"< FT unknown 0x%02x\n", h3270.ea_buf[O_FRAME_TYPE].cc);
292 292 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown frame type from host"));
293 293 break;
294 294 }
... ... @@ -305,12 +305,12 @@ cut_control_code(void)
305 305 char *bp;
306 306 int i;
307 307  
308   - trace_ds("< FT CONTROL_CODE ");
  308 + trace_ds(&h3270,"< FT CONTROL_CODE ");
309 309 code = (h3270.ea_buf[O_CC_STATUS_CODE].cc << 8) | h3270.ea_buf[O_CC_STATUS_CODE + 1].cc;
310 310 switch (code)
311 311 {
312 312 case SC_HOST_ACK:
313   - trace_ds("HOST_ACK\n");
  313 + trace_ds(&h3270,"HOST_ACK\n");
314 314 cut_xfer_in_progress = True;
315 315 expanded_length = 0;
316 316 quadrant = -1;
... ... @@ -320,7 +320,7 @@ cut_control_code(void)
320 320 break;
321 321  
322 322 case SC_XFER_COMPLETE:
323   - trace_ds("XFER_COMPLETE\n");
  323 + trace_ds(&h3270,"XFER_COMPLETE\n");
324 324 cut_ack();
325 325 cut_xfer_in_progress = False;
326 326 ft_complete(NULL,N_( "Complete" ) );
... ... @@ -328,7 +328,7 @@ cut_control_code(void)
328 328  
329 329 case SC_ABORT_FILE:
330 330 case SC_ABORT_XMIT:
331   - trace_ds("ABORT\n");
  331 + trace_ds(&h3270,"ABORT\n");
332 332 cut_xfer_in_progress = False;
333 333 cut_ack();
334 334  
... ... @@ -363,7 +363,7 @@ cut_control_code(void)
363 363 break;
364 364  
365 365 default:
366   - trace_ds("unknown 0x%04x\n", code);
  366 + trace_ds(&h3270,"unknown 0x%04x\n", code);
367 367 cut_abort(SC_ABORT_XMIT, "%s", _("Unknown FT control code from host"));
368 368 break;
369 369 }
... ... @@ -382,7 +382,7 @@ cut_data_request(void)
382 382 int i;
383 383 unsigned char attr;
384 384  
385   - trace_ds("< FT DATA_REQUEST %u\n", from6(seq));
  385 + trace_ds(&h3270,"< FT DATA_REQUEST %u\n", from6(seq));
386 386 if (lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT)
387 387 {
388 388 cut_abort(SC_ABORT_FILE,"%s",N_("Transfer cancelled by user"));
... ... @@ -431,7 +431,7 @@ cut_data_request(void)
431 431 ctlr_add_fa(&h3270,O_DR_SF, attr, 0);
432 432  
433 433 /* Send it up to the host. */
434   - trace_ds("> FT DATA %u\n", from6(seq));
  434 + trace_ds(&h3270,"> FT DATA %u\n", from6(seq));
435 435 ft_update_length(NULL);
436 436 expanded_length += count;
437 437  
... ... @@ -444,7 +444,7 @@ cut_data_request(void)
444 444 static void
445 445 cut_retransmit(void)
446 446 {
447   - trace_ds("< FT RETRANSMIT\n");
  447 + trace_ds(&h3270,"< FT RETRANSMIT\n");
448 448 cut_abort(SC_ABORT_XMIT,"%s",_("Transmission error"));
449 449 }
450 450  
... ... @@ -474,7 +474,7 @@ cut_data(void)
474 474 int conv_length;
475 475 register int i;
476 476  
477   - trace_ds("< FT DATA\n");
  477 + trace_ds(&h3270,"< FT DATA\n");
478 478 if (((H3270FT *) h3270.ft)->state == LIB3270_FT_STATE_ABORT_WAIT)
479 479 {
480 480 cut_abort(SC_ABORT_FILE,"%s",_("Transfer cancelled by user"));
... ... @@ -492,7 +492,7 @@ cut_data(void)
492 492 cvbuf[i] = h3270.ea_buf[O_DT_DATA + i].cc;
493 493  
494 494 if (raw_length == 2 && cvbuf[0] == EOF_DATA1 && cvbuf[1] == EOF_DATA2) {
495   - trace_ds("< FT EOF\n");
  495 + trace_ds(&h3270,"< FT EOF\n");
496 496 cut_ack();
497 497 return;
498 498 }
... ... @@ -515,7 +515,7 @@ cut_data(void)
515 515 */
516 516 static void cut_ack(void)
517 517 {
518   - trace_ds("> FT ACK\n");
  518 + trace_ds(&h3270,"> FT ACK\n");
519 519 lib3270_enter(&h3270);
520 520 }
521 521  
... ... @@ -539,7 +539,7 @@ static void cut_abort(unsigned short reason, const char *fmt, ...)
539 539 ctlr_add(&h3270,RO_FRAME_SEQ, h3270.ea_buf[O_DT_FRAME_SEQ].cc, 0);
540 540 ctlr_add(&h3270,RO_REASON_CODE, HIGH8(reason), 0);
541 541 ctlr_add(&h3270,RO_REASON_CODE+1, LOW8(reason), 0);
542   - trace_ds("> FT CONTROL_CODE ABORT\n");
  542 + trace_ds(&h3270,"> FT CONTROL_CODE ABORT\n");
543 543  
544 544 lib3270_pfkey(&h3270,2);
545 545  
... ...
ft_dft.c
... ... @@ -108,7 +108,7 @@ ft_dft_data(unsigned char *data, int length unused)
108 108  
109 109 if (lib3270_get_ft_state(&h3270) == FT_NONE)
110 110 {
111   - trace_ds(" (no transfer in progress)\n");
  111 + trace_ds(&h3270," (no transfer in progress)\n");
112 112 return;
113 113 }
114 114  
... ... @@ -141,7 +141,7 @@ ft_dft_data(unsigned char *data, int length unused)
141 141 dft_close_request();
142 142 break;
143 143 default:
144   - trace_ds(" Unsupported(0x%04x)\n", data_type);
  144 + trace_ds(&h3270," Unsupported(0x%04x)\n", data_type);
145 145 break;
146 146 }
147 147 }
... ... @@ -175,9 +175,9 @@ dft_open_request(unsigned short len, unsigned char *cp)
175 175 *s-- = '\0';
176 176 }
177 177 if (recsz) {
178   - trace_ds(" Open('%s',recsz=%u)\n", namebuf, recsz);
  178 + trace_ds(&h3270," Open('%s',recsz=%u)\n", namebuf, recsz);
179 179 } else {
180   - trace_ds(" Open('%s')\n", namebuf);
  180 + trace_ds(&h3270," Open('%s')\n", namebuf);
181 181 }
182 182  
183 183 if (!strcmp(namebuf, OPEN_MSG))
... ... @@ -190,7 +190,7 @@ dft_open_request(unsigned short len, unsigned char *cp)
190 190 recnum = 1;
191 191  
192 192 /* Acknowledge the Open. */
193   - trace_ds("> WriteStructuredField FileTransferData OpenAck\n");
  193 + trace_ds(&h3270,"> WriteStructuredField FileTransferData OpenAck\n");
194 194 h3270.obptr = h3270.obuf;
195 195 space3270out(&h3270,6);
196 196 *h3270.obptr++ = AID_SF;
... ... @@ -204,7 +204,7 @@ dft_open_request(unsigned short len, unsigned char *cp)
204 204 static void
205 205 dft_insert_request(void)
206 206 {
207   - trace_ds(" Insert\n");
  207 + trace_ds(&h3270," Insert\n");
208 208 /* Doesn't currently do anything. */
209 209 }
210 210  
... ... @@ -230,7 +230,7 @@ dft_data_insert(struct data_buffer *data_bufr)
230 230 /* Adjust for 5 extra count */
231 231 my_length -= 5;
232 232  
233   - trace_ds(" Data(rec=%lu) %d bytes\n", recnum, my_length);
  233 + trace_ds(&h3270," Data(rec=%lu) %d bytes\n", recnum, my_length);
234 234  
235 235 /*
236 236 * First, check to see if we have message data or file data.
... ... @@ -315,7 +315,7 @@ dft_data_insert(struct data_buffer *data_bufr)
315 315 }
316 316  
317 317 /* Send an acknowledgement frame back. */
318   - trace_ds("> WriteStructuredField FileTransferData DataAck(rec=%lu)\n", recnum);
  318 + trace_ds(&h3270,"> WriteStructuredField FileTransferData DataAck(rec=%lu)\n", recnum);
319 319 h3270.obptr = h3270.obuf;
320 320 space3270out(&h3270,12);
321 321 *h3270.obptr++ = AID_SF;
... ... @@ -332,7 +332,7 @@ dft_data_insert(struct data_buffer *data_bufr)
332 332 static void
333 333 dft_set_cur_req(void)
334 334 {
335   - trace_ds(" SetCursor\n");
  335 + trace_ds(&h3270," SetCursor\n");
336 336 /* Currently doesn't do anything. */
337 337 }
338 338  
... ... @@ -345,7 +345,7 @@ dft_get_request(void)
345 345 size_t total_read = 0;
346 346 unsigned char *bufptr;
347 347  
348   - trace_ds(" Get\n");
  348 + trace_ds(&h3270," Get\n");
349 349  
350 350 if (!message_flag && lib3270_get_ft_state(&h3270) == FT_ABORT_WAIT) {
351 351 dft_abort(TR_GET_REQ, _( "Transfer cancelled by user" ) );
... ... @@ -422,8 +422,7 @@ dft_get_request(void)
422 422 *h3270.obptr++ = SF_TRANSFER_DATA;
423 423  
424 424 if (total_read) {
425   - trace_ds("> WriteStructuredField FileTransferData Data(rec=%lu) %d bytes\n",
426   - (unsigned long) recnum, (int) total_read);
  425 + trace_ds(&h3270,"> WriteStructuredField FileTransferData Data(rec=%lu) %d bytes\n",(unsigned long) recnum, (int) total_read);
427 426 SET16(h3270.obptr, TR_GET_REPLY);
428 427 SET16(h3270.obptr, TR_RECNUM_HDR);
429 428 SET32(h3270.obptr, recnum);
... ... @@ -441,7 +440,7 @@ dft_get_request(void)
441 440 }
442 441  
443 442 } else {
444   - trace_ds("> WriteStructuredField FileTransferData EOF\n");
  443 + trace_ds(&h3270,"> WriteStructuredField FileTransferData EOF\n");
445 444 *h3270.obptr++ = HIGH8(TR_GET_REQ);
446 445 *h3270.obptr++ = TR_ERROR_REPLY;
447 446 SET16(h3270.obptr, TR_ERROR_HDR);
... ... @@ -476,8 +475,8 @@ dft_close_request(void)
476 475 * Recieved a close request from the system.
477 476 * Return a close acknowledgement.
478 477 */
479   - trace_ds(" Close\n");
480   - trace_ds("> WriteStructuredField FileTransferData CloseAck\n");
  478 + trace_ds(&h3270," Close\n");
  479 + trace_ds(&h3270,"> WriteStructuredField FileTransferData CloseAck\n");
481 480 h3270.obptr = h3270.obuf;
482 481 space3270out(&h3270,6);
483 482 *h3270.obptr++ = AID_SF;
... ... @@ -499,7 +498,7 @@ static void dft_abort(unsigned short code, const char *fmt, ...)
499 498 abort_string = lib3270_vsprintf(fmt, args);
500 499 va_end(args);
501 500  
502   - trace_ds("> WriteStructuredField FileTransferData Error\n");
  501 + trace_ds(&h3270,"> WriteStructuredField FileTransferData Error\n");
503 502  
504 503 h3270.obptr = h3270.obuf;
505 504 space3270out(&h3270,10);
... ... @@ -535,7 +534,7 @@ dft_read_modified(void)
535 534 {
536 535 if (dft_savebuf_len)
537 536 {
538   - trace_ds("> WriteStructuredField FileTransferData\n");
  537 + trace_ds(&h3270,"> WriteStructuredField FileTransferData\n");
539 538 h3270.obptr = h3270.obuf;
540 539 space3270out(&h3270,dft_savebuf_len);
541 540 memcpy(h3270.obptr, dft_savebuf, dft_savebuf_len);
... ...
rpq.c
... ... @@ -133,7 +133,7 @@ void do_qr_rpqnames(void)
133 133 int remaining = 254; /* maximum data area for rpqname reply */
134 134 Boolean omit_due_space_limit;
135 135  
136   - trace_ds("> QueryReply(RPQNames)\n");
  136 + trace_ds(&h3270,"> QueryReply(RPQNames)\n");
137 137  
138 138 /*
139 139 * Allocate enough space for the maximum allowed item.
... ...
sf.c
... ... @@ -167,61 +167,58 @@ write_structured_field(unsigned char buf[], int buflen)
167 167 while (buflen > 0) {
168 168  
169 169 if (first)
170   - trace_ds(" ");
  170 + trace_ds(&h3270," ");
171 171 else
172   - trace_ds("< WriteStructuredField ");
  172 + trace_ds(&h3270,"< WriteStructuredField ");
173 173 first = False;
174 174  
175 175 /* Pick out the field length. */
176 176 if (buflen < 2) {
177   - trace_ds("error: single byte at end of message\n");
  177 + trace_ds(&h3270,"error: single byte at end of message\n");
178 178 return rv ? rv : PDS_BAD_CMD;
179 179 }
180 180 fieldlen = (cp[0] << 8) + cp[1];
181 181 if (fieldlen == 0)
182 182 fieldlen = buflen;
183 183 if (fieldlen < 3) {
184   - trace_ds("error: field length %d too small\n",
185   - fieldlen);
  184 + trace_ds(&h3270,"error: field length %d too small\n",fieldlen);
186 185 return rv ? rv : PDS_BAD_CMD;
187 186 }
188 187 if ((int)fieldlen > buflen) {
189   - trace_ds("error: field length %d exceeds remaining "
190   - "message length %d\n",
191   - fieldlen, buflen);
  188 + trace_ds(&h3270,"error: field length %d exceeds remaining message length %d\n",fieldlen, buflen);
192 189 return rv ? rv : PDS_BAD_CMD;
193 190 }
194 191  
195 192 /* Dispatch on the ID. */
196 193 switch (cp[2]) {
197 194 case SF_READ_PART:
198   - trace_ds("ReadPartition");
  195 + trace_ds(&h3270,"ReadPartition");
199 196 rv_this = sf_read_part(cp, (int)fieldlen);
200 197 break;
201 198 case SF_ERASE_RESET:
202   - trace_ds("EraseReset");
  199 + trace_ds(&h3270,"EraseReset");
203 200 rv_this = sf_erase_reset(cp, (int)fieldlen);
204 201 break;
205 202 case SF_SET_REPLY_MODE:
206   - trace_ds("SetReplyMode");
  203 + trace_ds(&h3270,"SetReplyMode");
207 204 rv_this = sf_set_reply_mode(cp, (int)fieldlen);
208 205 break;
209 206 case SF_CREATE_PART:
210   - trace_ds("CreatePartition");
  207 + trace_ds(&h3270,"CreatePartition");
211 208 rv_this = sf_create_partition(cp, (int)fieldlen);
212 209 break;
213 210 case SF_OUTBOUND_DS:
214   - trace_ds("OutboundDS");
  211 + trace_ds(&h3270,"OutboundDS");
215 212 rv_this = sf_outbound_ds(cp, (int)fieldlen);
216 213 break;
217 214 #if defined(X3270_FT) /*[*/
218 215 case SF_TRANSFER_DATA: /* File transfer data */
219   - trace_ds("FileTransferData");
  216 + trace_ds(&h3270,"FileTransferData");
220 217 ft_dft_data(cp, (int)fieldlen);
221 218 break;
222 219 #endif /*]*/
223 220 default:
224   - trace_ds("unsupported ID 0x%02x\n", cp[2]);
  221 + trace_ds(&h3270,"unsupported ID 0x%02x\n", cp[2]);
225 222 rv_this = PDS_BAD_CMD;
226 223 break;
227 224 }
... ... @@ -243,7 +240,7 @@ write_structured_field(unsigned char buf[], int buflen)
243 240 buflen -= fieldlen;
244 241 }
245 242 if (first)
246   - trace_ds(" (null)\n");
  243 + trace_ds(&h3270," (null)\n");
247 244  
248 245 if (bad_cmd && !rv)
249 246 return PDS_BAD_CMD;
... ... @@ -259,22 +256,23 @@ sf_read_part(unsigned char buf[], unsigned buflen)
259 256 int any = 0;
260 257 const char *comma = "";
261 258  
262   - if (buflen < 5) {
263   - trace_ds(" error: field length %d too small\n", buflen);
  259 + if (buflen < 5)
  260 + {
  261 + trace_ds(&h3270," error: field length %d too small\n", buflen);
264 262 return PDS_BAD_CMD;
265 263 }
266 264  
267 265 partition = buf[3];
268   - trace_ds("(0x%02x)", partition);
  266 + trace_ds(&h3270,"(0x%02x)", partition);
269 267  
270 268 switch (buf[4]) {
271 269 case SF_RP_QUERY:
272   - trace_ds(" Query");
  270 + trace_ds(&h3270," Query");
273 271 if (partition != 0xff) {
274   - trace_ds(" error: illegal partition\n");
  272 + trace_ds(&h3270," error: illegal partition\n");
275 273 return PDS_BAD_CMD;
276 274 }
277   - trace_ds("\n");
  275 + trace_ds(&h3270,"\n");
278 276 query_reply_start();
279 277 for (i = 0; i < NSR; i++) {
280 278 #if defined(X3270_DBCS) /*[*/
... ... @@ -285,29 +283,28 @@ sf_read_part(unsigned char buf[], unsigned buflen)
285 283 query_reply_end();
286 284 break;
287 285 case SF_RP_QLIST:
288   - trace_ds(" QueryList ");
  286 + trace_ds(&h3270," QueryList ");
289 287 if (partition != 0xff) {
290   - trace_ds("error: illegal partition\n");
  288 + trace_ds(&h3270,"error: illegal partition\n");
291 289 return PDS_BAD_CMD;
292 290 }
293 291 if (buflen < 6) {
294   - trace_ds("error: missing request type\n");
  292 + trace_ds(&h3270,"error: missing request type\n");
295 293 return PDS_BAD_CMD;
296 294 }
297 295 query_reply_start();
298 296 switch (buf[5]) {
299 297 case SF_RPQ_LIST:
300   - trace_ds("List(");
  298 + trace_ds(&h3270,"List(");
301 299 if (buflen < 7) {
302   - trace_ds(")\n");
  300 + trace_ds(&h3270,")\n");
303 301 do_query_reply(QR_NULL);
304 302 } else {
305 303 for (i = 6; i < buflen; i++) {
306   - trace_ds("%s%s", comma,
307   - see_qcode(buf[i]));
  304 + trace_ds(&h3270,"%s%s", comma,see_qcode(buf[i]));
308 305 comma = ",";
309 306 }
310   - trace_ds(")\n");
  307 + trace_ds(&h3270,")\n");
311 308 for (i = 0; i < NSR; i++) {
312 309 if (memchr((char *)&buf[6],
313 310 (char)replies[i].code,
... ... @@ -327,12 +324,12 @@ sf_read_part(unsigned char buf[], unsigned buflen)
327 324 }
328 325 break;
329 326 case SF_RPQ_EQUIV:
330   - trace_ds("Equivlent+List(");
  327 + trace_ds(&h3270,"Equivlent+List(");
331 328 for (i = 6; i < buflen; i++) {
332   - trace_ds("%s%s", comma, see_qcode(buf[i]));
  329 + trace_ds(&h3270,"%s%s", comma, see_qcode(buf[i]));
333 330 comma = ",";
334 331 }
335   - trace_ds(")\n");
  332 + trace_ds(&h3270,")\n");
336 333 for (i = 0; i < NSR; i++)
337 334 #if defined(X3270_DBCS) /*[*/
338 335 if (dbcs || replies[i].code != QR_DBCS_ASIA)
... ... @@ -340,7 +337,7 @@ sf_read_part(unsigned char buf[], unsigned buflen)
340 337 do_query_reply(replies[i].code);
341 338 break;
342 339 case SF_RPQ_ALL:
343   - trace_ds("All\n");
  340 + trace_ds(&h3270,"All\n");
344 341 for (i = 0; i < NSR; i++)
345 342 #if defined(X3270_DBCS) /*[*/
346 343 if (dbcs || replies[i].code != QR_DBCS_ASIA)
... ... @@ -348,40 +345,40 @@ sf_read_part(unsigned char buf[], unsigned buflen)
348 345 do_query_reply(replies[i].code);
349 346 break;
350 347 default:
351   - trace_ds("unknown request type 0x%02x\n", buf[5]);
  348 + trace_ds(&h3270,"unknown request type 0x%02x\n", buf[5]);
352 349 return PDS_BAD_CMD;
353 350 }
354 351 query_reply_end();
355 352 break;
356 353 case SNA_CMD_RMA:
357   - trace_ds(" ReadModifiedAll");
  354 + trace_ds(&h3270," ReadModifiedAll");
358 355 if (partition != 0x00) {
359   - trace_ds(" error: illegal partition\n");
  356 + trace_ds(&h3270," error: illegal partition\n");
360 357 return PDS_BAD_CMD;
361 358 }
362   - trace_ds("\n");
  359 + trace_ds(&h3270,"\n");
363 360 ctlr_read_modified(AID_QREPLY, True);
364 361 break;
365 362 case SNA_CMD_RB:
366   - trace_ds(" ReadBuffer");
  363 + trace_ds(&h3270," ReadBuffer");
367 364 if (partition != 0x00) {
368   - trace_ds(" error: illegal partition\n");
  365 + trace_ds(&h3270," error: illegal partition\n");
369 366 return PDS_BAD_CMD;
370 367 }
371   - trace_ds("\n");
  368 + trace_ds(&h3270,"\n");
372 369 ctlr_read_buffer(&h3270,AID_QREPLY);
373 370 break;
374 371 case SNA_CMD_RM:
375   - trace_ds(" ReadModified");
  372 + trace_ds(&h3270," ReadModified");
376 373 if (partition != 0x00) {
377   - trace_ds(" error: illegal partition\n");
  374 + trace_ds(&h3270," error: illegal partition\n");
378 375 return PDS_BAD_CMD;
379 376 }
380   - trace_ds("\n");
  377 + trace_ds(&h3270,"\n");
381 378 ctlr_read_modified(AID_QREPLY, False);
382 379 break;
383 380 default:
384   - trace_ds(" unknown type 0x%02x\n", buf[4]);
  381 + trace_ds(&h3270," unknown type 0x%02x\n", buf[4]);
385 382 return PDS_BAD_CMD;
386 383 }
387 384 return PDS_OKAY_OUTPUT;
... ... @@ -391,21 +388,21 @@ static enum pds
391 388 sf_erase_reset(unsigned char buf[], int buflen)
392 389 {
393 390 if (buflen != 4) {
394   - trace_ds(" error: wrong field length %d\n", buflen);
  391 + trace_ds(&h3270," error: wrong field length %d\n", buflen);
395 392 return PDS_BAD_CMD;
396 393 }
397 394  
398 395 switch (buf[3]) {
399 396 case SF_ER_DEFAULT:
400   - trace_ds(" Default\n");
  397 + trace_ds(&h3270," Default\n");
401 398 ctlr_erase(NULL,False);
402 399 break;
403 400 case SF_ER_ALT:
404   - trace_ds(" Alternate\n");
  401 + trace_ds(&h3270," Alternate\n");
405 402 ctlr_erase(NULL,True);
406 403 break;
407 404 default:
408   - trace_ds(" unknown type 0x%02x\n", buf[3]);
  405 + trace_ds(&h3270," unknown type 0x%02x\n", buf[3]);
409 406 return PDS_BAD_CMD;
410 407 }
411 408 return PDS_OKAY_NO_OUTPUT;
... ... @@ -419,29 +416,29 @@ sf_set_reply_mode(unsigned char buf[], int buflen)
419 416 const char *comma = "(";
420 417  
421 418 if (buflen < 5) {
422   - trace_ds(" error: wrong field length %d\n", buflen);
  419 + trace_ds(&h3270," error: wrong field length %d\n", buflen);
423 420 return PDS_BAD_CMD;
424 421 }
425 422  
426 423 partition = buf[3];
427   - trace_ds("(0x%02x)", partition);
  424 + trace_ds(&h3270,"(0x%02x)", partition);
428 425 if (partition != 0x00) {
429   - trace_ds(" error: illegal partition\n");
  426 + trace_ds(&h3270," error: illegal partition\n");
430 427 return PDS_BAD_CMD;
431 428 }
432 429  
433 430 switch (buf[4]) {
434 431 case SF_SRM_FIELD:
435   - trace_ds(" Field\n");
  432 + trace_ds(&h3270," Field\n");
436 433 break;
437 434 case SF_SRM_XFIELD:
438   - trace_ds(" ExtendedField\n");
  435 + trace_ds(&h3270," ExtendedField\n");
439 436 break;
440 437 case SF_SRM_CHAR:
441   - trace_ds(" Character");
  438 + trace_ds(&h3270," Character");
442 439 break;
443 440 default:
444   - trace_ds(" unknown mode 0x%02x\n", buf[4]);
  441 + trace_ds(&h3270," unknown mode 0x%02x\n", buf[4]);
445 442 return PDS_BAD_CMD;
446 443 }
447 444 h3270.reply_mode = buf[4];
... ... @@ -449,10 +446,10 @@ sf_set_reply_mode(unsigned char buf[], int buflen)
449 446 h3270.crm_nattr = buflen - 5;
450 447 for (i = 5; i < buflen; i++) {
451 448 h3270.crm_attr[i - 5] = buf[i];
452   - trace_ds("%s%s", comma, see_efa_only(buf[i]));
  449 + trace_ds(&h3270,"%s%s", comma, see_efa_only(buf[i]));
453 450 comma = ",";
454 451 }
455   - trace_ds("%s\n", h3270.crm_nattr ? ")" : "");
  452 + trace_ds(&h3270,"%s\n", h3270.crm_nattr ? ")" : "");
456 453 }
457 454 return PDS_OKAY_NO_OUTPUT;
458 455 }
... ... @@ -487,13 +484,13 @@ sf_create_partition(unsigned char buf[], int buflen)
487 484 #endif /*]*/
488 485  
489 486 if (buflen > 3) {
490   - trace_ds("(");
  487 + trace_ds(&h3270,"(");
491 488  
492 489 /* Partition. */
493 490 pid = buf[3];
494   - trace_ds("pid=0x%02x", pid);
  491 + trace_ds(&h3270,"pid=0x%02x", pid);
495 492 if (pid != 0x00) {
496   - trace_ds(") error: illegal partition\n");
  493 + trace_ds(&h3270,") error: illegal partition\n");
497 494 return PDS_BAD_CMD;
498 495 }
499 496 } else
... ... @@ -501,15 +498,15 @@ sf_create_partition(unsigned char buf[], int buflen)
501 498  
502 499 if (buflen > 4) {
503 500 uom = (buf[4] & 0xf0) >> 4;
504   - trace_ds(",uom=B'%s'", bit4[uom]);
  501 + trace_ds(&h3270,",uom=B'%s'", bit4[uom]);
505 502 if (uom != 0x0 && uom != 0x02) {
506   - trace_ds(") error: illegal units\n");
  503 + trace_ds(&h3270,") error: illegal units\n");
507 504 return PDS_BAD_CMD;
508 505 }
509 506 am = buf[4] & 0x0f;
510   - trace_ds(",am=B'%s'", bit4[am]);
  507 + trace_ds(&h3270,",am=B'%s'", bit4[am]);
511 508 if (am > 0x2) {
512   - trace_ds(") error: illegal a-mode\n");
  509 + trace_ds(&h3270,") error: illegal a-mode\n");
513 510 return PDS_BAD_CMD;
514 511 }
515 512 } else {
... ... @@ -519,76 +516,76 @@ sf_create_partition(unsigned char buf[], int buflen)
519 516  
520 517 if (buflen > 5) {
521 518 flags = buf[5];
522   - trace_ds(",flags=0x%02x", flags);
  519 + trace_ds(&h3270,",flags=0x%02x", flags);
523 520 } else
524 521 flags = 0;
525 522  
526 523 if (buflen > 7) {
527 524 GET16(h, &buf[6]);
528   - trace_ds(",h=%d", h);
  525 + trace_ds(&h3270,",h=%d", h);
529 526 } else
530 527 h = h3270.maxROWS;
531 528  
532 529 if (buflen > 9) {
533 530 GET16(w, &buf[8]);
534   - trace_ds(",w=%d", w);
  531 + trace_ds(&h3270,",w=%d", w);
535 532 } else
536 533 w = h3270.maxCOLS;
537 534  
538 535 if (buflen > 11) {
539 536 GET16(rv, &buf[10]);
540   - trace_ds(",rv=%d", rv);
  537 + trace_ds(&h3270,",rv=%d", rv);
541 538 } else
542 539 rv = 0;
543 540  
544 541 if (buflen > 13) {
545 542 GET16(cv, &buf[12]);
546   - trace_ds(",cv=%d", cv);
  543 + trace_ds(&h3270,",cv=%d", cv);
547 544 } else
548 545 cv = 0;
549 546  
550 547 if (buflen > 15) {
551 548 GET16(hv, &buf[14]);
552   - trace_ds(",hv=%d", hv);
  549 + trace_ds(&h3270,",hv=%d", hv);
553 550 } else
554 551 hv = (h > h3270.maxROWS)? h3270.maxROWS: h;
555 552  
556 553 if (buflen > 17) {
557 554 GET16(wv, &buf[16]);
558   - trace_ds(",wv=%d", wv);
  555 + trace_ds(&h3270,",wv=%d", wv);
559 556 } else
560 557 wv = (w > h3270.maxCOLS)? h3270.maxCOLS: w;
561 558  
562 559 if (buflen > 19) {
563 560 GET16(rw, &buf[18]);
564   - trace_ds(",rw=%d", rw);
  561 + trace_ds(&h3270,",rw=%d", rw);
565 562 } else
566 563 rw = 0;
567 564  
568 565 if (buflen > 21) {
569 566 GET16(cw, &buf[20]);
570   - trace_ds(",cw=%d", cw);
  567 + trace_ds(&h3270,",cw=%d", cw);
571 568 } else
572 569 cw = 0;
573 570  
574 571 if (buflen > 23) {
575 572 GET16(rs, &buf[22]);
576   - trace_ds(",rs=%d", rs);
  573 + trace_ds(&h3270,",rs=%d", rs);
577 574 } else
578 575 rs = (h > hv)? 1: 0;
579 576  
580 577 if (buflen > 27) {
581 578 GET16(pw, &buf[26]);
582   - trace_ds(",pw=%d", pw);
  579 + trace_ds(&h3270,",pw=%d", pw);
583 580 } else
584 581 pw = *char_width;
585 582  
586 583 if (buflen > 29) {
587 584 GET16(ph, &buf[28]);
588   - trace_ds(",ph=%d", ph);
  585 + trace_ds(&h3270,",ph=%d", ph);
589 586 } else
590 587 ph = *char_height;
591   - trace_ds(")\n");
  588 + trace_ds(&h3270,")\n");
592 589  
593 590 cursor_move(&h3270,0);
594 591 h3270.buffer_addr = 0;
... ... @@ -602,49 +599,49 @@ sf_outbound_ds(unsigned char buf[], int buflen)
602 599 enum pds rv;
603 600  
604 601 if (buflen < 5) {
605   - trace_ds(" error: field length %d too short\n", buflen);
  602 + trace_ds(&h3270," error: field length %d too short\n", buflen);
606 603 return PDS_BAD_CMD;
607 604 }
608 605  
609   - trace_ds("(0x%02x)", buf[3]);
  606 + trace_ds(&h3270,"(0x%02x)", buf[3]);
610 607 if (buf[3] != 0x00) {
611   - trace_ds(" error: illegal partition 0x%0x\n", buf[3]);
  608 + trace_ds(&h3270," error: illegal partition 0x%0x\n", buf[3]);
612 609 return PDS_BAD_CMD;
613 610 }
614 611  
615 612 switch (buf[4]) {
616 613 case SNA_CMD_W:
617   - trace_ds(" Write");
  614 + trace_ds(&h3270," Write");
618 615 if (buflen > 5) {
619 616 if ((rv = ctlr_write(&buf[4], buflen-4, False)) < 0)
620 617 return rv;
621 618 } else
622   - trace_ds("\n");
  619 + trace_ds(&h3270,"\n");
623 620 break;
624 621 case SNA_CMD_EW:
625   - trace_ds(" EraseWrite");
  622 + trace_ds(&h3270," EraseWrite");
626 623 ctlr_erase(&h3270,h3270.screen_alt);
627 624 if (buflen > 5) {
628 625 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0)
629 626 return rv;
630 627 } else
631   - trace_ds("\n");
  628 + trace_ds(&h3270,"\n");
632 629 break;
633 630 case SNA_CMD_EWA:
634   - trace_ds(" EraseWriteAlternate");
  631 + trace_ds(&h3270," EraseWriteAlternate");
635 632 ctlr_erase(&h3270,h3270.screen_alt);
636 633 if (buflen > 5) {
637 634 if ((rv = ctlr_write(&buf[4], buflen-4, True)) < 0)
638 635 return rv;
639 636 } else
640   - trace_ds("\n");
  637 + trace_ds(&h3270,"\n");
641 638 break;
642 639 case SNA_CMD_EAU:
643   - trace_ds(" EraseAllUnprotected\n");
  640 + trace_ds(&h3270," EraseAllUnprotected\n");
644 641 ctlr_erase_all_unprotected(&h3270);
645 642 break;
646 643 default:
647   - trace_ds(" unknown type 0x%02x\n", buf[4]);
  644 + trace_ds(&h3270," unknown type 0x%02x\n", buf[4]);
648 645 return PDS_BAD_CMD;
649 646 }
650 647 return PDS_OKAY_NO_OUTPUT;
... ... @@ -676,7 +673,7 @@ do_query_reply(unsigned char code)
676 673 return;
677 674  
678 675 if (qr_in_progress) {
679   - trace_ds("> StructuredField\n");
  676 + trace_ds(&h3270,"> StructuredField\n");
680 677 qr_in_progress = False;
681 678 }
682 679  
... ... @@ -713,7 +710,7 @@ do_query_reply(unsigned char code)
713 710 static void
714 711 do_qr_null(void)
715 712 {
716   - trace_ds("> QueryReply(Null)\n");
  713 + trace_ds(&h3270,"> QueryReply(Null)\n");
717 714 }
718 715  
719 716 static void
... ... @@ -722,20 +719,20 @@ do_qr_summary(void)
722 719 int i;
723 720 const char *comma = "";
724 721  
725   - trace_ds("> QueryReply(Summary(");
  722 + trace_ds(&h3270,"> QueryReply(Summary(");
726 723 space3270out(&h3270,NSR);
727 724 for (i = 0; i < NSR; i++) {
728 725 #if defined(X3270_DBCS) /*[*/
729 726 if (dbcs || replies[i].code != QR_DBCS_ASIA) {
730 727 #endif /*]*/
731   - trace_ds("%s%s", comma, see_qcode(replies[i].code));
  728 + trace_ds(&h3270,"%s%s", comma, see_qcode(replies[i].code));
732 729 comma = ",";
733 730 *h3270.obptr++ = replies[i].code;
734 731 #if defined(X3270_DBCS) /*[*/
735 732 }
736 733 #endif /*]*/
737 734 }
738   - trace_ds("))\n");
  735 + trace_ds(&h3270,"))\n");
739 736 }
740 737  
741 738 static void
... ... @@ -743,7 +740,7 @@ do_qr_usable_area(void)
743 740 {
744 741 unsigned short num, denom;
745 742  
746   - trace_ds("> QueryReply(UsableArea)\n");
  743 + trace_ds(&h3270,"> QueryReply(UsableArea)\n");
747 744 space3270out(&h3270,19);
748 745 *h3270.obptr++ = 0x01; /* 12/14-bit addressing */
749 746 *h3270.obptr++ = 0x00; /* no special character features */
... ... @@ -777,7 +774,7 @@ do_qr_color(void)
777 774 int i;
778 775 int color_max;
779 776  
780   - trace_ds("> QueryReply(Color)\n");
  777 + trace_ds(&h3270,"> QueryReply(Color)\n");
781 778  
782 779 color_max = h3270.color8 ? 8: 16; /* report on 8 or 16 colors */
783 780  
... ... @@ -811,7 +808,7 @@ do_qr_color(void)
811 808 static void
812 809 do_qr_highlighting(void)
813 810 {
814   - trace_ds("> QueryReply(Highlighting)\n");
  811 + trace_ds(&h3270,"> QueryReply(Highlighting)\n");
815 812 space3270out(&h3270,11);
816 813 *h3270.obptr++ = 5; /* report on 5 pairs */
817 814 *h3270.obptr++ = XAH_DEFAULT; /* default: */
... ... @@ -829,7 +826,7 @@ do_qr_highlighting(void)
829 826 static void
830 827 do_qr_reply_modes(void)
831 828 {
832   - trace_ds("> QueryReply(ReplyModes)\n");
  829 + trace_ds(&h3270,"> QueryReply(ReplyModes)\n");
833 830 space3270out(&h3270,3);
834 831 *h3270.obptr++ = SF_SRM_FIELD;
835 832 *h3270.obptr++ = SF_SRM_XFIELD;
... ... @@ -841,7 +838,7 @@ static void
841 838 do_qr_dbcs_asia(void)
842 839 {
843 840 /* XXX: Should we support this, even when not in DBCS mode? */
844   - trace_ds("> QueryReply(DbcsAsia)\n");
  841 + trace_ds(&h3270,"> QueryReply(DbcsAsia)\n");
845 842 space3270out(7);
846 843 *obptr++ = 0x00; /* flags (none) */
847 844 *obptr++ = 0x03; /* field length 3 */
... ... @@ -856,7 +853,7 @@ do_qr_dbcs_asia(void)
856 853 static void
857 854 do_qr_alpha_part(void)
858 855 {
859   - trace_ds("> QueryReply(AlphanumericPartitions)\n");
  856 + trace_ds(&h3270,"> QueryReply(AlphanumericPartitions)\n");
860 857 space3270out(&h3270,4);
861 858 *h3270.obptr++ = 0; /* 1 partition */
862 859 SET16(h3270.obptr, h3270.maxROWS * h3270.maxCOLS); /* buffer space */
... ... @@ -866,7 +863,7 @@ do_qr_alpha_part(void)
866 863 static void
867 864 do_qr_charsets(void)
868 865 {
869   - trace_ds("> QueryReply(CharacterSets)\n");
  866 + trace_ds(&h3270,"> QueryReply(CharacterSets)\n");
870 867 space3270out(&h3270,64);
871 868 #if defined(X3270_DBCS) /*[*/
872 869 if (dbcs)
... ... @@ -952,7 +949,7 @@ do_qr_ddm(void)
952 949 {
953 950 set_dft_buffersize();
954 951  
955   - trace_ds("> QueryReply(DistributedDataManagement)\n");
  952 + trace_ds(&h3270,"> QueryReply(DistributedDataManagement)\n");
956 953 space3270out(&h3270,8);
957 954 SET16(h3270.obptr,0); /* set reserved field to 0 */
958 955 SET16(h3270.obptr, dft_buffersize); /* set inbound length limit INLIM */
... ... @@ -964,7 +961,7 @@ do_qr_ddm(void)
964 961 static void
965 962 do_qr_imp_part(void)
966 963 {
967   - trace_ds("> QueryReply(ImplicitPartition)\n");
  964 + trace_ds(&h3270,"> QueryReply(ImplicitPartition)\n");
968 965 space3270out(&h3270,13);
969 966 *h3270.obptr++ = 0x0; /* reserved */
970 967 *h3270.obptr++ = 0x0;
... ...
telnet.c
... ... @@ -923,7 +923,7 @@ LIB3270_EXPORT void lib3270_setup_session(H3270 *session)
923 923 unsigned char *buffer = (unsigned char *) xs_buffer("%s %d\r\n", session->hostname, session->current_port);
924 924 session->write(session, buffer, strlen((char *) buffer));
925 925 lib3270_free(buffer);
926   - trace_ds("SENT HOSTNAME %s:%d\n", session->hostname, session->current_port);
  926 + trace_ds(&h3270,"SENT HOSTNAME %s:%d\n", session->hostname, session->current_port);
927 927 }
928 928 }
929 929  
... ...
trace_ds.c
... ... @@ -173,12 +173,12 @@ trace_ds_s(char *s, Boolean can_break)
173 173 }
174 174 }
175 175  
176   -void trace_ds(const char *fmt, ...)
  176 +void trace_ds(H3270 *hSession, const char *fmt, ...)
177 177 {
178 178 char * text;
179 179 va_list args;
180 180  
181   - if (!lib3270_get_toggle(&h3270,DS_TRACE))
  181 + if (!lib3270_get_toggle(hSession,DS_TRACE))
182 182 return;
183 183  
184 184 va_start(args, fmt);
... ... @@ -190,8 +190,7 @@ void trace_ds(const char *fmt, ...)
190 190 lib3270_free(text);
191 191 }
192 192  
193   -void
194   -trace_ds_nb(const char *fmt, ...)
  193 +void trace_ds_nb(const char *fmt, ...)
195 194 {
196 195 char tdsbuf[4096];
197 196 va_list args;
... ... @@ -207,20 +206,20 @@ trace_ds_nb(const char *fmt, ...)
207 206 va_end(args);
208 207 }
209 208  
210   -/* Conditional event trace. */
211   -void
212   -trace_event(const char *fmt, ...)
  209 +/* Conditional event trace. */ /*
  210 +void trace_event(const char *fmt, ...)
213 211 {
214 212 va_list args;
215 213  
216 214 if (!lib3270_get_toggle(&h3270,EVENT_TRACE))
217 215 return;
218 216  
219   - /* print out message */
  217 + // print out message
220 218 va_start(args, fmt);
221 219 vwtrace(&h3270,fmt, args);
222 220 va_end(args);
223 221 }
  222 +*/
224 223  
225 224 /* Conditional data stream trace, without line splitting. */
226 225 void trace_dsn(const char *fmt, ...)
... ...
trace_dsc.h
... ... @@ -44,13 +44,15 @@
44 44  
45 45 void trace_ansi_disc(void);
46 46 void trace_char(char c);
47   - void trace_ds(const char *fmt, ...) printflike(1, 2);
  47 + void trace_ds(H3270 *hSession, const char *fmt, ...) printflike(2, 3);
48 48 void trace_ds_nb(const char *fmt, ...) printflike(1, 2);
49 49 void trace_dsn(const char *fmt, ...) printflike(1, 2);
50   - void trace_event(const char *fmt, ...) printflike(1, 2);
  50 +// void trace_event(const char *fmt, ...) printflike(1, 2);
51 51 void trace_screen(H3270 *session);
52 52 // void trace_rollover_check(void);
53 53  
  54 + #define trace_event(...) lib3270_trace_event(&h3270,__VA_ARGS__)
  55 +
54 56 #elif defined(__GNUC__)
55 57  
56 58 #define trace_ds(format, args...)
... ...