Commit | Line | Data |
---|---|---|
84004dbf RS |
1 | LIBNFS is a client library for accessing NFS shares over a network. |
2 | ||
3 | LIBNFS offers three different APIs, for different use : | |
4 | 1, RAW : A fully async low level rpc library for nfs protocols | |
5 | This API is described in include/libnfs-raw.h | |
6 | it offers a fully async interface to raw XDR encoded blobs. | |
7 | This api provides very flexible and precice control of the RPC issued. | |
8 | ||
9 | examples/nfsclient-raw.c provides examples on how to use the raw API | |
10 | ||
11 | 2, NFS ASYNC : A fully asynchronous library for high level vfs functions | |
12 | This API is described by the *_async() fucntions in include/libnfs.h. | |
13 | This API provides a fully async access to posix vfs like functions such as | |
14 | stat(), read(), ... | |
15 | ||
16 | examples/nfsclient-async.c provides examples on how to use this API | |
17 | ||
18 | ||
19 | 3, NFS SYNC : A synchronous library for high level vfs functions | |
20 | This API is described by the *_sync() fucntions in include/libnfs.h. | |
21 | This API provides access to posix vfs like functions such as | |
22 | stat(), read(), ... | |
23 | ||
24 | examples/nfsclient-sync.c provides examples on how to use this API | |
f7b81274 RS |
25 | |
26 | ||
27 | ||
28 | ROOT vs NON-ROOT | |
29 | ================ | |
30 | When running as root, libnfs tries to allocate a system port for its connection | |
31 | to the nfs server. When running as non-root it will use a normal | |
32 | ephemeral port. | |
33 | Many NFS servers default to a mode where they do not allow non-system | |
34 | ports from connecting. | |
35 | These servers require you use the "insecure" export option in /etc/exports | |
36 | in order to allow libnfs clients to be able to connect. | |
2461e211 | 37 | |
9f88cb06 | 38 | PLATFORM support |
2461e211 M |
39 | ================= |
40 | As of now this is tested with linux, MacOSX and Apple iOS. | |
41 | ||
42 | Linux: - tested with Ubuntu 10.04 - should work with others aswell | |
c03a1e82 | 43 | Cygwin: - tested under 64bit win2k8. |
2461e211 M |
44 | MacOSX: - tested with SDK 10.4 (under Snow Leopard) - should also work with later SDKs and 64Bit |
45 | iOS: - tested with iOS SDK 4.2 - running on iOS 4.3.x | |
9f88cb06 | 46 | FreeBSD:- tested with 8.2 |
647d2ea1 | 47 | OpenSolaris |
c03a1e82 RS |
48 | |
49 | ||
50 | Cygwin | |
51 | ------ | |
52 | Configure with './configure --enable-tirpc' since cygwin only supports ti-rpc and not classic rpc. | |
53 |