mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 07:05:33 +02:00
Clean out some more generated files from the bdb tree. Add a hack
to bdb/dist/s_rpc so that bk doesn't complain about the rpc_server/db_server_proc.c file that gets overwritten (but needs to be stored in BK). Add a bdb/dist/template directory which is needed by bdb/dist/s_recover. BitKeeper/deleted/.del-gen_client_ext.h~5c621cacb18b38: Delete: bdb/include/gen_client_ext.h BitKeeper/deleted/.del-gen_client_ret~786a5e65119b3991: Delete: bdb/dist/template/gen_client_ret BitKeeper/deleted/.del-db_server.x~811aeb6b630fe7aa: Delete: bdb/rpc_server/db_server.x BitKeeper/deleted/.del-db_server_proc.sed~1a9af8e5b051acbd: Delete: bdb/rpc_server/db_server_proc.sed BitKeeper/deleted/.del-db_server_proc~2e8b49d42aefab55: Delete: bdb/dist/template/db_server_proc BitKeeper/deleted/.del-gen_server_ext.h~fd7bcfe6bbca8bcb: Delete: bdb/include/gen_server_ext.h BitKeeper/deleted/.del-db_archive.dsp~e3da826e91bb086: Delete: bdb/build_win32/db_archive.dsp BitKeeper/deleted/.del-db_checkpoint.dsp~8071af22db95b1db: Delete: bdb/build_win32/db_checkpoint.dsp BitKeeper/deleted/.del-db_deadlock.dsp~befd45d29eaeb672: Delete: bdb/build_win32/db_deadlock.dsp BitKeeper/deleted/.del-db_dll.dsp~4e9dda53c84511b6: Delete: bdb/build_win32/db_dll.dsp BitKeeper/deleted/.del-db_dump.dsp~e07d2a82708b61: Delete: bdb/build_win32/db_dump.dsp BitKeeper/deleted/.del-db_java.dsp~e3941d5a9810b360: Delete: bdb/build_win32/db_java.dsp BitKeeper/deleted/.del-db_load.dsp~e83a2af8e24a715d: Delete: bdb/build_win32/db_load.dsp BitKeeper/deleted/.del-db_printlog.dsp~163f6e1073a5f396: Delete: bdb/build_win32/db_printlog.dsp BitKeeper/deleted/.del-db_recover.dsp~835c32ab73359256: Delete: bdb/build_win32/db_recover.dsp BitKeeper/deleted/.del-db_stat.dsp~f77417f5d9984986: Delete: bdb/build_win32/db_stat.dsp BitKeeper/deleted/.del-db_static.dsp~78ea414467defc70: Delete: bdb/build_win32/db_static.dsp BitKeeper/deleted/.del-db_tcl.dsp~5ad951d774e41520: Delete: bdb/build_win32/db_tcl.dsp BitKeeper/deleted/.del-db_upgrade.dsp~90fd250190af4984: Delete: bdb/build_win32/db_upgrade.dsp BitKeeper/deleted/.del-db_verify.dsp~e9a4938542f86cea: Delete: bdb/build_win32/db_verify.dsp BitKeeper/deleted/.del-ex_access.dsp~8dd6017efffae14e: Delete: bdb/build_win32/ex_access.dsp BitKeeper/deleted/.del-ex_btrec.dsp~c87137287d8d67dc: Delete: bdb/build_win32/ex_btrec.dsp BitKeeper/deleted/.del-ex_env.dsp~1732d5e41efda77: Delete: bdb/build_win32/ex_env.dsp BitKeeper/deleted/.del-ex_lock.dsp~286d2566e786dde: Delete: bdb/build_win32/ex_lock.dsp BitKeeper/deleted/.del-ex_mpool.dsp~9eb937bc70c1573: Delete: bdb/build_win32/ex_mpool.dsp BitKeeper/deleted/.del-ex_tpcb.dsp~644b38dae8b38152: Delete: bdb/build_win32/ex_tpcb.dsp BitKeeper/deleted/.del-excxx_access.dsp~31e87b6228470681: Delete: bdb/build_win32/excxx_access.dsp BitKeeper/deleted/.del-excxx_btrec.dsp~61b563f4ac1f73eb: Delete: bdb/build_win32/excxx_btrec.dsp BitKeeper/deleted/.del-excxx_env.dsp~b0bf2649a4c797ac: Delete: bdb/build_win32/excxx_env.dsp BitKeeper/deleted/.del-excxx_lock.dsp~257abf03544f6270: Delete: bdb/build_win32/excxx_lock.dsp BitKeeper/deleted/.del-excxx_mpool.dsp~d17a5d09f09f5217: Delete: bdb/build_win32/excxx_mpool.dsp BitKeeper/deleted/.del-excxx_tpcb.dsp~159c727e2c15105e: Delete: bdb/build_win32/excxx_tpcb.dsp BitKeeper/deleted/.del-logtrack.list~7f4f1382b37d98e5: Delete: bdb/test/logtrack.list BitKeeper/etc/ignore: added bdb/build_win32/db_archive.dsp bdb/build_win32/db_checkpoint.dsp bdb/build_win32/db_deadlock.dsp bdb/build_win32/db_dump.dsp bdb/build_win32/db_load.dsp bdb/build_win32/db_printlog.dsp bdb/build_win32/db_recover.dsp bdb/build_win32/db_stat.dsp bdb/build_win32/db_upgrade.dsp bdb/build_win32/db_verify.dsp bdb/build_win32/ex_access.dsp bdb/build_win32/ex_btrec.dsp bdb/build_win32/ex_env.dsp bdb/build_win32/ex_lock.dsp bdb/build_win32/ex_mpool.dsp bdb/build_win32/ex_tpcb.dsp bdb/build_win32/excxx_access.dsp bdb/build_win32/excxx_btrec.dsp bdb/build_win32/excxx_env.dsp bdb/build_win32/excxx_lock.dsp bdb/build_win32/excxx_mpool.dsp bdb/build_win32/excxx_tpcb.dsp bdb/build_win32/db_dll.dsp bdb/build_win32/db_java.dsp bdb/build_win32/db_static.dsp bdb/build_win32/db_tcl.dsp bdb/dist/template/gen_client_ret bdb/dist/template/db_server_proc bdb/include/gen_client_ext.h bdb/include/gen_server_ext.h bdb/rpc_server/db_server_proc.sed bdb/rpc_server/db_server.x bdb/test/logtrack.list bdb/dist/s_rpc: This is a hack to handle the $proc_file special case. Since it is both a source file and a generated file, we have to dance a bit to get it to work with 'bk get', not just with 'bk edit'. This still isn't perfect (I don't know what perfect would be in this case), but it seems to work for now.
This commit is contained in:
parent
5ee5f0dbb8
commit
d7eb456ad3
36 changed files with 50 additions and 7884 deletions
16
bdb/dist/s_rpc
vendored
16
bdb/dist/s_rpc
vendored
|
|
@ -55,8 +55,20 @@ rpcgen -c $xdr_file > $rpcxdr_file
|
|||
# Run server files through sed
|
||||
sed -f $svrsed_file $rpcsvc_file > ${rpcsvc_file}.new
|
||||
mv ${rpcsvc_file}.new $rpcsvc_file
|
||||
sed -f $sed_file $proc_file > ${proc_file}.new
|
||||
mv ${proc_file}.new $proc_file
|
||||
#
|
||||
# This is a hack to handle the $proc_file special case. Since it
|
||||
# is both a source file and a generated file, we have to dance a
|
||||
# bit to get it to work with 'bk get', not just with 'bk edit'.
|
||||
# This still isn't perfect (I don't know what perfect would be in
|
||||
# this case), but it seems to work for now.
|
||||
#
|
||||
#sed -f $sed_file $proc_file > ${proc_file}.new
|
||||
#mv ${proc_file}.new $proc_file
|
||||
#
|
||||
mv $proc_file ${proc_file}.old
|
||||
sed -f $sed_file ${proc_file}.old > $proc_file
|
||||
test -w ${proc_file}.old || chmod a-w $proc_file
|
||||
rm -f ${proc_file}.old
|
||||
|
||||
# Run rpcgen files through sed to add HAVE_RPC ifdef
|
||||
sed -f $rpcsed_file $rpcsvc_file > ${rpcsvc_file}.new
|
||||
|
|
|
|||
3
bdb/dist/template/.IGNORE_ME
vendored
Normal file
3
bdb/dist/template/.IGNORE_ME
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Some combinations of the gzip and tar archive exploders found
|
||||
on Linux systems ignore directories that don't have any files
|
||||
(other than symbolic links) in them. So, here's a file.
|
||||
1057
bdb/dist/template/db_server_proc
vendored
1057
bdb/dist/template/db_server_proc
vendored
File diff suppressed because it is too large
Load diff
522
bdb/dist/template/gen_client_ret
vendored
522
bdb/dist/template/gen_client_ret
vendored
|
|
@ -1,522 +0,0 @@
|
|||
/* Do not edit: automatically built by gen_rpc.awk. */
|
||||
#include "db_config.h"
|
||||
|
||||
#ifdef HAVE_RPC
|
||||
#ifndef NO_SYSTEM_INCLUDES
|
||||
#include <sys/types.h>
|
||||
#include <rpc/rpc.h>
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
#include "db_server.h"
|
||||
|
||||
#include "db_int.h"
|
||||
#include "db_page.h"
|
||||
#include "db_ext.h"
|
||||
#include "txn.h"
|
||||
|
||||
#include "gen_client_ext.h"
|
||||
|
||||
int
|
||||
__dbcl_env_close_ret(dbenv, flags, replyp)
|
||||
DB_ENV * dbenv;
|
||||
u_int32_t flags;
|
||||
__env_close_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_env_open_ret(dbenv, home, flags, mode, replyp)
|
||||
DB_ENV * dbenv;
|
||||
const char * home;
|
||||
u_int32_t flags;
|
||||
int mode;
|
||||
__env_open_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_env_remove_ret(dbenv, home, flags, replyp)
|
||||
DB_ENV * dbenv;
|
||||
const char * home;
|
||||
u_int32_t flags;
|
||||
__env_remove_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_txn_abort_ret(txnp, replyp)
|
||||
DB_TXN * txnp;
|
||||
__txn_abort_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_txn_begin_ret(envp, parent, txnpp, flags, replyp)
|
||||
DB_ENV * envp;
|
||||
DB_TXN * parent;
|
||||
DB_TXN ** txnpp;
|
||||
u_int32_t flags;
|
||||
__txn_begin_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
long txnid;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
txnid = replyp->txnidcl_id;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_txn_commit_ret(txnp, flags, replyp)
|
||||
DB_TXN * txnp;
|
||||
u_int32_t flags;
|
||||
__txn_commit_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_close_ret(dbp, flags, replyp)
|
||||
DB * dbp;
|
||||
u_int32_t flags;
|
||||
__db_close_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_get_ret(dbp, txnp, key, data, flags, replyp)
|
||||
DB * dbp;
|
||||
DB_TXN * txnp;
|
||||
DBT * key;
|
||||
DBT * data;
|
||||
u_int32_t flags;
|
||||
__db_get_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
/* DBT key; */
|
||||
/* DBT data; */
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
/* Handle replyp->keydata; */
|
||||
/* Handle replyp->datadata; */
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_key_range_ret(dbp, txnp, key, range, flags, replyp)
|
||||
DB * dbp;
|
||||
DB_TXN * txnp;
|
||||
DBT * key;
|
||||
DB_KEY_RANGE * range;
|
||||
u_int32_t flags;
|
||||
__db_key_range_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
double less;
|
||||
double equal;
|
||||
double greater;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
less = replyp->less;
|
||||
equal = replyp->equal;
|
||||
greater = replyp->greater;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_open_ret(dbp, name, subdb, type, flags, mode, replyp)
|
||||
DB * dbp;
|
||||
const char * name;
|
||||
const char * subdb;
|
||||
DBTYPE type;
|
||||
u_int32_t flags;
|
||||
int mode;
|
||||
__db_open_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
DBTYPE type;
|
||||
u_int32_t dbflags;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
type = replyp->type;
|
||||
dbflags = replyp->dbflags;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_put_ret(dbp, txnp, key, data, flags, replyp)
|
||||
DB * dbp;
|
||||
DB_TXN * txnp;
|
||||
DBT * key;
|
||||
DBT * data;
|
||||
u_int32_t flags;
|
||||
__db_put_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
/* DBT key; */
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
/* Handle replyp->keydata; */
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_remove_ret(dbp, name, subdb, flags, replyp)
|
||||
DB * dbp;
|
||||
const char * name;
|
||||
const char * subdb;
|
||||
u_int32_t flags;
|
||||
__db_remove_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_rename_ret(dbp, name, subdb, newname, flags, replyp)
|
||||
DB * dbp;
|
||||
const char * name;
|
||||
const char * subdb;
|
||||
const char * newname;
|
||||
u_int32_t flags;
|
||||
__db_rename_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int __db_db_stat_statsreplist __P((__db_stat_statsreplist, u_int32_t **));
|
||||
void __db_db_stat_statsfree __P((u_int32_t *));
|
||||
|
||||
int
|
||||
__dbcl_db_stat_ret(dbp, sp, func0, flags, replyp)
|
||||
DB * dbp;
|
||||
void * sp;
|
||||
void *(*func0) __P((size_t));
|
||||
u_int32_t flags;
|
||||
__db_stat_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
u_int32_t *__db_statslist;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
if ((ret = __db_db_stat_statslist(replyp->statslist, &__db_statslist)) != 0)
|
||||
return (ret);
|
||||
|
||||
/*
|
||||
* XXX Handle list
|
||||
*/
|
||||
|
||||
__db_db_stat_statsfree(__db_statslist);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__db_db_stat_statsreplist(locp, ppp)
|
||||
__db_stat_statsreplist *locp;
|
||||
u_int32_t **ppp;
|
||||
{
|
||||
u_int32_t *pp;
|
||||
int cnt, ret, size;
|
||||
__db_stat_statsreplist *nl;
|
||||
|
||||
for (cnt = 0, nl = locp; nl != NULL; cnt++, nl = nl->next)
|
||||
;
|
||||
|
||||
if (cnt == 0) {
|
||||
*ppp = NULL;
|
||||
return (0);
|
||||
}
|
||||
size = sizeof(*pp) * cnt;
|
||||
if ((ret = __os_malloc(NULL, size, NULL, ppp)) != 0)
|
||||
return (ret);
|
||||
memset(*ppp, 0, size);
|
||||
for (pp = *ppp, nl = locp; nl != NULL; nl = nl->next, pp++) {
|
||||
*pp = *(u_int32_t *)nl->ent.ent_val;
|
||||
}
|
||||
return (0);
|
||||
out:
|
||||
__db_db_stat_statsfree(*ppp);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
void
|
||||
__db_db_stat_statsfree(pp)
|
||||
u_int32_t *pp;
|
||||
{
|
||||
size_t size;
|
||||
u_int32_t *p;
|
||||
|
||||
if (pp == NULL)
|
||||
return;
|
||||
size = sizeof(*p);
|
||||
for (p = pp; *p != 0; p++) {
|
||||
size += sizeof(*p);
|
||||
}
|
||||
__os_free(pp, size);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_cursor_ret(dbp, txnp, dbcpp, flags, replyp)
|
||||
DB * dbp;
|
||||
DB_TXN * txnp;
|
||||
DBC ** dbcpp;
|
||||
u_int32_t flags;
|
||||
__db_cursor_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
long dbcid;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
dbcid = replyp->dbcidcl_id;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_db_join_ret(dbp, curs, dbcp, flags, replyp)
|
||||
DB * dbp;
|
||||
DBC ** curs;
|
||||
DBC ** dbcp;
|
||||
u_int32_t flags;
|
||||
__db_join_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
long dbcid;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
dbcid = replyp->dbcidcl_id;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_dbc_close_ret(dbc, replyp)
|
||||
DBC * dbc;
|
||||
__dbc_close_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_dbc_count_ret(dbc, countp, flags, replyp)
|
||||
DBC * dbc;
|
||||
db_recno_t * countp;
|
||||
u_int32_t flags;
|
||||
__dbc_count_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
db_recno_t dupcount;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
dupcount = replyp->dupcount;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_dbc_dup_ret(dbc, dbcp, flags, replyp)
|
||||
DBC * dbc;
|
||||
DBC ** dbcp;
|
||||
u_int32_t flags;
|
||||
__dbc_dup_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
long dbcid;
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
dbcid = replyp->dbcidcl_id;
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_dbc_get_ret(dbc, key, data, flags, replyp)
|
||||
DBC * dbc;
|
||||
DBT * key;
|
||||
DBT * data;
|
||||
u_int32_t flags;
|
||||
__dbc_get_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
/* DBT key; */
|
||||
/* DBT data; */
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
/* Handle replyp->keydata; */
|
||||
/* Handle replyp->datadata; */
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
int
|
||||
__dbcl_dbc_put_ret(dbc, key, data, flags, replyp)
|
||||
DBC * dbc;
|
||||
DBT * key;
|
||||
DBT * data;
|
||||
u_int32_t flags;
|
||||
__dbc_put_reply *replyp;
|
||||
{
|
||||
int ret;
|
||||
/* DBT key; */
|
||||
|
||||
if (replyp->status != 0)
|
||||
return (replyp->status);
|
||||
/* Handle replyp->keydata; */
|
||||
|
||||
/*
|
||||
* XXX Code goes here
|
||||
*/
|
||||
|
||||
return (replyp->status);
|
||||
}
|
||||
|
||||
#endif /* HAVE_RPC */
|
||||
Loading…
Add table
Add a link
Reference in a new issue