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

TCP/IP协议栈

开发平台:

Visual C++

  1. #include <string.h>
  2. #include <ctype.h>
  3. #include "global.h"
  4. #include "devparam.h"
  5. struct param {
  6. int number;
  7. char *name;
  8. };
  9. static struct param Parms[] = {
  10. PARAM_DATA, "Data",
  11. PARAM_TXDELAY, "TxDelay",
  12. PARAM_PERSIST, "Persist",
  13. PARAM_SLOTTIME, "SlotTime",
  14. PARAM_TXTAIL, "TxTail",
  15. PARAM_FULLDUP, "FullDup",
  16. PARAM_HW, "Hardware",
  17. PARAM_MUTE, "TxMute",
  18. PARAM_DTR, "DTR",
  19. PARAM_RTS, "RTS",
  20. PARAM_SPEED, "Speed",
  21. PARAM_ENDDELAY, "EndDelay",
  22. PARAM_GROUP, "Group",
  23. PARAM_IDLE, "Idle",
  24. PARAM_MIN, "Min",
  25. PARAM_MAXKEY, "MaxKey",
  26. PARAM_WAIT, "Wait",
  27. PARAM_DOWN, "Down",
  28. PARAM_UP, "Up",
  29. PARAM_BLIND, "Blind",
  30. PARAM_RETURN, "Return",
  31. -1, NULL,
  32. };
  33. /* Convert a packet radio interface control token into a number
  34.  * Used by the various ioctl routines and by KISS TNC commands
  35.  */
  36. int
  37. devparam(s)
  38. char *s;
  39. {
  40. int len;
  41. struct param *sp;
  42. len = strlen(s);
  43. if(isdigit(s[0]))
  44. return atoi(s);
  45. sp = &Parms[0];
  46. while(sp->number != -1){
  47. if(strnicmp(s,sp->name,len) == 0)
  48. return sp->number;
  49. sp++;
  50. }
  51. return -1;
  52. }
  53. char *
  54. parmname(n)
  55. int n;
  56. {
  57. struct param *sp;
  58. sp = &Parms[0];
  59. while(sp->number != -1){
  60. if(sp->number == n)
  61. return sp->name;
  62. sp++;
  63. }
  64. return NULL;
  65. }