X-Git-Url: https://git.piment-noir.org/?p=deb_libnfs.git;a=blobdiff_plain;f=README;h=701a781cd46e06af65106ea7453ead114825dc29;hp=6d3eb739a34ba22c26e337effaa265a80fa32acb;hb=HEAD;hpb=0df47959c44f959665683e84ed0db3fe98bcd0eb diff --git a/README b/README index 6d3eb73..701a781 100644 --- a/README +++ b/README @@ -1,15 +1,15 @@ LIBNFS is a client library for accessing NFS shares over a network. LIBNFS offers three different APIs, for different use : -1, RAW : A fully async low level rpc library for nfs protocols +1, RAW : A fully async low level RPC library for NFS protocols This API is described in include/libnfs-raw.h it offers a fully async interface to raw XDR encoded blobs. -This api provides very flexible and precice control of the RPC issued. +This API provides very flexible and precise control of the RPC issued. examples/nfsclient-raw.c provides examples on how to use the raw API 2, NFS ASYNC : A fully asynchronous library for high level vfs functions -This API is described by the *_async() fucntions in include/libnfs.h. +This API is described by the *_async() functions in include/libnfs.h. This API provides a fully async access to posix vfs like functions such as stat(), read(), ... @@ -17,7 +17,7 @@ examples/nfsclient-async.c provides examples on how to use this API 3, NFS SYNC : A synchronous library for high level vfs functions -This API is described by the *_sync() fucntions in include/libnfs.h. +This API is described by the *_sync() functions in include/libnfs.h. This API provides access to posix vfs like functions such as stat(), read(), ... @@ -28,11 +28,11 @@ URL-FORMAT: Libnfs uses RFC2224 style URLs extended with libnfs specific url arguments some minor extensions. The basic syntax of these URLs is : -nfs:///path[?arg=val[&arg=val]*] +nfs:///path[?arg=val[&arg=val]*] Arguments supported by libnfs are : - tcp-syncnt= : Number of SYNs to send during the seccion establish - before failing settin up the tcp connection to the + tcp-syncnt= : Number of SYNs to send during the session establish + before failing setting up the tcp connection to the server. uid= : UID value to use when talking to the server. default it 65534 on Windows and getuid() on unixen. @@ -43,7 +43,7 @@ Arguments supported by libnfs are : ROOT vs NON-ROOT ================ When running as root, libnfs tries to allocate a system port for its connection -to the nfs server. When running as non-root it will use a normal +to the NFS server. When running as non-root it will use a normal ephemeral port. Many NFS servers default to a mode where they do not allow non-system ports from connecting. @@ -62,6 +62,14 @@ This is highly non-portable so IF this works on your linux system, count yourself lucky. +DOCUMENTATION +============= +libnfs sources ship with prebuilt manpage(s) in the doc directory. +If you change the manpage sources you need to manually regenerate the new +manpages by running + cd doc + make doc + FUSE ==== A simple FUSE filesystem built on libnfs can be found in @@ -75,7 +83,7 @@ PLATFORM support ================= This is a truly multiplatform library. -Linux: - tested with Ubuntu 10.04 - should work with others aswell +Linux: - tested with Ubuntu 10.04 - should work with others as well Cygwin: - tested under 64bit win2k8. MacOSX: - tested with SDK 10.4 (under Snow Leopard) - should also work with later SDKs and 64Bit iOS: - tested with iOS SDK 4.2 - running on iOS 4.3.x @@ -86,14 +94,34 @@ Android: AROS: - Build with 'make -f aros/Makefile.AROS' +LD_PRELOAD +========== +examples/ld_nfs.c contains a LD_PRELOADable module that can be used to make +several standard utilities nfs aware. +It is still very incomplete but can be used for basic things such as cat and cp. +Patches to add more coverage is welcome. + +Compile with : +gcc -fPIC -shared -o ld_nfs.so examples/ld_nfs.c -ldl -lnfs + +Then try things like +LD_NFS_DEBUG=9 LD_PRELOAD=./ld_nfs.so cat nfs://127.0.0.1/data/tmp/foo123 + +LD_NFS_DEBUG=9 LD_PRELOAD=./ld_nfs.so cp nfs://127.0.0.1/data/tmp/foo123 nfs://127.0.0.1/data/tmp/foo123.copy + +This is just a toy preload module. Don't open bugs if it does not work. Send +patches to make it better instead. + + RELEASE TARBALLS ================ -Release tarballs are available at https://sites.google.com/site/libnfstarballs/li +Release tarballs are available at +https://sites.google.com/site/libnfstarballs/li -MAILINGLIST -=========== -A libnfs mailinglist is available at http://groups.google.com/group/libnfs +MAILING LIST +============ +A libnfs mailing list is available at http://groups.google.com/group/libnfs Announcements of new versions of libnfs will be posted to this list.