2 * Copyright (C) 1998, 1989 Transarc Corporation - All rights reserved
4 * (C) COPYRIGHT IBM CORPORATION 1987, 1988
5 * LICENSED MATERIALS - PROPERTY OF IBM
9 /* Copyright (C) 1994 Cazamar Systems, Inc. */
12 #include <afs/param.h>
19 /* table of dynamic lock types. First entry isn't used, since those are
20 * wired in for performance reasons.
22 osi_lockOps_t *osi_lockOps[OSI_NLOCKTYPES];
23 char *osi_lockOpNames[OSI_NLOCKTYPES];
25 /* first free slot in lock operations; slot 0 is not used */
26 int osi_lockTypeIndex = 1;
28 /* type to create generically */
29 int osi_lockTypeDefault = 0;
31 int osi_LockTypeFind(char *namep)
35 for(i=1; i<osi_lockTypeIndex; i++) {
36 if (!strcmp(osi_lockOpNames[i], namep)) return i;
41 void osi_LockTypeAdd(osi_lockOps_t *statOps, char *namep, int *indexp)
44 if ((i = osi_lockTypeIndex) >= OSI_NLOCKTYPES) return;
45 osi_lockOps[i] = statOps;
46 osi_lockOpNames[i] = namep;
48 osi_lockTypeIndex = i+1;
51 osi_LockTypeSetDefault(char *namep)
55 if (namep == (char *) 0)
56 osi_lockTypeDefault = 0;
58 index = osi_LockTypeFind(namep);
59 if (index > 0) osi_lockTypeDefault = index;