Merged silc_1_0_branch to trunk.
[silc.git] / includes / silcwin32.h
1 /*
2
3   silcwin32.h
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 2001 - 2003 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; version 2 of the License.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18 */
19 /* Native WIN32 specific includes and definitions. */
20
21 #ifndef SILCWIN32_H
22 #define SILCWIN32_H
23
24 #include <windows.h>
25 #include <io.h>
26 #include <process.h>
27
28 #define snprintf _snprintf
29 #define vsnprintf _vsnprintf
30
31 #ifdef WIN32
32 #define strcasecmp stricmp
33 #define strncasecmp strncmp
34 #endif
35
36 #ifdef WIN32
37 #ifndef DLL
38 #ifndef _LIB
39 #define DLLAPI __declspec(dllimport)
40 #else
41 #define DLLAPI  /* Nada, we use .DEF */
42 #endif
43 #else
44 #define DLLAPI  /* Nada, we use .DEF */
45 #endif
46 #endif
47
48 /* Some winsock compatiblity requirements */
49 #ifndef _WIN32_WINNT
50 #define _WIN32_WINNT 0x400
51 #else
52 #undef _WIN32_WINNT
53 #define _WIN32_WINNT 0x400
54 #endif /* _WIN32_WINNT */
55 #if !defined(SO_SYNCHRONOUS_NONALERT)
56 #define SO_SYNCHRONOUS_NONALERT 0x20
57 #endif
58 #if !defined(SO_OPENTYPE)
59 #define SO_OPENTYPE 0x7008
60 #endif
61
62 #undef inline
63 #define inline __inline
64
65 #undef sleep
66 #define sleep(x) Sleep((x) * 1000)
67
68 #endif