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 #ifndef OPENAFS_UTIL_ADMIN_H
11 #define OPENAFS_UTIL_ADMIN_H
13 #include <afs/afs_Admin.h>
14 #include <afs/afs_AdminErrors.h>
16 #define UTIL_MAX_DATABASE_SERVER_NAME 64
17 #define UTIL_MAX_CELL_NAME_LEN 256
18 #define UTIL_MAX_CELL_HOSTS 8
19 #define UTIL_MAX_RXDEBUG_VERSION_LEN 64
22 typedef struct util_databaseServerEntry {
24 char serverName[UTIL_MAX_DATABASE_SERVER_NAME];
25 } util_databaseServerEntry_t, *util_databaseServerEntry_p;
27 extern int ADMINAPI util_AdminErrorCodeTranslate(afs_status_t errorCode,
29 const char **errorTextP,
32 extern int ADMINAPI util_DatabaseServerGetBegin(const char *cellName,
36 extern int ADMINAPI util_DatabaseServerGetNext(const void *iterationId,
37 util_databaseServerEntry_p
38 serverP, afs_status_p st);
40 extern int ADMINAPI util_DatabaseServerGetDone(const void *iterationId,
43 extern int ADMINAPI util_AdminServerAddressGetFromName(const char *serverName,
47 extern int ADMINAPI CellHandleIsValid(const void *cellHandle,
51 extern int ADMINAPI util_RPCStatsGetBegin(struct rx_connection *conn,
52 int (*rpc) (struct rx_connection *,
53 afs_uint32, afs_uint32 *,
54 afs_uint32 *, afs_uint32 *,
60 extern int ADMINAPI util_RPCStatsGetNext(const void *iterationId,
64 extern int ADMINAPI util_RPCStatsGetDone(const void *iterationId,
67 extern int ADMINAPI util_RPCStatsStateGet(struct rx_connection *conn,
68 int (*rpc) (struct rx_connection *,
70 afs_RPCStatsState_p state,
73 extern int ADMINAPI util_RPCStatsStateEnable(struct rx_connection *conn,
74 int (*rpc) (struct rx_connection *),
77 extern int ADMINAPI util_RPCStatsStateDisable(struct rx_connection *conn,
78 int (*rpc) (struct rx_connection *),
81 extern int ADMINAPI util_RPCStatsClear(struct rx_connection *conn,
82 int (*rpc) (struct rx_connection *,
83 afs_RPCStatsClearFlag_t),
84 afs_RPCStatsClearFlag_t flag,
87 extern int ADMINAPI util_RPCStatsVersionGet(struct rx_connection *conn,
88 afs_RPCStatsVersion_p version,
91 typedef struct afs_CMServerPref {
94 } afs_CMServerPref_t, *afs_CMServerPref_p;
96 extern int ADMINAPI util_CMGetServerPrefsBegin(struct rx_connection *conn,
100 extern int ADMINAPI util_CMGetServerPrefsNext(const void *iterationId,
101 afs_CMServerPref_p prefs,
104 extern int ADMINAPI util_CMGetServerPrefsDone(const void *iterationId,
107 typedef struct afs_CMListCell {
108 char cellname[UTIL_MAX_CELL_NAME_LEN];
109 afs_int32 serverAddr[UTIL_MAX_CELL_HOSTS];
110 } afs_CMListCell_t, *afs_CMListCell_p;
112 extern int ADMINAPI util_CMListCellsBegin(struct rx_connection *conn,
116 extern int ADMINAPI util_CMListCellsNext(const void *iterationId,
117 afs_CMListCell_p prefs,
120 extern int ADMINAPI util_CMListCellsDone(const void *iterationId,
123 typedef char afs_CMCellName_t[UTIL_MAX_CELL_NAME_LEN], *afs_CMCellName_p;
125 extern int ADMINAPI util_CMLocalCell(struct rx_connection *conn,
126 afs_CMCellName_p cellName,
129 extern int ADMINAPI util_CMClientConfig(struct rx_connection *conn,
130 afs_ClientConfig_p config,
133 typedef char rxdebugVersion_t[UTIL_MAX_RXDEBUG_VERSION_LEN],
136 extern int ADMINAPI util_RXDebugVersion(rxdebugHandle_p handle,
137 rxdebugVersion_p version,
140 extern int ADMINAPI util_RXDebugSupportedStats(rxdebugHandle_p handle,
141 afs_uint32 * supportedStats,
144 extern int ADMINAPI util_RXDebugBasicStats(rxdebugHandle_p handle,
145 struct rx_debugStats *stats,
148 extern int ADMINAPI util_RXDebugRxStats(rxdebugHandle_p handle,
149 struct rx_statistics *stats,
150 afs_uint32 * supportedStats,
153 extern int ADMINAPI util_RXDebugConnectionsBegin(rxdebugHandle_p handle,
158 extern int ADMINAPI util_RXDebugConnectionsNext(const void *iterationId,
159 struct rx_debugConn *conn,
160 afs_uint32 * supportedValues,
163 extern int ADMINAPI util_RXDebugConnectionsDone(const void *iterationId,
166 extern int ADMINAPI util_RXDebugPeersBegin(rxdebugHandle_p handle,
170 extern int ADMINAPI util_RXDebugPeersNext(const void *iterationId,
171 struct rx_debugPeer *peer,
172 afs_uint32 * supportedValues,
175 extern int ADMINAPI util_RXDebugPeersDone(const void *iterationId,
178 #endif /* OPENAFS_UTIL_ADMIN_H */