00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EYEDB_RPCLIB_H
00026 #define _EYEDB_RPCLIB_H
00027
00028 #include <eyedbsm/eyedbsm.h>
00029 #include <eyedb/base_p.h>
00030 #include <eyedblib/rpc.h>
00031 #include <eyedblib/rpcdb.h>
00032 #include <eyedblib/rpc_lib.h>
00033
00034 namespace eyedb {
00035
00036 typedef rpc_StatusRec RPCStatusRec;
00037
00038 typedef const RPCStatusRec *RPCStatus;
00039
00040 enum {
00041 IDB_DBMCREATE = 0x100,
00042 IDB_DBMUPDATE,
00043
00044 IDB_DBCREATE,
00045 IDB_DBDELETE,
00046
00047 IDB_USER_ADD,
00048 IDB_USER_DELETE,
00049 IDB_USER_PASSWD_SET,
00050 IDB_PASSWD_SET,
00051
00052 IDB_DEFAULT_DBACCESS_SET,
00053 IDB_USER_DBACCESS_SET,
00054 IDB_USER_SYSACCESS_SET,
00055
00056 IDB_DBINFO,
00057
00058 IDB_DBMOVE,
00059 IDB_DBCOPY,
00060 IDB_DBRENAME,
00061
00062 IDB_BACKEND_INTERRUPT,
00063
00064 IDB_TRANSACTION_BEGIN,
00065 IDB_TRANSACTION_COMMIT,
00066 IDB_TRANSACTION_ABORT,
00067
00068 IDB_TRANSACTION_PARAMS_SET,
00069 IDB_TRANSACTION_PARAMS_GET,
00070
00071 IDB_DBOPEN,
00072 IDB_DBOPENLOCAL,
00073 IDB_DBCLOSE,
00074
00075 IDB_OBJECT_CREATE,
00076 IDB_OBJECT_READ,
00077 IDB_OBJECT_WRITE,
00078 IDB_OBJECT_DELETE,
00079 IDB_OBJECT_HEADER_READ,
00080 IDB_OBJECT_SIZE_MODIFY,
00081 IDB_OBJECT_CHECK,
00082
00083 IDB_OID_MAKE,
00084
00085 IDB_DATA_CREATE,
00086 IDB_DATA_READ,
00087 IDB_DATA_WRITE,
00088 IDB_DATA_DELETE,
00089 IDB_DATA_SIZE_GET,
00090 IDB_DATA_SIZE_MODIFY,
00091
00092 IDB_VDDATA_CREATE,
00093 IDB_VDDATA_WRITE,
00094 IDB_VDDATA_DELETE,
00095
00096 IDB_SCHEMA_COMPLETE,
00097
00098 IDB_ATTRIBUTE_INDEX_CREATE,
00099 IDB_ATTRIBUTE_INDEX_REMOVE,
00100
00101 IDB_INDEX_CREATE,
00102 IDB_INDEX_REMOVE,
00103
00104 IDB_CONSTRAINT_CREATE,
00105 IDB_CONSTRAINT_DELETE,
00106
00107 IDB_COLLECTION_GET_BY_IND,
00108 IDB_COLLECTION_GET_BY_VALUE,
00109
00110 IDB_SET_OBJECT_LOCK,
00111 IDB_GET_OBJECT_LOCK,
00112
00113 IDB_ITERATOR_LANG_CREATE,
00114 IDB_ITERATOR_DATABASE_CREATE,
00115 IDB_ITERATOR_CLASS_CREATE,
00116 IDB_ITERATOR_COLLECTION_CREATE,
00117 IDB_ITERATOR_ATTRIBUTE_CREATE,
00118 IDB_ITERATOR_DELETE,
00119 IDB_ITERATOR_SCAN_NEXT,
00120
00121 IDB_EXECUTABLE_CHECK,
00122 IDB_EXECUTABLE_EXECUTE,
00123 IDB_EXECUTABLE_SET_EXTREF_PATH,
00124 IDB_EXECUTABLE_GET_EXTREF_PATH,
00125
00126 IDB_SET_CONN_INFO,
00127 IDB_CHECK_AUTH,
00128
00129 IDB_INDEX_GET_COUNT,
00130 IDB_INDEX_GET_STATS,
00131 IDB_INDEX_SIMUL_STATS,
00132 IDB_COLLECTION_GET_IMPLSTATS,
00133 IDB_COLLECTION_SIMUL_IMPLSTATS,
00134 IDB_INDEX_GET_IMPL,
00135 IDB_COLLECTION_GET_IMPL,
00136
00137 IDB_OBJECT_PROTECTION_SET,
00138 IDB_OBJECT_PROTECTION_GET,
00139
00140 IDB_OQL_CREATE,
00141 IDB_OQL_DELETE,
00142 IDB_OQL_GETRESULT,
00143
00144 IDB_SET_LOG_MASK,
00145
00146 IDB_GET_DEFAULT_DATASPACE,
00147 IDB_SET_DEFAULT_DATASPACE,
00148
00149 IDB_DATASPACE_SET_CURRENT_DATAFILE,
00150 IDB_DATASPACE_GET_CURRENT_DATAFILE,
00151
00152 IDB_GET_DEFAULT_INDEX_DATASPACE,
00153 IDB_SET_DEFAULT_INDEX_DATASPACE,
00154 IDB_GET_INDEX_LOCATIONS,
00155 IDB_MOVE_INDEX,
00156 IDB_GET_INSTANCE_CLASS_LOCATIONS,
00157 IDB_MOVE_INSTANCE_CLASS,
00158 IDB_GET_OBJECTS_LOCATIONS,
00159 IDB_MOVE_OBJECTS,
00160 IDB_GET_ATTRIBUTE_LOCATIONS,
00161 IDB_MOVE_ATTRIBUTE,
00162
00163 IDB_CREATE_DATAFILE,
00164 IDB_DELETE_DATAFILE,
00165 IDB_MOVE_DATAFILE,
00166 IDB_DEFRAGMENT_DATAFILE,
00167 IDB_RESIZE_DATAFILE,
00168 IDB_GET_DATAFILEI_NFO,
00169 IDB_RENAME_DATAFILE,
00170 IDB_CREATE_DATASPACE,
00171 IDB_UPDATE_DATASPACE,
00172 IDB_DELETE_DATASPACE,
00173 IDB_RENAME_DATASPACE,
00174
00175 IDB_GET_SERVER_OUTOFBAND_DATA
00176 };
00177
00178 struct ConnHandle {
00179 rpc_ConnHandle *ch;
00180
00181 };
00182
00183 #ifndef _IDB_KERN_
00184
00185 struct DbHandle {
00186 ConnHandle *ch;
00187 rpcDB_LocalDBContext ldbctx;
00188 int tr_cnt;
00189 eyedbsm::Oid sch_oid;
00190 int flags;
00191 union {
00192 void *dbh;
00193 int rdbhid;
00194 } u;
00195 void *db;
00196 };
00197 #endif
00198
00199
00200 extern rpc_RpcDescription
00201 *makeDBMCREATE(void),
00202 *makeDBMUPDATE(void),
00203
00204 *makeDBCREATE(void),
00205 *makeDBDELETE(void),
00206 *makeDBINFO(void),
00207 *makeDBMOVE(void),
00208 *makeDBCOPY(void),
00209 *makeDBRENAME(void),
00210
00211 *makeUSER_ADD(void),
00212 *makeUSER_DELETE(void),
00213 *makeUSER_PASSWD_SET(void),
00214 *makePASSWD_SET(void),
00215
00216 *makeDEFAULT_DBACCESS_SET(void),
00217 *makeUSER_DBACCESS_SET(void),
00218 *makeUSER_SYSACCESS_SET(void),
00219
00220 *makeBACKEND_INTERRUPT(void),
00221
00222 *makeTRANSACTION_BEGIN(void),
00223 *makeTRANSACTION_COMMIT(void),
00224 *makeTRANSACTION_ABORT(void),
00225
00226 *makeTRANSACTION_PARAMS_SET(void),
00227 *makeTRANSACTION_PARAMS_GET(void),
00228
00229 *makeDBOPEN(void),
00230 *makeDBOPENLOCAL(void),
00231 *makeDBCLOSE(void),
00232
00233 *makeOBJECT_CREATE(void),
00234 *makeOBJECT_READ(void),
00235 *makeOBJECT_WRITE(void),
00236 *makeOBJECT_DELETE(void),
00237 *makeOBJECT_HEADER_READ(void),
00238 *makeOBJECT_SIZE_MODIFY(void),
00239 *makeOBJECT_PROTECTION_SET(void),
00240 *makeOBJECT_PROTECTION_GET(void),
00241 *makeOBJECT_CHECK(void),
00242
00243 *makeOID_MAKE(void),
00244
00245 *makeDATA_CREATE(void),
00246 *makeDATA_READ(void),
00247 *makeDATA_WRITE(void),
00248 *makeDATA_DELETE(void),
00249 *makeDATA_SIZE_GET(void),
00250 *makeDATA_SIZE_MODIFY(void),
00251
00252 *makeVDDATA_CREATE(void),
00253 *makeVDDATA_WRITE(void),
00254 *makeVDDATA_DELETE(void),
00255
00256 *makeSCHEMA_COMPLETE(void),
00257
00258 *makeATTRIBUTE_INDEX_CREATE(void),
00259 *makeATTRIBUTE_INDEX_REMOVE(void),
00260
00261 *makeINDEX_CREATE(void),
00262 *makeINDEX_REMOVE(void),
00263
00264 *makeCONSTRAINT_CREATE(void),
00265 *makeCONSTRAINT_DELETE(void),
00266
00267 *makeCOLLECTION_GET_BY_IND(void),
00268 *makeCOLLECTION_GET_BY_VALUE(void),
00269
00270 *makeSET_OBJECT_LOCK(void),
00271 *makeGET_OBJECT_LOCK(void),
00272
00273 *makeQUERY_LANG_CREATE(void),
00274 *makeQUERY_DATABASE_CREATE(void),
00275 *makeQUERY_CLASS_CREATE(void),
00276 *makeQUERY_COLLECTION_CREATE(void),
00277 *makeQUERY_ATTRIBUTE_CREATE(void),
00278 *makeQUERY_DELETE(void),
00279 *makeQUERY_SCAN_NEXT(void),
00280
00281 *makeEXECUTABLE_CHECK(void),
00282 *makeEXECUTABLE_EXECUTE(void),
00283 *makeEXECUTABLE_SET_EXTREF_PATH(void),
00284 *makeEXECUTABLE_GET_EXTREF_PATH(void),
00285
00286 *makeOQL_CREATE(void),
00287 *makeOQL_DELETE(void),
00288 *makeOQL_GETRESULT(void),
00289
00290 *makeSET_CONN_INFO(void),
00291 *makeCHECK_AUTH(void),
00292
00293 *makeSET_LOG_MASK(void),
00294
00295 *makeGET_DEFAULT_DATASPACE(void),
00296 *makeSET_DEFAULT_DATASPACE(void),
00297 *makeDATASPACE_SET_CURRENT_DATAFILE(void),
00298 *makeDATASPACE_GET_CURRENT_DATAFILE(void),
00299 *makeGET_DEFAULT_INDEX_DATASPACE(void),
00300 *makeSET_DEFAULT_INDEX_DATASPACE(void),
00301 *makeGET_INDEX_LOCATIONS(void),
00302 *makeMOVE_INDEX(void),
00303 *makeGET_INSTANCE_CLASS_LOCATIONS(void),
00304 *makeMOVE_INSTANCE_CLASS(void),
00305 *makeGET_OBJECTS_LOCATIONS(void),
00306 *makeMOVE_OBJECTS(void),
00307 *makeGET_ATTRIBUTE_LOCATIONS(void),
00308 *makeMOVE_ATTRIBUTE(void),
00309
00310 *makeCREATE_DATAFILE(void),
00311 *makeDELETE_DATAFILE(void),
00312 *makeMOVE_DATAFILE(void),
00313 *makeDEFRAGMENT_DATAFILE(void),
00314 *makeRESIZE_DATAFILE(void),
00315 *makeGET_DATAFILEI_NFO(void),
00316 *makeRENAME_DATAFILE(void),
00317 *makeCREATE_DATASPACE(void),
00318 *makeUPDATE_DATASPACE(void),
00319 *makeDELETE_DATASPACE(void),
00320 *makeRENAME_DATASPACE(void),
00321 *makeINDEX_GET_COUNT(void),
00322 *makeINDEX_GET_STATS(void),
00323 *makeINDEX_SIMUL_STATS(void),
00324 *makeCOLLECTION_GET_IMPLSTATS(void),
00325 *makeCOLLECTION_SIMUL_IMPLSTATS(void),
00326 *makeINDEX_GET_IMPL(void),
00327 *makeCOLLECTION_GET_IMPL(void),
00328 *makeGET_SERVER_OUTOFBAND_DATA(void);
00329
00330 extern rpc_ArgType
00331 rpcDB_LocalDBContextType,
00332 OidType,
00333 BoolType,
00334 RPCStatusType;
00335
00336 extern RPCStatus
00337 rpcStatusMake(Error, const char *, ...);
00338
00339 extern RPCStatus
00340 rpcStatusMake_s(Error);
00341
00342 extern RPCStatus
00343 rpcStatusMake_se(eyedbsm::Status);
00344
00345 extern RPCStatus _rpc_status__;
00346
00347 extern const int CONN_COUNT;
00348
00349 const eyedblib::uint32 RPC_PROTOCOL_MAGIC = 0x43f2e341;
00350 }
00351
00352 #endif