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 IDB_SET_MAXOBJCOUNT,
00178 IDB_GET_MAXOBJCOUNT,
00179 IDB_SET_LOGSIZE,
00180 IDB_GET_LOGSIZE
00181 };
00182
00183 struct ConnHandle {
00184 rpc_ConnHandle *ch;
00185
00186 };
00187
00188 #ifndef _IDB_KERN_
00189
00190 struct DbHandle {
00191 ConnHandle *ch;
00192 rpcDB_LocalDBContext ldbctx;
00193 int tr_cnt;
00194 eyedbsm::Oid sch_oid;
00195 int flags;
00196 union {
00197 void *dbh;
00198 int rdbhid;
00199 } u;
00200 void *db;
00201 };
00202 #endif
00203
00204
00205 extern rpc_RpcDescription
00206 *makeDBMCREATE(void),
00207 *makeDBMUPDATE(void),
00208
00209 *makeDBCREATE(void),
00210 *makeDBDELETE(void),
00211 *makeDBINFO(void),
00212 *makeDBMOVE(void),
00213 *makeDBCOPY(void),
00214 *makeDBRENAME(void),
00215
00216 *makeUSER_ADD(void),
00217 *makeUSER_DELETE(void),
00218 *makeUSER_PASSWD_SET(void),
00219 *makePASSWD_SET(void),
00220
00221 *makeDEFAULT_DBACCESS_SET(void),
00222 *makeUSER_DBACCESS_SET(void),
00223 *makeUSER_SYSACCESS_SET(void),
00224
00225 *makeBACKEND_INTERRUPT(void),
00226
00227 *makeTRANSACTION_BEGIN(void),
00228 *makeTRANSACTION_COMMIT(void),
00229 *makeTRANSACTION_ABORT(void),
00230
00231 *makeTRANSACTION_PARAMS_SET(void),
00232 *makeTRANSACTION_PARAMS_GET(void),
00233
00234 *makeDBOPEN(void),
00235 *makeDBOPENLOCAL(void),
00236 *makeDBCLOSE(void),
00237
00238 *makeOBJECT_CREATE(void),
00239 *makeOBJECT_READ(void),
00240 *makeOBJECT_WRITE(void),
00241 *makeOBJECT_DELETE(void),
00242 *makeOBJECT_HEADER_READ(void),
00243 *makeOBJECT_SIZE_MODIFY(void),
00244 *makeOBJECT_PROTECTION_SET(void),
00245 *makeOBJECT_PROTECTION_GET(void),
00246 *makeOBJECT_CHECK(void),
00247
00248 *makeOID_MAKE(void),
00249
00250 *makeDATA_CREATE(void),
00251 *makeDATA_READ(void),
00252 *makeDATA_WRITE(void),
00253 *makeDATA_DELETE(void),
00254 *makeDATA_SIZE_GET(void),
00255 *makeDATA_SIZE_MODIFY(void),
00256
00257 *makeVDDATA_CREATE(void),
00258 *makeVDDATA_WRITE(void),
00259 *makeVDDATA_DELETE(void),
00260
00261 *makeSCHEMA_COMPLETE(void),
00262
00263 *makeATTRIBUTE_INDEX_CREATE(void),
00264 *makeATTRIBUTE_INDEX_REMOVE(void),
00265
00266 *makeINDEX_CREATE(void),
00267 *makeINDEX_REMOVE(void),
00268
00269 *makeCONSTRAINT_CREATE(void),
00270 *makeCONSTRAINT_DELETE(void),
00271
00272 *makeCOLLECTION_GET_BY_IND(void),
00273 *makeCOLLECTION_GET_BY_VALUE(void),
00274
00275 *makeSET_OBJECT_LOCK(void),
00276 *makeGET_OBJECT_LOCK(void),
00277
00278 *makeQUERY_LANG_CREATE(void),
00279 *makeQUERY_DATABASE_CREATE(void),
00280 *makeQUERY_CLASS_CREATE(void),
00281 *makeQUERY_COLLECTION_CREATE(void),
00282 *makeQUERY_ATTRIBUTE_CREATE(void),
00283 *makeQUERY_DELETE(void),
00284 *makeQUERY_SCAN_NEXT(void),
00285
00286 *makeEXECUTABLE_CHECK(void),
00287 *makeEXECUTABLE_EXECUTE(void),
00288 *makeEXECUTABLE_SET_EXTREF_PATH(void),
00289 *makeEXECUTABLE_GET_EXTREF_PATH(void),
00290
00291 *makeOQL_CREATE(void),
00292 *makeOQL_DELETE(void),
00293 *makeOQL_GETRESULT(void),
00294
00295 *makeSET_CONN_INFO(void),
00296 *makeCHECK_AUTH(void),
00297
00298 *makeSET_LOG_MASK(void),
00299
00300 *makeGET_DEFAULT_DATASPACE(void),
00301 *makeSET_DEFAULT_DATASPACE(void),
00302 *makeDATASPACE_SET_CURRENT_DATAFILE(void),
00303 *makeDATASPACE_GET_CURRENT_DATAFILE(void),
00304 *makeGET_DEFAULT_INDEX_DATASPACE(void),
00305 *makeSET_DEFAULT_INDEX_DATASPACE(void),
00306 *makeGET_INDEX_LOCATIONS(void),
00307 *makeMOVE_INDEX(void),
00308 *makeGET_INSTANCE_CLASS_LOCATIONS(void),
00309 *makeMOVE_INSTANCE_CLASS(void),
00310 *makeGET_OBJECTS_LOCATIONS(void),
00311 *makeMOVE_OBJECTS(void),
00312 *makeGET_ATTRIBUTE_LOCATIONS(void),
00313 *makeMOVE_ATTRIBUTE(void),
00314
00315 *makeCREATE_DATAFILE(void),
00316 *makeDELETE_DATAFILE(void),
00317 *makeMOVE_DATAFILE(void),
00318 *makeDEFRAGMENT_DATAFILE(void),
00319 *makeRESIZE_DATAFILE(void),
00320 *makeGET_DATAFILEI_NFO(void),
00321 *makeRENAME_DATAFILE(void),
00322 *makeCREATE_DATASPACE(void),
00323 *makeUPDATE_DATASPACE(void),
00324 *makeDELETE_DATASPACE(void),
00325 *makeRENAME_DATASPACE(void),
00326 *makeINDEX_GET_COUNT(void),
00327 *makeINDEX_GET_STATS(void),
00328 *makeINDEX_SIMUL_STATS(void),
00329 *makeCOLLECTION_GET_IMPLSTATS(void),
00330 *makeCOLLECTION_SIMUL_IMPLSTATS(void),
00331 *makeINDEX_GET_IMPL(void),
00332 *makeCOLLECTION_GET_IMPL(void),
00333 *makeGET_SERVER_OUTOFBAND_DATA(void),
00334 *makeSET_MAXOBJCOUNT(void),
00335 *makeGET_MAXOBJCOUNT(void),
00336 *makeSET_LOGSIZE(void),
00337 *makeGET_LOGSIZE(void);
00338
00339 extern rpc_ArgType
00340 rpcDB_LocalDBContextType,
00341 OidType,
00342 BoolType,
00343 RPCStatusType;
00344
00345 extern RPCStatus
00346 rpcStatusMake(Error, const char *, ...);
00347
00348 extern RPCStatus
00349 rpcStatusMake_s(Error);
00350
00351 extern RPCStatus
00352 rpcStatusMake_se(eyedbsm::Status);
00353
00354 extern RPCStatus _rpc_status__;
00355
00356 extern const int CONN_COUNT;
00357
00358 const eyedblib::uint32 RPC_PROTOCOL_MAGIC = 0x43f2e341;
00359 }
00360
00361 #endif