2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 /* Copyright (C) 1994 Cazamar Systems, Inc. */
12 #ifndef OPENAFS_WINNT_CLIENT_OSI_OSIDB_H
13 #define OPENAFS_WINNT_CLIENT_OSI_OSIDB_H 1
15 /* mapped over remote debugging integer array for rwlock and mutexes
16 * mutexes only have writers
18 typedef struct osi_remLockInfo
{
19 /* the type: rwlock or mutex */
27 long writers
; /* should be 0 or 1 */
28 long waiters
; /* non-zero means someone waiting */
29 long owner
; /* one tid, not complete if >1 readers, 0 if unknown */
31 /* raw statistics, times in ms. For mutexes, we only
32 * fill in the write times.
34 long writeLockedCount
;
36 long writeBlockedCount
;
37 long writeBlockedTime
;
40 long readBlockedCount
;
44 /* mapped over remote debugging integer array */
45 typedef struct osi_remSleepInfo
{
46 thread_t tid
; /* thread id of the blocked thread */
47 LONG_PTR sleepValue
; /* the value we're sleeping at */
50 #define OSI_MAXRPCCALLS 2 /* one for osidb, one for AFS RPC */
52 extern long osi_InitDebug(osi_uid_t
*);
54 /* only available within the OSI package */
55 extern long osi_maxCalls
;
57 /* use this from outside of the OSI package */
58 extern long *osi_maxCallsp
;
60 #endif /* OPENAFS_WINNT_CLIENT_OSI_OSIDB_H */