home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / tcpipsrc / kissdump.c < prev    next >
C/C++ Source or Header  |  1991-01-26  |  1KB  |  70 lines

  1. /* Tracing routines for KISS TNC 
  2.  * Copyright 1991 Phil Karn, KA9Q
  3.  */
  4. #include "global.h"
  5. #include "mbuf.h"
  6. #include "kiss.h"
  7. #include "ax25.h"
  8. #include "trace.h"
  9.  
  10. void
  11. ki_dump(fp,bpp,check)
  12. FILE *fp;
  13. struct mbuf **bpp;
  14. int check;
  15. {
  16.     int type;
  17.     int val;
  18.  
  19.     fprintf(fp,"KISS: ");
  20.     type = PULLCHAR(bpp);
  21.     if(type == KISS_DATA){
  22.         fprintf(fp,"Data\n");
  23.         ax25_dump(fp,bpp,check);
  24.         return;
  25.     }
  26.     val = PULLCHAR(bpp);
  27.     switch(type){
  28.     case KISS_TXD:
  29.         fprintf(fp,"TX Delay: %lu ms\n",val * 10L);
  30.         break;
  31.     case KISS_P:
  32.         fprintf(fp,"Persistence: %u/256\n",val + 1);
  33.         break;
  34.     case KISS_ST:
  35.         fprintf(fp,"Slot time: %lu ms\n",val * 10L);
  36.         break;
  37.     case KISS_TXT:
  38.         fprintf(fp,"TX Tail time: %lu ms\n",val * 10L);
  39.         break;
  40.     case KISS_FD:
  41.         fprintf(fp,"Duplex: %s\n",val == 0 ? "Half" : "Full");
  42.         break;
  43.     case KISS_HW:
  44.         fprintf(fp,"Hardware %u\n",val);
  45.         break;
  46.     case KISS_RETURN:
  47.         fprintf(fp,"RETURN\n");
  48.         break;
  49.     default:
  50.         fprintf(fp,"code %u arg %u\n",type,val);
  51.         break;
  52.     }
  53. }
  54.  
  55. int
  56. ki_forus(iface,bp)
  57. struct iface *iface;
  58. struct mbuf *bp;
  59. {
  60.     struct mbuf *bpp;
  61.     int i;
  62.  
  63.     if(bp->data[0] != KISS_DATA)
  64.         return 0;
  65.     dup_p(&bpp,bp,1,AXALEN);
  66.     i = ax_forus(iface,bpp);
  67.     free_p(bpp);
  68.     return i;
  69. }
  70.