527c27362f339d1ddb199d1566ffd3e9f745efbb
[openafs.git] / src / config / param.i386_w2k.h
1 #ifndef UKERNEL
2 /* This section for kernel libafs compiles only */
3
4 /*
5  * Copyright 2000, International Business Machines Corporation and others.
6  * All Rights Reserved.
7  *
8  * This software has been released under the terms of the IBM Public
9  * License.  For details, see the LICENSE file in the top-level source
10  * directory or online at http://www.openafs.org/dl/license10.html
11  */
12
13 #ifndef AFS_PARAM_H
14 #define AFS_PARAM_H
15
16
17 #define AFS_NT40_ENV        1
18 #define AFSLITTLE_ENDIAN    1
19 #define AFS_64BIT_IOPS_ENV  1
20 #define AFS_NAMEI_ENV       1   /* User space interface to file system */
21 #define AFS_HAVE_STATVFS    0   /* System doesn't support statvfs */
22 #define AFS_KRB5_ERROR_ENV  1   /* fetch_krb5_error_message() available in afsutil.lib */
23 #define HAVE_SSIZE_T        1
24
25 #include <afs/afs_sysnames.h>
26 #define SYS_NAME_ID     SYS_NAME_ID_i386_w2k
27
28 #include <stdlib.h>
29 #include <string.h>
30 #include <stddef.h>
31
32 /*
33  * NT makes size_t a typedef for unsigned int (e.g. in <stddef.h>)
34  * and has no typedef for ssize_t (a signed size_t).
35  * So, we make our own.
36  */
37 typedef int ssize_t;
38
39 /* these macros define Unix-style functions missing in  VC++5.0/NT4.0 */
40 #define MAXPATHLEN _MAX_PATH
41
42 /* map lstat calls to _stat, until an AFS-aware lstat wrapper
43  * can be written */
44 #if (_MSC_VER < 1400)
45 #define lstat(a, b)       _stat((a), (struct _stat *)(b))
46 #else
47 #ifdef _USE_32BIT_TIME_T
48 #define lstat(a, b)       _stat((a), (struct _stat32 *)(b))
49 #else
50 #define lstat(a, b)       _stat((a), (struct _stat64i32 *)(b))
51 #endif
52 #endif
53
54 #if 0
55 #define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))
56 #define memcpy(B, A, S) memcpy((void*)(B), (void*)(A), (size_t)(S))
57 /* There is a minor syntactic difference between memcmp and bcmp... */
58 #define memcmp(A, B, S) (memcmp((void*)(A), (void*)(B), (size_t)(S)) ? 1 : 0)
59 #define strchr(s, c)             strchr(s, c)
60 #define strrchr(s, c)            strrchr(s, c)
61 #endif
62 #define strcasecmp(s1,s2)       _stricmp(s1,s2)
63 #define strncasecmp(s1,s2,n)    _strnicmp(s1,s2,n)
64 #define sleep(seconds)          Sleep((seconds) * 1000)
65 #define fsync(fileno)           _commit(fileno)
66 #define ftruncate(fd, size)     _chsize((fd), (long)(size))
67 #define strtoll(str, cp, base)  strtoi64((str), (cp), (base))
68 #define strtoull(str, cp, base) strtoui64((str), (cp), (base))
69
70 #define random()                rand()
71 #define srandom(a)              srand(a)
72
73 #define popen(cmd, mode)        _popen((cmd), (mode))
74 #define pclose(stream)          _pclose(stream)
75 typedef char *caddr_t;
76
77 #define pipe(fdp)               _pipe(fdp, 4096, _O_BINARY)
78
79 #define snprintf                _snprintf
80 #endif /* AFS_PARAM_H */
81
82 #else /* !defined(UKERNEL) */
83
84 /* This section for user space compiles only */
85
86
87 #endif /* !defined(UKERNEL) */