parsetos.c
上传用户:sddyfurun
上传日期:2007-01-04
资源大小:525k
文件大小:1k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. /*
  2.  * The routine parsetos() for UNICOS 6.0/6.1 systems.  This
  3.  * is part of UNICOS 7.0 and later.
  4.  */
  5. #include <stdio.h>
  6. #include <sys/types.h>
  7. #include <netdb.h>
  8. #include <errno.h>
  9. #define MIN_TOS 0
  10. #define MAX_TOS 255
  11. int
  12. parsetos(name, proto)
  13. char *name;
  14. char *proto;
  15. {
  16. register char *c;
  17. int tos;
  18. struct tosent *tosp;
  19. tosp = gettosbyname(name, proto);
  20. if (tosp) {
  21. tos = tosp->t_tos;
  22. } else {
  23. for (c = name; *c; c++) {
  24. if (*c < '0' || *c > '9') {
  25. errno = EINVAL;
  26. return (-1);
  27. }
  28. }
  29. tos = (int)strtol(name, (char **)NULL, 0);
  30. }
  31. if (tos < MIN_TOS || tos > MAX_TOS) {
  32. errno = ERANGE;
  33. return (-1);
  34. }
  35. return (tos);
  36. }