From: muench Date: Tue, 20 Apr 2004 09:22:12 +0000 (+0000) Subject: autoconf adjust for rpc under LynxOS X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=706444f3d30773ce2df1eb95563db31b2a09778b;p=daqdata.git autoconf adjust for rpc under LynxOS --- diff --git a/allParam/Makefile.am b/allParam/Makefile.am index 9999b39..7e4a498 100644 --- a/allParam/Makefile.am +++ b/allParam/Makefile.am @@ -28,8 +28,8 @@ BUILT_SOURCES = rpc/rpcParam.h include_HEADERS = @ALLPARAM_H@ EXTRA_HEADERS = include/allParam.h -bin_PROGRAMS = @PAS@ rpcpas -EXTRA_PROGRAMS = pas +bin_PROGRAMS = @PAS@ +EXTRA_PROGRAMS = pas rpcpas lib_LIBRARIES = @LIBCAPARAM_A@ lib_LIBRARIES += @LIBFILEPARAM_A@ @@ -74,6 +74,10 @@ pas_SOURCES += ca/server/paramStringRecord.cc pas_SOURCES += ca/server/record.cc pas_SOURCES += ca/server/paramServer.cc +rpcpas_SOURCES = rpc/rpcpas.c +rpcpas_SOURCES += rpc/rpcParam_svc.c +rpcpas_SOURCES += rpc/rpcParam_xdr.c + noinst_HEADERS = ca/server/arrayDest.h noinst_HEADERS += ca/server/paramBlobRecord.h noinst_HEADERS += ca/server/paramFilenameRecord.h @@ -82,10 +86,6 @@ noinst_HEADERS += ca/server/paramRecordSet.h noinst_HEADERS += ca/server/paramStringRecord.h noinst_HEADERS += ca/server/record.h -rpcpas_SOURCES = rpc/rpcpas.c -rpcpas_SOURCES += rpc/rpcParam_svc.c -rpcpas_SOURCES += rpc/rpcParam_xdr.c - EXTRA_BUILT_SOURCES_MY = oraParam.c clean-local: diff --git a/allParam/Makefile.in b/allParam/Makefile.in index 6a6bd10..f192660 100644 --- a/allParam/Makefile.in +++ b/allParam/Makefile.in @@ -133,8 +133,8 @@ BUILT_SOURCES = rpc/rpcParam.h include_HEADERS = @ALLPARAM_H@ EXTRA_HEADERS = include/allParam.h -bin_PROGRAMS = @PAS@ rpcpas -EXTRA_PROGRAMS = pas +bin_PROGRAMS = @PAS@ +EXTRA_PROGRAMS = pas rpcpas lib_LIBRARIES = @LIBCAPARAM_A@ @LIBFILEPARAM_A@ @LIBORAPARAM_A@ @LIBRPCPARAM_A@ @LIBTCLPARAM_A@ @@ -220,8 +220,8 @@ libtclParam_p_a_AR = $(AR) cru libtclParam_p_a_LIBADD = am_libtclParam_p_a_OBJECTS = libtclParam_p_a-tclParam.$(OBJEXT) libtclParam_p_a_OBJECTS = $(am_libtclParam_p_a_OBJECTS) -EXTRA_PROGRAMS = pas$(EXEEXT) -bin_PROGRAMS = @PAS@ rpcpas$(EXEEXT) +EXTRA_PROGRAMS = pas$(EXEEXT) rpcpas$(EXEEXT) +bin_PROGRAMS = @PAS@ PROGRAMS = $(bin_PROGRAMS) am_pas_OBJECTS = arrayDest.$(OBJEXT) paramBlobRecord.$(OBJEXT) \ diff --git a/allParam/configure b/allParam/configure index ddb081a..11271f0 100644 --- a/allParam/configure +++ b/allParam/configure @@ -856,8 +856,8 @@ Optional Features: (and sometimes confusing) to the casual installer --enable-param=ARG make parameter library for given source, default is "tcl" - --enable-server make pas (in case of --enable-param=ca), default is - "no" + --enable-server make parameter server (in case of --enable-param=ca + or --enable-param=rpc), default is "no" --enable-paramsrc=ARG use parameter library with given source (pas, test), default is "tcl" --disable-dependency-tracking Speeds up one-time builds @@ -1764,7 +1764,7 @@ LIBRPCPARAM="" LIBTCLPARAM="" ALLPARAM_H="include/allParam.h" -if test "x$enable_param" != "xca" +if test "x$enable_param" != "xca" && test "x$enable_param" != "xrpc" then enable_server="no" fi @@ -1786,7 +1786,13 @@ then LIBORAPARAM_A="liboraParam.a liboraParam_p.a" elif test "x$enable_param" = "xrpc" then - LIBRPCPARAM_A="librpcParam.a librpcParam_p.a" + if test "x$enable_server" = "xyes" + then + PAS="rpcpas" + ALLPARAM_H="" + else + LIBRPCPARAM_A="librpcParam.a librpcParam_p.a" + fi elif test "x$enable_param" = "xtcl" then LIBTCLPARAM_A="libtclParam.a libtclParam_p.a" @@ -4484,13 +4490,13 @@ fi -echo "$as_me:$LINENO: checking for library containing syslog" >&5 -echo $ECHO_N "checking for library containing syslog... $ECHO_C" >&6 -if test "${ac_cv_search_syslog+set}" = set; then +echo "$as_me:$LINENO: checking for library containing getprotobyname" >&5 +echo $ECHO_N "checking for library containing getprotobyname... $ECHO_C" >&6 +if test "${ac_cv_search_getprotobyname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS -ac_cv_search_syslog=no +ac_cv_search_getprotobyname=no cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ @@ -4505,11 +4511,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char syslog (); +char getprotobyname (); int main () { -syslog (); +getprotobyname (); ; return 0; } @@ -4526,14 +4532,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_syslog="none required" + ac_cv_search_getprotobyname="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_syslog" = no; then +if test "$ac_cv_search_getprotobyname" = no; then for ac_lib in netinet; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF @@ -4550,11 +4556,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char syslog (); +char getprotobyname (); int main () { -syslog (); +getprotobyname (); ; return 0; } @@ -4571,7 +4577,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_syslog="-l$ac_lib" + ac_cv_search_getprotobyname="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 @@ -4583,20 +4589,20 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi LIBS=$ac_func_search_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_search_syslog" >&5 -echo "${ECHO_T}$ac_cv_search_syslog" >&6 -if test "$ac_cv_search_syslog" != no; then - test "$ac_cv_search_syslog" = "none required" || LIBS="$ac_cv_search_syslog $LIBS" +echo "$as_me:$LINENO: result: $ac_cv_search_getprotobyname" >&5 +echo "${ECHO_T}$ac_cv_search_getprotobyname" >&6 +if test "$ac_cv_search_getprotobyname" != no; then + test "$ac_cv_search_getprotobyname" = "none required" || LIBS="$ac_cv_search_getprotobyname $LIBS" fi -echo "$as_me:$LINENO: checking for library containing SYSLOG_syslog" >&5 -echo $ECHO_N "checking for library containing SYSLOG_syslog... $ECHO_C" >&6 -if test "${ac_cv_search_SYSLOG_syslog+set}" = set; then +echo "$as_me:$LINENO: checking for library containing svc_register" >&5 +echo $ECHO_N "checking for library containing svc_register... $ECHO_C" >&6 +if test "${ac_cv_search_svc_register+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS -ac_cv_search_SYSLOG_syslog=no +ac_cv_search_svc_register=no cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ @@ -4611,11 +4617,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char SYSLOG_syslog (); +char svc_register (); int main () { -SYSLOG_syslog (); +svc_register (); ; return 0; } @@ -4632,15 +4638,15 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_SYSLOG_syslog="none required" + ac_cv_search_svc_register="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_SYSLOG_syslog" = no; then - for ac_lib in compat; do +if test "$ac_cv_search_svc_register" = no; then + for ac_lib in rpc; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" @@ -4656,11 +4662,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char SYSLOG_syslog (); +char svc_register (); int main () { -SYSLOG_syslog (); +svc_register (); ; return 0; } @@ -4677,7 +4683,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_SYSLOG_syslog="-l$ac_lib" + ac_cv_search_svc_register="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 @@ -4689,20 +4695,20 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi LIBS=$ac_func_search_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_search_SYSLOG_syslog" >&5 -echo "${ECHO_T}$ac_cv_search_SYSLOG_syslog" >&6 -if test "$ac_cv_search_SYSLOG_syslog" != no; then - test "$ac_cv_search_SYSLOG_syslog" = "none required" || LIBS="$ac_cv_search_SYSLOG_syslog $LIBS" +echo "$as_me:$LINENO: result: $ac_cv_search_svc_register" >&5 +echo "${ECHO_T}$ac_cv_search_svc_register" >&6 +if test "$ac_cv_search_svc_register" != no; then + test "$ac_cv_search_svc_register" = "none required" || LIBS="$ac_cv_search_svc_register $LIBS" fi -echo "$as_me:$LINENO: checking for library containing shm_open" >&5 -echo $ECHO_N "checking for library containing shm_open... $ECHO_C" >&6 -if test "${ac_cv_search_shm_open+set}" = set; then +echo "$as_me:$LINENO: checking for library containing syslog" >&5 +echo $ECHO_N "checking for library containing syslog... $ECHO_C" >&6 +if test "${ac_cv_search_syslog+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS -ac_cv_search_shm_open=no +ac_cv_search_syslog=no cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" /* confdefs.h. */ @@ -4717,11 +4723,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char shm_open (); +char syslog (); int main () { -shm_open (); +syslog (); ; return 0; } @@ -4738,15 +4744,15 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_shm_open="none required" + ac_cv_search_syslog="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -if test "$ac_cv_search_shm_open" = no; then - for ac_lib in rt; do +if test "$ac_cv_search_syslog" = no; then + for ac_lib in netinet; do LIBS="-l$ac_lib $ac_func_search_save_LIBS" cat >conftest.$ac_ext <<_ACEOF #line $LINENO "configure" @@ -4762,11 +4768,11 @@ extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ -char shm_open (); +char syslog (); int main () { -shm_open (); +syslog (); ; return 0; } @@ -4783,7 +4789,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then - ac_cv_search_shm_open="-l$ac_lib" + ac_cv_search_syslog="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 @@ -4795,10 +4801,116 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi LIBS=$ac_func_search_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_search_shm_open" >&5 -echo "${ECHO_T}$ac_cv_search_shm_open" >&6 -if test "$ac_cv_search_shm_open" != no; then - test "$ac_cv_search_shm_open" = "none required" || LIBS="$ac_cv_search_shm_open $LIBS" +echo "$as_me:$LINENO: result: $ac_cv_search_syslog" >&5 +echo "${ECHO_T}$ac_cv_search_syslog" >&6 +if test "$ac_cv_search_syslog" != no; then + test "$ac_cv_search_syslog" = "none required" || LIBS="$ac_cv_search_syslog $LIBS" + +fi + +echo "$as_me:$LINENO: checking for library containing SYSLOG_syslog" >&5 +echo $ECHO_N "checking for library containing SYSLOG_syslog... $ECHO_C" >&6 +if test "${ac_cv_search_SYSLOG_syslog+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_SYSLOG_syslog=no +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char SYSLOG_syslog (); +int +main () +{ +SYSLOG_syslog (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_SYSLOG_syslog="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_SYSLOG_syslog" = no; then + for ac_lib in compat; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char SYSLOG_syslog (); +int +main () +{ +SYSLOG_syslog (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_SYSLOG_syslog="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_SYSLOG_syslog" >&5 +echo "${ECHO_T}$ac_cv_search_SYSLOG_syslog" >&6 +if test "$ac_cv_search_SYSLOG_syslog" != no; then + test "$ac_cv_search_SYSLOG_syslog" = "none required" || LIBS="$ac_cv_search_SYSLOG_syslog $LIBS" fi @@ -4982,7 +5094,7 @@ fi fi -if test "x$enable_server" = "xyes" +if test "x$enable_server" = "xyes" && test "x$enable_param" = "xca" then echo "$as_me:$LINENO: checking for library containing pthread_create" >&5 echo $ECHO_N "checking for library containing pthread_create... $ECHO_C" >&6 diff --git a/allParam/configure.in b/allParam/configure.in index 2fcb3ec..9dbd311 100644 --- a/allParam/configure.in +++ b/allParam/configure.in @@ -14,7 +14,7 @@ AC_ARG_ENABLE([param], ,[enable_param="tcl"]) AC_ARG_ENABLE([server], AC_HELP_STRING([--enable-server], - [make pas (in case of --enable-param=ca), default is "no"]), + [make parameter server (in case of --enable-param=ca or --enable-param=rpc), default is "no"]), ,[enable_server="no"]) AC_ARG_ENABLE([paramsrc], AC_HELP_STRING([--enable-paramsrc[=ARG]], @@ -46,7 +46,7 @@ LIBRPCPARAM="" LIBTCLPARAM="" ALLPARAM_H="include/allParam.h" -if test "x$enable_param" != "xca" +if test "x$enable_param" != "xca" && test "x$enable_param" != "xrpc" then enable_server="no" fi @@ -68,7 +68,13 @@ then LIBORAPARAM_A="liboraParam.a liboraParam_p.a" elif test "x$enable_param" = "xrpc" then - LIBRPCPARAM_A="librpcParam.a librpcParam_p.a" + if test "x$enable_server" = "xyes" + then + PAS="rpcpas" + ALLPARAM_H="" + else + LIBRPCPARAM_A="librpcParam.a librpcParam_p.a" + fi elif test "x$enable_param" = "xtcl" then LIBTCLPARAM_A="libtclParam.a libtclParam_p.a" @@ -123,9 +129,10 @@ dnl dnl dnl Checks for libraries. dnl +AC_SEARCH_LIBS([getprotobyname], [netinet]) +AC_SEARCH_LIBS([svc_register], [rpc]) AC_SEARCH_LIBS([syslog], [netinet]) AC_SEARCH_LIBS([SYSLOG_syslog], [compat]) -AC_SEARCH_LIBS([shm_open], [rt]) dnl Multithreading is a queer thing in LynxOS ... Mathias made it work somehow AC_SEARCH_LIBS([pthread_create], [pthread]) @@ -136,7 +143,7 @@ then AC_ERROR([No multithreading available])) fi -if test "x$enable_server" = "xyes" +if test "x$enable_server" = "xyes" && test "x$enable_param" = "xca" then dnl Multithreading AC_SEARCH_LIBS([pthread_create], [pthread]) diff --git a/allParam/rpc/rpcpas.c b/allParam/rpc/rpcpas.c index 461f222..5012929 100644 --- a/allParam/rpc/rpcpas.c +++ b/allParam/rpc/rpcpas.c @@ -50,7 +50,7 @@ GetIntRes *getint_1_svc(GetScalarArgs * args, struct svc_req * svcReq) return &res; } -GetIntRes *getint_1(GetScalarArgs * args, struct svc_req * svcReq) { +GetIntRes *getint_1(GetScalarArgs * args, CLIENT *cl) { return getint_1_svc(args, NULL); } @@ -67,7 +67,7 @@ GetStringRes *getstring_1_svc(GetScalarArgs * args, struct svc_req * svcReq) return &res; } -GetStringRes *getstring_1(GetScalarArgs * args, struct svc_req * svcReq) { +GetStringRes *getstring_1(GetScalarArgs * args, CLIENT *cl) { return getstring_1_svc(args, NULL); } @@ -84,7 +84,7 @@ GetStringRes *getfilename_1_svc(GetScalarArgs * args, struct svc_req * svcReq) return &res; } -GetStringRes *getfilename_1(GetScalarArgs * args, struct svc_req * svcReq) { +GetStringRes *getfilename_1(GetScalarArgs * args, CLIENT *cl) { return getfilename_1_svc(args, NULL); } @@ -101,7 +101,7 @@ GetIntArrayRes *getintarray_1_svc(GetArrayArgs * args, struct svc_req * svcReq) return &res; } -GetIntArrayRes *getintarray_1(GetArrayArgs * args, struct svc_req * svcReq) { +GetIntArrayRes *getintarray_1(GetArrayArgs * args, CLIENT *cl) { return getintarray_1_svc(args, NULL); } @@ -123,7 +123,7 @@ GetStringArrayRes *getstringarray_1_svc(GetArrayArgs * args, struct svc_req * sv return &res; } -GetStringArrayRes *getstringarray_1(GetArrayArgs * args, struct svc_req * svcReq) { +GetStringArrayRes *getstringarray_1(GetArrayArgs * args, CLIENT *cl) { return getstringarray_1_svc(args, NULL); } @@ -145,7 +145,7 @@ GetStringArrayRes *getfilenamearray_1_svc(GetArrayArgs * args, struct svc_req * return &res; } -GetStringArrayRes *getfilenamearray_1(GetArrayArgs * args, struct svc_req * svcReq) { +GetStringArrayRes *getfilenamearray_1(GetArrayArgs * args, CLIENT *cl) { return getfilenamearray_1_svc(args, NULL); } @@ -159,7 +159,7 @@ int *storeint_1_svc(StoreIntArgs * args, struct svc_req *svcReq) return &res; } -int *storeint_1(StoreIntArgs * args, struct svc_req *svcReq) { +int *storeint_1(StoreIntArgs * args, CLIENT *cl) { return storeint_1_svc(args, NULL); } @@ -173,6 +173,6 @@ int *storestring_1_svc(StoreStringArgs * args, struct svc_req *svcReq) return &res; } -int *storestring_1(StoreStringArgs * args, struct svc_req *svcReq) { +int *storestring_1(StoreStringArgs * args, CLIENT *cl) { return storestring_1_svc(args, NULL); }