Commit Graph

315 Commits (f965ec74cf2c14c0e28318c1d80afe3755e847a3)

Author SHA1 Message Date
Ronnie Sahlberg f965ec74cf ps2ee: PS2 EE support
Initial support for building a library for PS2 EmotionEngine

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2021-09-17 07:27:44 +10:00
Ronnie Sahlberg fca28fe112 url: add support for using escaped characters in the url.
We need to allow users to specify escaped characters as part of the 'path'
field of a URL.
For example, '?' is used to separate the part and the optional list of
arguments.
IF 'path' contains a '?' character then that must be escaped as %3F.
So that libnfs will be able to tell it apart from the '?' separator.

I.e.
nfs://127.0.0.1/my?path/?version=4
must be escaped as
nfs://127.0.0.1/my%3Fpath/?version=4
before passed to any of the URL parsing functions.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2021-09-01 08:17:23 +10:00
Ronnie Sahlberg 965b1914ef Allow setting max read/write size from the api
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2021-08-10 16:29:42 +10:00
Ronnie Sahlberg 752cb4134d url: add support for server:port syntax in the url
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2021-07-18 07:46:09 +10:00
Ronnie Sahlberg cdb377532a acl: add support and helpers to read nfsv4 acls
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2021-07-17 20:11:56 +10:00
Damian c7ad0762d8 Porting library to PS3 (psl1ght) 2020-08-14 11:47:39 -03:00
Adam Yi dfa85d4c36 Fix seekdir
The previous implementation doesn't actually update dir->current but
resets dir->current to dir->entries
2020-06-23 02:11:33 +10:00
crusader-mike 9d5427bbd4 fixed few MSVC warnings; fixed missing exports 2019-10-09 17:08:10 -05:00
Ronnie Sahlberg 9e63589591 add nfs_umount() which will unregister the client from the mount daemon
This is only implemented for v3 since there is no mount protocol in v4.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-12-29 13:56:29 +10:00
Ronnie Sahlberg 48a559cb47 Add nfs_statvfs64()
Add a new function nfs_statvfs64() that returns a struct nfs_statvfs_64
where all fields are uint64_t.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-12-26 13:33:38 +10:00
Anna Lyons 794a29f01f libnfs.c: include <time.h> in libnfs.c
time() is used in this file, which is from time.h. Fixes a warning.
2018-07-12 17:45:23 +10:00
Ronnie Sahlberg 5c1444f391 conditionally include sys/time.h from libnfs.c
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-07-03 18:58:15 +10:00
Ronnie Sahlberg 63ba842be9
Merge pull request #252 from shreyassiravara/nfs-pagecache-export
Add & export a call to initialize the pagecache
2018-04-29 10:26:31 +10:00
Shreyas Siravara 1fff7707f2 Add & export a call to initialize the pagecache 2018-04-26 18:15:02 -07:00
Shreyas Siravara 286d13b4de Allow nfs_closedir to accept a nullptr for the nfs context
In the case where dircache is not enabled, we should be able to call
closedir without an nfs context.
2018-04-23 12:39:51 -07:00
Daniel Abrecht b3fd3ca7e4 Move win32/win32_compat.h to include/win32/win32_compat.h 2018-04-16 19:42:38 +00:00
Ronnie Sahlberg b54fc96e00 Add nfsport/mountport arguments
Add two arguments to set which port to use for MOUNT (only used in NFSv3)
as well as for the NFS protocols.
When set to non-zero libnfs will connect directly to that port and bypass
the use of portmapper completely.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-04-08 14:36:37 +10:00
cosmoer 8cef36c7f3 When a function fails, its status for the callback function should be passed RPC_STATUS_ERROR,because the original status variable is RPC_STATUS_SUCCESS.
Signed-off-by: cosmoer <cosmoer@qq.com>
2018-02-03 14:50:28 +08:00
Ronnie Sahlberg ca0291022a improve error string for rpc_connect_program_async failures
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-02-02 14:23:57 +10:00
Ronnie Sahlberg 086c2ec138 improve error strings for rpc_connect_program_async() failures.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-02-01 13:28:05 +10:00
Ronnie Sahlberg 4dda1f87a4 nfsv4: add support for utime()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-01-10 17:09:14 +10:00
Ronnie Sahlberg 50068b8432 NFSv4: add support for fcntl locking
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-01-08 14:38:30 +10:00
Ronnie Sahlberg 208dd08039 NFSv4: add lockf emulation
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2018-01-07 08:35:42 +10:00
Ronnie Sahlberg 8489557694 NFSv4: add utimes/lutimes support
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-09-03 06:25:55 +10:00
Ronnie Sahlberg 5ebd10f54c NFSv4: Add access()/access2()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-09-03 05:43:04 +10:00
Ronnie Sahlberg 4c6d19b3b8 NFSv4: Add support for chown/lchown/fchown
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-09-02 06:42:59 +10:00
Ronnie Sahlberg 6c034223fd NFSv4: Add support for chmod/lchmod/fchmod
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-09-01 14:02:43 +10:00
Ronnie Sahlberg c7655f90ca NFSv4: Add support for statvfs()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-27 07:56:19 +10:00
Ronnie Sahlberg 8f12f7f0a0 NFSv4: Add lseek() support.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-26 08:05:12 +10:00
Ronnie Sahlberg 73b81297e7 NFSv4: Add support for ftruncate()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-26 01:31:25 +10:00
Ronnie Sahlberg 80d3f48199 NFSv4: Add support for fsync()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-26 01:07:22 +10:00
Ronnie Sahlberg 2b6216dd6f NFSv4: add nfs_truncate() support
Rework the open() flow so we can append a extra callback to be invoked
once the open has completed.
Use this new feature to implement both nfs_truncate() as well as simplify
open(O_TRUNC) support.

