clibrary.h
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:4k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. /*  $Revision: 1.1 $
  2. **
  3. **  Here be declarations of routines and variables in the C library.
  4. **  You must #include <sys/types.h> and <stdio.h> before this file.
  5. */
  6. #if defined(DO_HAVE_UNISTD)
  7. #include <unistd.h>
  8. #endif /* defined(DO_HAVE_UNISTD) */
  9. #if defined(DO_HAVE_VFORK)
  10. #include <vfork.h>
  11. #endif /* defined(DO_HAVE_VFORK) */
  12.     /* Generic pointer, used by memcpy, malloc, etc. */
  13.     /* =()<typedef @<POINTER>@ *POINTER;>()= */
  14. typedef char *POINTER;
  15.     /* What is a file offset?  Will not work unless long! */
  16.     /* =()<typedef @<OFFSET_T>@ OFFSET_T;>()= */
  17. typedef long OFFSET_T;
  18.     /* What is the type of an object size? */
  19.     /* =()<typedef @<SIZE_T>@ SIZE_T;>()= */
  20. typedef int SIZE_T;
  21.     /* What is the type of a passwd uid and gid, for use in chown(2)? */
  22.     /* =()<typedef @<UID_T>@ UID_T;>()= */
  23. typedef int UID_T;
  24.     /* =()<typedef @<GID_T>@ GID_T;>()= */
  25. typedef int GID_T;
  26.     /* =()<typedef @<PID_T>@ PID_T;>()= */
  27. typedef int PID_T;
  28.     /* What should a signal handler return? */
  29.     /* =()<#define SIGHANDLER @<SIGHANDLER>@>()= */
  30. #define SIGHANDLER void
  31. #if defined(SIG_DFL)
  32.     /* What types of variables can be modified in a signal handler? */
  33.     /* =()<typedef @<SIGVAR>@ SIGVAR;>()= */
  34. typedef int SIGVAR;
  35. #endif /* defined(SIG_DFL) */
  36. /* =()<#include @<STR_HEADER>@>()= */
  37. #include <string.h>
  38. /* =()<#include @<MEM_HEADER>@>()= */
  39. #include <memory.h>
  40. /*
  41. **  It's a pity we have to go through these contortions, for broken
  42. **  systems that have fd_set but not the FD_SET.
  43. */
  44. #if defined(FD_SETSIZE)
  45. #define FDSET fd_set
  46. #else
  47. #include <sys/param.h>
  48. #if !defined(NOFILE)
  49. error -- #define NOFILE to the number of files allowed on your machine!
  50. #endif /* !defined(NOFILE) */
  51. #if !defined(howmany)
  52. #define howmany(x, y) (((x) + ((y) - 1)) / (y))
  53. #endif /* !defined(howmany) */
  54. #define FD_SETSIZE NOFILE
  55. #define NFDBITS (sizeof (long) * 8)
  56. typedef struct _FDSET {
  57.     long fds_bits[howmany(FD_SETSIZE, NFDBITS)];
  58. } FDSET;
  59. #define FD_SET(n, p) (p)->fds_bits[(n) / NFDBITS] |= (1 << ((n) % NFDBITS))
  60. #define FD_CLR(n, p) (p)->fds_bits[(n) / NFDBITS] &= ~(1 << ((n) % NFDBITS))
  61. #define FD_ISSET(n, p) ((p)->fds_bits[(n) / NFDBITS] & (1 << ((n) % NFDBITS)))
  62. #define FD_ZERO(p) (void)memset((POINTER)(p), 0, sizeof *(p))
  63. #endif /* defined(FD_SETSIZE) */
  64. #if !defined(SEEK_SET)
  65. #define SEEK_SET 0
  66. #endif /* !defined(SEEK_SET) */
  67. #if !defined(SEEK_END)
  68. #define SEEK_END 2
  69. #endif /* !defined(SEEK_END) */
  70. /*
  71. **  We must use #define to set FREEVAL, since "typedef void FREEVAL;" doesn't
  72. **  work on some broken compilers, sigh.
  73. */
  74. /* =()<#define FREEVAL @<FREEVAL>@>()= */
  75. #define FREEVAL int
  76. extern int optind;
  77. extern char *optarg;
  78. #if !defined(__STDC__)
  79. extern int errno;
  80. #endif /* !defined(__STDC__) */
  81. extern char *getenv();
  82. extern char *inet_ntoa();
  83. extern char *mktemp();
  84. #if !defined(strerror)
  85. extern char *strerror();
  86. #endif /* !defined(strerror) */
  87. extern long atol();
  88. extern time_t time();
  89. extern unsigned long inet_addr();
  90. extern FREEVAL free();
  91. extern POINTER malloc();
  92. extern POINTER realloc();
  93. #if defined(ACT_MMAP)
  94. extern char *mmap();
  95. #endif /* defined(ACT_MMAP) */
  96. /* Some backward systems need this. */
  97. extern FILE *popen();
  98. /* This is in <mystring.h>, but not in some system string headers,
  99.  * so we put it here just in case. */
  100. extern int strncasecmp();
  101. /* =()<extern @<ABORTVAL>@ abort();>()= */
  102. extern int abort();
  103. /* =()<extern @<ALARMVAL>@ alarm();>()= */
  104. extern int alarm();
  105. /* =()<extern @<EXITVAL>@ exit();>()= */
  106. extern void exit();
  107. /* =()<extern @<GETPIDVAL>@ getpid();>()= */
  108. extern int getpid();
  109. /* =()<extern @<LSEEKVAL>@ lseek();>()= */
  110. extern off_t lseek();
  111. /* =()<extern @<QSORTVAL>@ qsort();>()= */
  112. extern int qsort();
  113. /* =()<extern @<SLEEPVAL>@ sleep();>()= */
  114. extern int sleep();
  115. /* =()<extern @<_EXITVAL>@ _exit();>()= */
  116. extern int _exit();