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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  *  config-win32.h
  3.  *
  4.  *  Windows specific definitions and includes.
  5.  *  
  6.  *  $Revision: 1.8 $
  7.  *  $Date: 2002/01/10 23:27:27 $
  8.  *
  9.  * Copyright (c) 1995-2000 University College London
  10.  * All rights reserved.
  11.  *
  12.  * Redistribution and use in source and binary forms, with or without
  13.  * modification, is permitted provided that the following conditions 
  14.  * are met:
  15.  * 1. Redistributions of source code must retain the above copyright
  16.  *    notice, this list of conditions and the following disclaimer.
  17.  * 2. Redistributions in binary form must reproduce the above copyright
  18.  *    notice, this list of conditions and the following disclaimer in the
  19.  *    documentation and/or other materials provided with the distribution.
  20.  * 3. All advertising materials mentioning features or use of this software
  21.  *    must display the following acknowledgement:
  22.  *      This product includes software developed by the Computer Science
  23.  *      Department at University College London
  24.  * 4. Neither the name of the University nor of the Department may be used
  25.  *    to endorse or promote products derived from this software without
  26.  *    specific prior written permission.
  27.  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
  28.  * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  29.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  30.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
  31.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  32.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  33.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  34.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  36.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37.  * SUCH DAMAGE.
  38.  */
  39. #ifdef WIN32
  40. #ifndef _CONFIG_WIN32_H
  41. #define _CONFIG_WIN32_H
  42. #include <limits.h>
  43. #include <malloc.h>
  44. #include <stdio.h>
  45. #include <memory.h>
  46. #include <errno.h>
  47. #include <math.h>
  48. #include <stdlib.h>   /* abs() */
  49. #include <string.h>
  50. #include <winsock2.h>
  51. #include <sys/types.h>
  52. #include <sys/stat.h>
  53. #ifdef HAVE_IPv6
  54. #ifdef MUSICA_IPV6
  55. #include <winsock6.h>
  56. #else
  57. #ifdef WIN2K_IPV6
  58. #include <ws2tcpip.h>
  59. #include <tpipv6.h>
  60. #else
  61. #include <ws2ip6.h>
  62. #include <ws2tcpip.h>
  63. #endif
  64. #endif
  65. #endif
  66. #ifndef MUSICA_IPV6
  67. #include <ws2tcpip.h>
  68. #endif
  69. #include <mmreg.h>
  70. #include <msacm.h>
  71. #include <mmsystem.h>
  72. #include <windows.h>
  73. #include <io.h>
  74. #include <process.h>
  75. #include <fcntl.h>
  76. #include <time.h>
  77. #include <sys/timeb.h>
  78. typedef int ttl_t;
  79. typedef unsigned int fd_t;
  80. /*
  81.  * the definitions below are valid for 32-bit architectures and will have to
  82.  * be adjusted for 16- or 64-bit architectures
  83.  */
  84. typedef unsigned __int8 uint8_t;
  85. typedef unsigned __int16 uint16_t;
  86. typedef unsigned __int32 uint32_t;
  87. typedef unsigned __int64    uint64_t;
  88. typedef __int8 int8_t;
  89. typedef __int16 int16_t;
  90. typedef __int32 int32_t;
  91. typedef __int64 int64_t;
  92. typedef unsigned long in_addr_t;
  93. #ifndef TRUE
  94. #define FALSE 0
  95. #define TRUE 1
  96. #endif /* TRUE */
  97. #define USERNAMELEN 8
  98. #define WORDS_SMALLENDIAN
  99. #define NEED_INET_ATON
  100. #define NEED_DRAND48
  101. //#define NEED_GETTIMEOFDAY
  102. #ifdef NDEBUG
  103. #define ASSERT(x) if ((x) == 0) fprintf(stderr, "%s:%u: failed assertionn", __FILE__, __LINE__)
  104. #else
  105. #define ASSERT assert
  106. #include <assert.h>
  107. #endif
  108. #include <time.h> /* For clock_t */
  109. #define inline
  110. #define __inline     
  111. #define AUDIO_MICROPHONE 1
  112. #define AUDIO_LINE_IN 2
  113. #define AUDIO_CD            4
  114. #define AUDIO_SPEAKER 0
  115. #define AUDIO_HEADPHONE 1
  116. #define AUDIO_LINE_OUT 4
  117. #define srand48 srand
  118. #define lrand48 rand() * rand
  119. #define snprintf _snprintf
  120. #define IN_CLASSD(i) (((long)(i) & 0xf0000000) == 0xe0000000)
  121. #define IN_MULTICAST(i) IN_CLASSD(i)
  122. typedef char *caddr_t;
  123. typedef int ssize_t;
  124. typedef struct iovec {
  125. caddr_t iov_base;
  126. ssize_t iov_len;
  127. } iovec_t;
  128. struct msghdr {
  129. caddr_t msg_name;
  130. int msg_namelen;
  131. struct iovec *msg_iov;
  132. int msg_iovlen;
  133. caddr_t msg_accrights;
  134. int msg_accrightslen;
  135. };
  136. #ifndef MAXHOSTNAMELEN
  137. #define MAXHOSTNAMELEN 256
  138. #endif
  139. #define _SYS_NMLN 9
  140. struct utsname {
  141. char sysname[_SYS_NMLN];
  142. char nodename[_SYS_NMLN];
  143. char release[_SYS_NMLN];
  144. char version[_SYS_NMLN];
  145. char machine[_SYS_NMLN];
  146. };
  147. struct timezone {
  148. int tz_minuteswest;
  149. int tz_dsttime;
  150. };
  151. typedef int pid_t;
  152. typedef int uid_t;
  153. typedef int gid_t;
  154.     
  155. #if defined(__cplusplus)
  156. extern "C" {
  157. #endif
  158. int uname(struct utsname *);
  159. int getopt(int, char * const *, const char *);
  160. int gethostid(void);
  161. int getuid(void);
  162. int getgid(void);
  163. #define getpid _getpid
  164. int nice(int);
  165. int usleep(unsigned int);
  166. const char * w32_make_version_info(char * rat_verion);
  167. #define strcasecmp  _stricmp
  168. #define strncasecmp _strnicmp
  169. int  RegGetValue(HKEY *, char *, char*, char*, int);
  170. void ShowMessage(int level, char *msg);
  171. #define bcopy(from,to,len) memcpy(to,from,len)
  172. #if defined(__cplusplus)
  173. }
  174. #endif
  175. #define ECONNREFUSED WSAECONNREFUSED
  176. #define ENETUNREACH WSAENETUNREACH
  177. #define EHOSTUNREACH WSAEHOSTUNREACH
  178. #define EWOULDBLOCK WSAEWOULDBLOCK
  179. #ifndef EAFNOSUPPORT
  180. #define EAFNOSUPPORT WSAEAFNOSUPPORT
  181. #endif
  182. #define M_PI 3.14159265358979323846
  183. #endif 
  184. #define LOG_EMERG 0
  185. #define LOG_ALERT 1
  186. #define LOG_CRIT 2
  187. #define LOG_ERR 3
  188. #define LOG_WARNING 4
  189. #define LOG_NOTICE 5
  190. #define LOG_INFO 6
  191. #define LOG_DEBUG 7
  192. #endif