windows-more-updates-20030315
[openafs.git] / src / WINNT / client_osi / dbrpc.idl
1 /* Copyright (C) 1994 Cazamar Systems, Inc. */
2
3 [
4 uuid(7E8952D8-1B50-101B-8952-204C4F4F5020),
5 version(1.0)
6 ]
7 interface dbrpc
8 {
9
10 /* return codes */
11 const long OSI_DBRPC_NOENTRY = 1;
12 const long OSI_DBRPC_EOF = 2;
13 const long OSI_DBRPC_NOFD = 3;
14
15 /* parameter for string descr */
16 const long OSI_DBRPC_STRLEN = 256;      /* max bytes string */
17
18 /* info passed around */
19 const long OSI_DBRPC_NUMINTS = 32;      /* # of integers */
20 const long OSI_DBRPC_NUMSTRS = 8;       /* # of strings */
21
22 /* lock types */
23 const long OSI_DBRPC_MUTEXTYPE = 1;     /* a mutex */
24 const long OSI_DBRPC_RWLOCKTYPE = 2;    /* a rwlock */
25
26 /* getformat region values */
27 const long OSI_DBRPC_REGIONSTRING = 0;  /* string index */
28 const long OSI_DBRPC_REGIONINT = 1;     /* index in the integer region */
29
30 /* error codes */
31 const long OSI_DBRPC_OK         = 0;
32 const long OSI_DBRPC_DONE       = 1;
33 const long OSI_DBRPC_BADFD      = 2;
34
35 /* format bits */
36 const long OSI_DBRPC_SUPRESSIFZERO      = 1;    /* don't print zeroes */
37 const long OSI_DBRPC_HEX                = 2;    /* print #s in hex */
38 const long OSI_DBRPC_SIGNED             = 4;    /* print as signed # */
39
40 /* describe the format of a statistics entry */
41 typedef struct osi_remFormat {
42         char label[32];
43         long format;
44 } osi_remFormat_t;
45
46 typedef struct osi_remHyper {
47         unsigned long LowPart;
48         unsigned long HighPart;
49 } osi_remHyper_t;
50
51 typedef char osi_remString_t[OSI_DBRPC_STRLEN];
52
53 typedef struct osi_remGetInfoParms {
54         long icount;
55         long scount;
56 /*      [length_is (icount)] long idata[OSI_DBRPC_NUMINTS]; */
57         long idata[OSI_DBRPC_NUMINTS];
58         [length_is (scount)] osi_remString_t sdata[OSI_DBRPC_NUMSTRS];
59 } osi_remGetInfoParms_t;
60
61 void dbrpc_Ping(
62         [in] handle_t handle
63 );
64
65 void dbrpc_Open(
66         [in] handle_t handle,
67         [in, string] char *namep,
68         [out, ref] osi_remHyper_t *fd,
69         [out, ref] long *code
70 );
71
72 void dbrpc_GetInfo(
73         [in] handle_t handle,
74         [in, ref] osi_remHyper_t *fd,
75         [out, ref] osi_remGetInfoParms_t *status,
76         [out, ref] long *code
77 );
78
79 void dbrpc_Close(
80         [in] handle_t handle,
81         [in, ref] osi_remHyper_t *fd,
82         [out, ref] long *code
83 );
84
85 void dbrpc_GetFormat(
86         [in] handle_t handle,
87         [in, string] char *namep,
88         [in] long region,       /* 0 for string, 1 for integer */
89         [in] long index,
90         [out, ref] osi_remFormat_t *formatp,
91         [out, ref] long *code
92 );
93
94 }