blob: bcca8be262b9d02494843b4d40c0fe480a69a57c [file] [log] [blame]
/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#ifndef _NGX_WIN32_CONFIG_H_INCLUDED_
#define _NGX_WIN32_CONFIG_H_INCLUDED_
#define WIN32 0x0400
#define _WIN32_WINNT 0x0501
#define STRICT
#define WIN32_LEAN_AND_MEAN
/* enable getenv() and gmtime() in msvc8 */
#define _CRT_SECURE_NO_WARNINGS
/*
* we need to include <windows.h> explicity before <winsock2.h> because
* the warning 4201 is enabled in <windows.h>
*/
#include <windows.h>
#ifdef _MSC_VER
#pragma warning(disable:4201)
#endif
#include <winsock2.h>
#include <ws2tcpip.h> /* ipv6 */
#include <mswsock.h>
#include <shellapi.h>
#include <stddef.h> /* offsetof() */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <locale.h>
#ifdef __WATCOMC__
#define _TIME_T_DEFINED
typedef long time_t;
/* OpenWatcom defines time_t as "unsigned long" */
#endif
#include <time.h> /* localtime(), strftime() */
#ifdef _MSC_VER
/* the end of the precompiled headers */
#pragma hdrstop
#pragma warning(default:4201)
/* disable some "-W4" level warnings */
/* 'type cast': from function pointer to data pointer */
#pragma warning(disable:4054)
/* 'type cast': from data pointer to function pointer */
#pragma warning(disable:4055)
/* unreferenced formal parameter */
#pragma warning(disable:4100)
/* FD_SET() and FD_CLR(): conditional expression is constant */
#pragma warning(disable:4127)
#endif
#ifdef __WATCOMC__
/* symbol 'ngx_rbtree_min' has been defined, but not referenced */
#pragma disable_message(202)
#endif
#ifdef __BORLANDC__
/* the end of the precompiled headers */
#pragma hdrstop
/* functions containing (for|while|some if) are not expanded inline */
#pragma warn -8027
/* unreferenced formal parameter */
#pragma warn -8057
#endif
#include <ngx_auto_config.h>
#define ngx_inline __inline
#define ngx_cdecl __cdecl
#ifdef _MSC_VER
typedef unsigned __int32 uint32_t;
typedef __int32 int32_t;
typedef unsigned __int16 uint16_t;
#define ngx_libc_cdecl __cdecl
#elif defined __BORLANDC__
typedef unsigned __int32 uint32_t;
typedef __int32 int32_t;
typedef unsigned __int16 uint16_t;
#define ngx_libc_cdecl __cdecl
#define _strnicmp strnicmp
#else /* __WATCOMC__ */
typedef unsigned int uint32_t;
typedef int int32_t;
typedef unsigned short int uint16_t;
#define ngx_libc_cdecl
#endif
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
typedef int intptr_t;
typedef u_int uintptr_t;
/* Windows defines off_t as long, which is 32-bit */
typedef __int64 off_t;
#define _OFF_T_DEFINED
typedef int ssize_t;
typedef uint32_t in_addr_t;
typedef u_short in_port_t;
typedef int sig_atomic_t;
#define NGX_PTR_SIZE 4
#define NGX_SIZE_T_LEN sizeof("-2147483648") - 1
#define NGX_MAX_SIZE_T_VALUE 2147483647
#define NGX_TIME_T_LEN sizeof("-2147483648") - 1
#define NGX_TIME_T_SIZE 4
#define NGX_OFF_T_LEN sizeof("-9223372036854775807") - 1
#define NGX_MAX_OFF_T_VALUE 9223372036854775807
#define NGX_SIG_ATOMIC_T_SIZE 4
#define NGX_HAVE_LITTLE_ENDIAN 1
#define NGX_HAVE_NONALIGNED 1
#define NGX_THREADS 1
#define NGX_WIN_NT 200000
#define NGX_LISTEN_BACKLOG 511
#ifndef NGX_HAVE_INHERITED_NONBLOCK
#define NGX_HAVE_INHERITED_NONBLOCK 1
#endif
#ifndef NGX_HAVE_WIN32_TRANSMITPACKETS
#define NGX_HAVE_WIN32_TRANSMITPACKETS 1
#define NGX_HAVE_WIN32_TRANSMITFILE 0
#endif
#ifndef NGX_HAVE_WIN32_TRANSMITFILE
#define NGX_HAVE_WIN32_TRANSMITFILE 1
#endif
#if (NGX_HAVE_WIN32_TRANSMITPACKETS) || (NGX_HAVE_WIN32_TRANSMITFILE)
#define NGX_HAVE_SENDFILE 1
#endif
#ifndef NGX_HAVE_SO_SNDLOWAT
/* setsockopt(SO_SNDLOWAT) returns error WSAENOPROTOOPT */
#define NGX_HAVE_SO_SNDLOWAT 0
#endif
#define ngx_random rand
#endif /* _NGX_WIN32_CONFIG_H_INCLUDED_ */