2 /* This section for kernel libafs compiles only */
5 * Copyright 2000, International Business Machines Corporation and others.
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
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
25 #include <afs/afs_sysnames.h>
26 #define SYS_NAME_ID SYS_NAME_ID_i386_nt35
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.
39 /* these macros define Unix-style functions missing in VC++5.0/NT4.0 */
40 #define MAXPATHLEN _MAX_PATH
42 /* map lstat calls to _stat, until an AFS-aware lstat wrapper
44 #define lstat(a, b) _stat((a), (struct _stat *)(b))
47 #define memset(A, 0, S) memset((void*)(A), 0, (size_t)(S))
48 #define memcpy(B, A, S) memcpy((void*)(B), (void*)(A), (size_t)(S))
49 /* There is a minor syntactic difference between memcmp and bcmp... */
50 #define memcmp(A, B, S) (memcmp((void*)(A), (void*)(B), (size_t)(S)) ? 1 : 0)
51 #define strchr(s, c) strchr(s, c)
52 #define strrchr(s, c) strrchr(s, c)
54 #define strcasecmp(s1,s2) _stricmp(s1,s2)
55 #define strncasecmp(s1,s2,n) _strnicmp(s1,s2,n)
56 #define sleep(seconds) Sleep((seconds) * 1000)
57 #define strtoll(str, cp, base) strtoi64((str), (cp), (base))
58 #define strtoull(str, cp, base) strtoui64((str), (cp), (base))
60 #define random() rand()
61 #define srandom(a) srand(a)
63 #define popen(cmd, mode) _popen((cmd), (mode))
64 #define pclose(stream) _pclose(stream)
65 typedef char *caddr_t;
67 #endif /* AFS_PARAM_H */
69 #else /* !defined(UKERNEL) */
71 /* This section for user space compiles only */
74 #endif /* !defined(UKERNEL) */