OpenAFS
OpenAFS distributed network file system
|
00001 /* 00002 * Copyright 2000, International Business Machines Corporation and others. 00003 * All Rights Reserved. 00004 * 00005 * This software has been released under the terms of the IBM Public 00006 * License. For details, see the LICENSE file in the top-level source 00007 * directory or online at http://www.openafs.org/dl/license10.html 00008 */ 00009 00010 /* Copyright (C) 1994 Cazamar Systems, Inc. */ 00011 00012 #ifndef OPENAFS_WINNT_CLIENT_OSI_OSI_H 00013 #define OPENAFS_WINNT_CLIENT_OSI_OSI_H 1 00014 00015 #include <afs/param.h> 00016 00017 /* misc definitions */ 00018 00019 /* large int */ 00020 #include <rpc.h> 00021 #if !defined(_MSC_VER) || (_MSC_VER < 1300) 00022 #include "largeint.h" 00023 #endif 00024 #include "osithrdnt.h" 00025 00026 typedef LARGE_INTEGER osi_hyper_t; 00027 #if _MSC_VER >= 1300 00028 LARGE_INTEGER LargeIntegerAdd(LARGE_INTEGER a, LARGE_INTEGER b); 00029 LARGE_INTEGER LargeIntegerSubtract(LARGE_INTEGER a, LARGE_INTEGER b); 00030 LARGE_INTEGER ExtendedLargeIntegerDivide(LARGE_INTEGER a, unsigned long b, unsigned long *remainder); 00031 LARGE_INTEGER LargeIntegerDivide(LARGE_INTEGER a, LARGE_INTEGER b, LARGE_INTEGER *remainder); 00032 LARGE_INTEGER ConvertLongToLargeInteger(unsigned long a); 00033 #define LargeIntegerGreaterThan(a, b) \ 00034 ((a).HighPart > (b).HighPart || \ 00035 ((a).HighPart == (b).HighPart && (a).LowPart > (b).LowPart)) 00036 00037 #define LargeIntegerGreaterThanOrEqualTo(a, b) \ 00038 ((a).HighPart > (b).HighPart || \ 00039 ((a).HighPart == (b).HighPart && (a).LowPart >= (b).LowPart)) 00040 00041 #define LargeIntegerLessThan(a, b) \ 00042 ((a).HighPart < (b).HighPart || \ 00043 ((a).HighPart == (b).HighPart && (a).LowPart < (b).LowPart)) 00044 00045 #define LargeIntegerLessThanOrEqualTo(a, b) \ 00046 ((a).HighPart < (b).HighPart || \ 00047 ((a).HighPart == (b).HighPart && (a).LowPart <= (b).LowPart)) 00048 00049 #define LargeIntegerEqualTo(a, b) \ 00050 ((a).HighPart == (b).HighPart && (a).LowPart == (b).LowPart) 00051 00052 #define LargeIntegerGreaterThanZero(a) \ 00053 ((a).HighPart > 0 || ((a).HighPart == 0 && (a).LowPart != 0)) 00054 00055 #define LargeIntegerGreaterOrEqualToZero(a) ((a).HighPart >= 0) 00056 00057 #define LargeIntegerLessThanZero(a) ((a).HighPart < 0) 00058 00059 #define LargeIntegerNotEqualToZero(a) ((a).HighPart || (a).LowPart) 00060 #endif 00061 typedef GUID osi_uid_t; 00062 00063 typedef int int32; 00064 00065 /* basic util functions */ 00066 #include "osiutils.h" 00067 00068 /* FD operations */ 00069 #include "osifd.h" 00070 00071 /* lock type definitions */ 00072 #include "osiltype.h" 00073 00074 /* basic sleep operations */ 00075 #include "osisleep.h" 00076 00077 /* base lock definitions */ 00078 #include "osibasel.h" 00079 00080 /* statistics gathering lock definitions */ 00081 #include "osistatl.h" 00082 00083 /* RPC debug stuff */ 00084 #include "osidb.h" 00085 00086 /* log stuff */ 00087 #include "osilog.h" 00088 00089 #endif /* OPENAFS_WINNT_CLIENT_OSI_OSI_H */