On Thu, 23 Feb 2006, Jeffrey Horner wrote:
Hello all,
I'd like to utilize the R_Sock* functions from R_ext/R-ftp-http.h in my
R package. The intent is to use these in conjunction with R_serialize()
to store R objects in a remote data store. I'm aware that version
2.2.1 of "Writing R extensions" explains that these may be undocumented
and unstable, but I have a couple of questions:
1) are they platform independent? I presume they are...
Only in sense that they have a common interface.
2) What's the appropriate way to link against them? On Linux x86, I can
do this with the Makevars:
You can, but that is a module and not a library and so it does not work on
MacOS X and may well not work on Windows (you would be lucky prior to R
2.3.0).
I wonder why you need a C interface at all. There is serialize() and
socket connections are available at R level. Below that, Rsockopen etc are
exported from R itself and underly make.socket etc.
I may not need it (or get to use it portably), but as far as using Rsockopen,
etc. am I right in assuming that a package writer would have to copy the
declarations from src/main/basedecl.h into his/her own code in order to
utilize them? This seems odd when there's already an exposed (although
undocumented) interface with R_Sock*, so what's the point of having
R_ext/R-ftp-http.h? Is it just for some xml package?