protected.h
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:1k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. /*
  2.  * protected.h - thread-safe versions of standard library functions
  3.  *
  4.  * The standard (or commonly available) C library functions are not always
  5.  * thread-safe, or re-entrant. This module provides wrappers. The wrappers
  6.  * are not always the most efficient, but the interface is meant to 
  7.  * allow a more efficient version be implemented later.
  8.  *
  9.  * Lars Wirzenius
  10.  */
  11. #ifndef PROTECTED_H
  12. #define PROTECTED_H
  13. #include <netdb.h>
  14. #include <time.h>
  15. void gwlib_protected_init(void);
  16. void gwlib_protected_shutdown(void);
  17. struct tm gw_localtime(time_t t);
  18. struct tm gw_gmtime(time_t t);
  19. int gw_rand(void);
  20. int gw_gethostbyname(struct hostent *ret, const char *name);
  21. /*
  22.  * Make it harder to use these by mistake.
  23.  */
  24. #undef localtime
  25. #define localtime(t) do_not_use_localtime_directly
  26. #undef gmtime
  27. #define gmtime(t) do_not_use_gmtime_directly
  28. #undef rand
  29. #define rand() do_not_use_rand_directly
  30. #undef gethostbyname
  31. #define gethostbyname() do_not_use_gethostbyname_directly
  32. #undef inet_ntoa
  33. #define inet_ntoa(in) use_gw_netaddr_to_octstr_instead_of_inet_ntoa
  34. #endif