Libnfs with two patches, already merged to upstream
 
 
 
 
 
 
Go to file
Ronnie Sahlberg dd97d43aad Reset the receive buffer processing the received PDU.
This allows us to have recursive eventloops and do synchronous
rpc calls from a callback.
2013-10-20 13:16:45 -07:00
aros AROS: Add an install target to the makefile 2013-06-08 13:06:17 -07:00
examples [win32] - add projects for examples to the solution and make them compile (all compile but nfsclient-bcast) 2013-05-29 18:41:31 +02:00
include Add support for NFS/PATHCONF 2013-10-20 10:07:19 -07:00
lib Reset the receive buffer processing the received PDU. 2013-10-20 13:16:45 -07:00
mount Remove all remaining references to RPC 2012-12-04 18:55:32 -08:00
nfs Add support for NFS/PATHCONF 2013-10-20 10:07:19 -07:00
nlm Remove all remaining references to RPC 2012-12-04 18:55:32 -08:00
packaging/RPM New version 1.6 2013-05-27 21:35:26 -07:00
portmap Remove all remaining references to RPC 2012-12-04 18:55:32 -08:00
rquota Remove all remaining references to RPC 2012-12-04 18:55:32 -08:00
win32 [win32] - fix missing preprocessor define for using 32bit time_t in 2013-07-10 19:53:54 +02:00
.gitignore Added ignore pattern for Windows intermediate files 2012-09-18 08:35:11 +02:00
COPYING update the licence text and proide an explicit copy of LGPL2.1 and GPL3 2012-03-04 17:13:08 +11:00
LICENCE-GPL-3.txt update the licence text and proide an explicit copy of LGPL2.1 and GPL3 2012-03-04 17:13:08 +11:00
LICENCE-LGPL-2.1.txt update the licence text and proide an explicit copy of LGPL2.1 and GPL3 2012-03-04 17:13:08 +11:00
Makefile.am NLM: initial support for NLM 2012-03-10 20:46:03 +11:00
README READE update the location of the tarballs 2013-05-27 21:50:24 -07:00
README.win32.txt [win32] - completed win32 port 2011-09-12 19:53:33 +02:00
bootstrap Rewrite build system using automake 2011-06-29 14:15:16 -04:00
configure.ac Add configure test for arpa/inet.h 2013-05-28 21:25:08 -07:00
libnfs.pc.in tirpc: use pkg-config to find details 2011-09-19 20:16:03 +10:00
win32build.bat Try making the initial port used a little more random 2013-05-28 17:22:28 -07:00

README

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
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.

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 provides a fully async access to posix vfs like functions such as 
stat(), read(), ...

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 provides access to posix vfs like functions such as 
stat(), read(), ...

examples/nfsclient-sync.c provides examples on how to use this API



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 
ephemeral port.
Many NFS servers default to a mode where they do not allow non-system
ports from connecting.
These servers require you use the "insecure" export option in /etc/exports
in order to allow libnfs clients to be able to connect.

Some versions of Linux support special capabilities that can be assigned to
programs to allow non-root users to bind to system ports.
This is set up by running 
    sudo setcap 'cap_net_bind_service=+ep' /path/to/executable
When libnfs is linked against an executable with this special capability
assigned to it, libnfs may be able to use system ports even when executing
under the privilege of a non-root user account.

This is highly non-portable so IF this works on your linux system, count
yourself lucky.



PLATFORM support
=================
This is a truly multiplatform library.

Linux:  - tested with Ubuntu 10.04 - should work with others aswell
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
FreeBSD:- tested with 8.2
Solaris
Windows:- tested on Windows 7 64 and Windows XP 32 using Visual Studio 10 (see README.win32.txt for build instructions)
Android:
AROS: - Build with 'make -f aros/Makefile.AROS'


RELEASE TARBALLS
================
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
Announcements of new versions of libnfs will be posted to this list.