kissdump.c
上传用户:hepax88
上传日期:2007-01-03
资源大小:1101k
文件大小:1k
源码类别:

TCP/IP协议栈

开发平台:

Visual C++

  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 "devparam.h"
  8. #include "ax25.h"
  9. #include "trace.h"
  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. fprintf(fp,"KISS: ");
  19. type = PULLCHAR(bpp);
  20. if(type == PARAM_DATA){
  21. fprintf(fp,"Datan");
  22. ax25_dump(fp,bpp,check);
  23. return;
  24. }
  25. val = PULLCHAR(bpp);
  26. switch(type){
  27. case PARAM_TXDELAY:
  28. fprintf(fp,"TX Delay: %lu msn",val * 10L);
  29. break;
  30. case PARAM_PERSIST:
  31. fprintf(fp,"Persistence: %u/256n",val + 1);
  32. break;
  33. case PARAM_SLOTTIME:
  34. fprintf(fp,"Slot time: %lu msn",val * 10L);
  35. break;
  36. case PARAM_TXTAIL:
  37. fprintf(fp,"TX Tail time: %lu msn",val * 10L);
  38. break;
  39. case PARAM_FULLDUP:
  40. fprintf(fp,"Duplex: %sn",val == 0 ? "Half" : "Full");
  41. break;
  42. case PARAM_HW:
  43. fprintf(fp,"Hardware %un",val);
  44. break;
  45. case PARAM_RETURN:
  46. fprintf(fp,"RETURNn");
  47. break;
  48. default:
  49. fprintf(fp,"code %u arg %un",type,val);
  50. break;
  51. }
  52. }
  53. int
  54. ki_forus(iface,bp)
  55. struct iface *iface;
  56. struct mbuf *bp;
  57. {
  58. struct mbuf *bpp;
  59. int i;
  60. if(bp->data[0] != PARAM_DATA)
  61. return 0;
  62. dup_p(&bpp,bp,1,AXALEN);
  63. i = ax_forus(iface,bpp);
  64. free_p(&bpp);
  65. return i;
  66. }