Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / budb / budb_client.h
CommitLineData
805e021f
CE
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#include <afs/budb_errs.h>
21
22/* for ubik_Call_SingleServer */
23
24#define UF_SINGLESERVER 1 /* begin single server operation */
25#define UF_END_SINGLESERVER 2 /* terminate single server operation */
26
27
28/* handle for the ubik database connection */
29
30struct udbHandleS {
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
38typedef struct udbHandleS udbHandleT;
39typedef udbHandleT *udbHandleP;
40
41/* suggested text block management structure */
42
43struct udbClientTextS {
44 char *textName; /* for info. only */
45 afs_int32 textType; /* used as key for access */
46 afs_uint32 textVersion; /* version # for cache mgmt */
47 afs_uint32 lockHandle; /* for atomicity */
48 afs_int32 textSize; /* no. of bytes */
49 FILE *textStream; /* file stream or NULL */
50};
51
52typedef struct udbClientTextS udbClientTextT;
53typedef udbClientTextT *udbClientTextP;
54
55#endif