systems.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:6k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is MPEG4IP.
  13.  * 
  14.  * The Initial Developer of the Original Code is Cisco Systems Inc.
  15.  * Portions created by Cisco Systems Inc. are
  16.  * Copyright (C) Cisco Systems Inc. 2000, 2001.  All Rights Reserved.
  17.  * 
  18.  * Contributor(s): 
  19.  * Dave Mackie dmackie@cisco.com
  20.  * Bill May wmay@cisco.com
  21.  */
  22. #ifndef __SYSTEMS_H__
  23. #define __SYSTEMS_H__
  24. #ifdef WIN32
  25. #define HAVE_IN_PORT_T
  26. #define HAVE_SOCKLEN_T
  27. #include <win32_ver.h>
  28. #else
  29. #include <config.h>
  30. #endif
  31. #ifdef WIN32
  32. #define _WIN32_WINNT 0x0400
  33. #include <windows.h>
  34. #include <stdio.h>
  35. #include <errno.h>
  36. #include <stdlib.h>
  37. #include <time.h>
  38. #include <limits.h>
  39. typedef unsigned __int64 uint64_t;
  40. typedef unsigned __int32 uint32_t;
  41. typedef unsigned __int16 uint16_t;
  42. typedef unsigned __int8 uint8_t;
  43. typedef unsigned __int64 u_int64_t;
  44. typedef unsigned __int32 u_int32_t;
  45. typedef unsigned __int16 u_int16_t;
  46. typedef unsigned __int8 u_int8_t;
  47. typedef __int64 int64_t;
  48. typedef __int32 int32_t;
  49. typedef __int16 int16_t;
  50. typedef __int8  int8_t;
  51. typedef unsigned short in_port_t;
  52. typedef unsigned int socklen_t;
  53. typedef int ssize_t;
  54. #define snprintf _snprintf
  55. #define strncasecmp _strnicmp
  56. #define strcasecmp _stricmp
  57. #include <io.h>
  58. #include <fcntl.h>
  59. #include <sys/types.h>
  60. #include <sys/stat.h>
  61. #define write _write
  62. #define lseek _lseek
  63. #define close _close
  64. #define open _open
  65. #define access _access
  66. #define vsnprintf _vsnprintf
  67. #define F_OK 0
  68. #define OPEN_RDWR (_O_RDWR | _O_BINARY)
  69. #define OPEN_CREAT (_O_CREAT | _O_BINARY)
  70. #define OPEN_RDONLY (_O_RDONLY | _O_BINARY)
  71. #define srandom srand
  72. #define random rand
  73. #define IOSBINARY ios::binary
  74. #ifdef __cplusplus
  75. extern "C" {
  76. #endif
  77. int gettimeofday(struct timeval *t, void *);
  78. #ifdef __cplusplus
  79. }
  80. #endif
  81. #define PATH_MAX MAX_PATH
  82. #define MAX_UINT64 -1
  83. #define LLD "%I64d"
  84. #define LLU "%I64u"
  85. #define LLX "%I64x"
  86. #define M_LLU 1000i64
  87. #define C_LLU 100i64
  88. #define I_LLU 1i64
  89. #define LOG_EMERG 0
  90. #define LOG_ALERT 1
  91. #define LOG_CRIT 2
  92. #define LOG_ERR 3
  93. #define LOG_WARNING 4
  94. #define LOG_NOTICE 5
  95. #define LOG_INFO 6
  96. #define LOG_DEBUG 7
  97. #if     !__STDC__ && _INTEGRAL_MAX_BITS >= 64
  98. #define VAR_TO_FPOS(fpos, var) (fpos) = (var)
  99. #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)(_FPOSOFF(fpos))
  100. #else
  101. #define VAR_TO_FPOS(fpos, var) (fpos).lopart = ((var) & UINT_MAX); (fpos).hipart = ((var) >> 32)
  102. #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((uint64_t)((fpos).hipart ) << 32 | (fpos).lopart)
  103. #endif
  104. #define __STRING(expr) #expr
  105. #define FOPEN_READ_BINARY "rb"
  106. #define FOPEN_WRITE_BINARY "wb"
  107. #else /* UNIX */
  108. #include <stdio.h>
  109. #include <errno.h>
  110. #include <stdlib.h>
  111. #ifdef HAVE_INTTYPES_H
  112. #include <inttypes.h>
  113. #else
  114. #ifdef HAVE_STDINT_H
  115. #include <stdint.h>
  116. #else
  117. #error "Don't have stdint.h or inttypes.h - no way to get uint8_t"
  118. #endif
  119. #endif
  120. #include <unistd.h>
  121. #include <fcntl.h>
  122. #include <netinet/in.h>
  123. #include <sys/types.h>
  124. #include <sys/socket.h>
  125. #include <netinet/in.h>
  126. #include <arpa/inet.h>
  127. #include <syslog.h>
  128. #include <string.h>
  129. #include <ctype.h>
  130. #include <netdb.h>
  131. #include <sys/stat.h>
  132. #include <sys/time.h>
  133. #include <sys/param.h>
  134. #define OPEN_RDWR O_RDWR
  135. #define OPEN_CREAT O_CREAT 
  136. #define OPEN_RDONLY O_RDONLY
  137. #define closesocket close
  138. #define IOSBINARY ios::bin
  139. #define MAX_UINT64 -1LLU
  140. #define LLD "%lld"
  141. #define LLU "%llu"
  142. #define LLX "%llx"
  143. #define M_LLU 1000LLU
  144. #define C_LLU 100LLU
  145. #define I_LLU 1LLU
  146. #ifdef HAVE_FPOS_T_POS
  147. #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)((fpos).__pos)
  148. #define VAR_TO_FPOS(fpos, var) (fpos).__pos = (var)
  149. #else
  150. #define FPOS_TO_VAR(fpos, typed, var) (var) = (typed)(fpos)
  151. #define VAR_TO_FPOS(fpos, var) (fpos) = (var)
  152. #endif
  153. #define FOPEN_READ_BINARY "r"
  154. #define FOPEN_WRITE_BINARY "w"
  155. #endif /* define unix */
  156. #include <stdarg.h>
  157. typedef void (*error_msg_func_t)(int loglevel,
  158.  const char *lib,
  159.  const char *fmt,
  160.  va_list ap);
  161. typedef void (*lib_message_func_t)(int loglevel,
  162.    const char *lib,
  163.    const char *fmt,
  164.    ...);
  165. #ifndef HAVE_IN_PORT_T
  166. typedef uint16_t in_port_t;
  167. #endif
  168. #ifndef HAVE_SOCKLEN_T
  169. typedef unsigned int socklen_t;
  170. #endif
  171. #ifdef sun
  172. #include <limits.h>
  173. #define u_int8_t uint8_t
  174. #define u_int16_t uint8_t
  175. #define u_int32_t uint32_t
  176. #define u_int64_t uint64_t
  177. #define __STRING(expr) #expr
  178. #endif
  179. #ifndef HAVE_STRSEP
  180. #ifdef __cplusplus
  181. extern "C" {
  182. #endif
  183. char *strsep(char **strp, const char *delim); 
  184. #ifdef __cplusplus
  185. }
  186. #endif
  187. #endif
  188. #ifndef MIN
  189. #define MIN(a,b) ((a) < (b) ? (a) : (b))
  190. #endif
  191. #ifndef MAX
  192. #define MAX(a,b) ((a) > (b) ? (a) : (b))
  193. #endif
  194. #ifndef INADDR_NONE
  195. #define INADDR_NONE (-1)
  196. #endif
  197. #define MALLOC_STRUCTURE(a) ((a *)malloc(sizeof(a)))
  198. #ifndef HAVE_GLIB_H
  199. typedef char gchar;
  200. typedef unsigned char guchar;
  201. typedef int gint;
  202. typedef unsigned int guint;
  203. typedef long glong;
  204. typedef unsigned long gulong;
  205. typedef double gdouble;
  206. typedef int gboolean;
  207. typedef int16_t gint16;
  208. typedef uint16_t guint16;
  209. typedef int32_t gint32;
  210. typedef uint32_t guint32;
  211. typedef int64_t gint64;
  212. typedef uint64_t guint64;
  213. typedef uint8_t  guint8;
  214. typedef int8_t gint8;
  215. #endif
  216. #ifndef TRUE
  217. #define TRUE 1
  218. #endif
  219. #ifndef FALSE
  220. #define FALSE 0
  221. #endif
  222. #endif /* __SYSTEMS_H__ */