rxgen-prototypes-fixes-20020310
[openafs.git] / src / budb / budb_client.p.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
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
8  */
9
10 #ifndef __BUDB_CLIENT__
11 #define __BUDB_CLIENT__
12
13 #include <ubik.h>
14 #ifndef BUDB_MAJORVERSION               /* get the installed RPC stuff */
15 #include <sys/types.h>
16 #include <rx/xdr.h>
17 #include <afs/budb.h>
18 #endif
19
20
21 /* for ubik_Call_SingleServer */
22
23 #define UF_SINGLESERVER         1       /* begin single server operation */
24 #define UF_END_SINGLESERVER     2       /* terminate single server operation */
25
26
27 /* handle for the ubik database connection */
28
29 struct udbHandleS
30 {
31     afs_int32 uh_scIndex;                            /* what type of sec. object */
32     struct rx_securityClass *uh_secobj;                 /* security object */
33     struct rx_connection *uh_serverConn[MAXSERVERS];    /* server connections*/
34     struct ubik_client *uh_client;              /* ubik client handle */
35     afs_uint32 uh_instanceId;                   /* instance of client */
36 };
37
38 typedef struct udbHandleS       udbHandleT;
39 typedef udbHandleT              *udbHandleP;
40
41 /* suggested text block management structure */
42
43 struct udbClientTextS
44 {
45     char *textName;                             /* for info. only */
46     afs_int32  textType;                                /* used as key for access */
47     afs_uint32 textVersion;                             /* version # for cache mgmt */
48     afs_uint32 lockHandle;                              /* for atomicity */
49     afs_int32 textSize;                         /* no. of bytes */
50     FILE *textStream;                           /* file stream or NULL */
51 };
52
53 typedef struct udbClientTextS   udbClientTextT;
54 typedef udbClientTextT          *udbClientTextP;
55
56 #endif