Later this can be used for other commands too that need to open a path
and do something.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-25 10:37:07 +10:00
Ronnie Sahlberg cea99f8ed5 NFSv4: Add support for opendir()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-20 09:08:46 +10:00
Ronnie Sahlberg bd95371005 NFSv4: Add support for mknod()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-15 20:05:47 +10:00
Ronnie Sahlberg de9da5689d NFSv4: Add rename() support.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-14 09:20:08 +10:00
Ronnie Sahlberg ffafa5fd9c NFSv4: add nfs_link() support.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-08 20:47:22 +10:00
Ronnie Sahlberg 352325169c NFSv4: Add support for nfs_unlink()
This function is identical to nfs_rmdir() so create a common
function that we call from both unlink and rmdir.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-06 19:24:05 +10:00
Ronnie Sahlberg 9854c0d574 NFSv4: Add support for open_create() by plumbing it into open(O_CREAT)
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-06 19:15:04 +10:00
Ronnie Sahlberg efb21535ab NFSv4: Use nfs->mask when create the default mode for open(O_CREAT)
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-06 18:57:55 +10:00
Ronnie Sahlberg 0ce4917afd nfs_open2(): Add a new nfs_open2() function that takes a mode argument.
Pass mode all the way down to nfs*_open_async() but we do not yet have any
plumbing to actually use it. That will come later as we implement O_CREAT
support.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-06 16:02:39 +10:00
Ronnie Sahlberg 65de83140a NFSv4: Add support (and tests) for open(O_APPEND)
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-08-03 20:25:59 +10:00
Ronnie Sahlberg 61e071d448 NFSv4: Add support for nfs_[p]write()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-29 19:52:41 +10:00
Ronnie Sahlberg 5c2d989887 NFSv4: Add support for readlink()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg f3211e9be5 NFSv4 Add support for symlink()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg dce044ab53 NFSv4: Add support for read() and pread()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg 0d9dd0ee44 NFSv4 Add support for nfs_open() nfs_fstat64() nfs_close()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-26 14:26:29 +10:00
Ronnie Sahlberg 93fbecd7c1 NFSv4 Add support for nfs_rmdir()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-14 07:04:28 +10:00
Ronnie Sahlberg 8a9fceb725 NFSv4: Add support for nfs_mkdir2()
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-13 23:04:35 +10:00
Ronnie Sahlberg 3ced39f567 Rework the NFSv4 path lookup framework so it handles symlinks properly.
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-13 18:22:27 +10:00
Ronnie Sahlberg dc9669abd5 Fix compiler warnings about cast from char* -> uint32_t*
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2017-07-08 16:33:55 +10:00