X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lib%2Flibnfs-sync.c;h=8b57cb40b86eb29dd0958841eeca5e62c2ddd7d4;hb=bf769f960dc086ca35e60a1ecf88ebc385e1c222;hp=9d351f75f44a62afbbbd1e99a5740e3c7ee49006;hpb=3e020c15fd041aea4918103c00c9143a0667c79b;p=deb_libnfs.git diff --git a/lib/libnfs-sync.c b/lib/libnfs-sync.c index 9d351f7..8b57cb4 100644 --- a/lib/libnfs-sync.c +++ b/lib/libnfs-sync.c @@ -268,6 +268,23 @@ int nfs_stat64(struct nfs_context *nfs, const char *path, struct nfs_stat_64 *st return cb_data.status; } +int nfs_lstat64(struct nfs_context *nfs, const char *path, struct nfs_stat_64 *st) +{ + struct sync_cb_data cb_data; + + cb_data.is_finished = 0; + cb_data.return_data = st; + + if (nfs_lstat64_async(nfs, path, stat64_cb, &cb_data) != 0) { + nfs_set_error(nfs, "nfs_lstat64_async failed"); + return -1; + } + + wait_for_nfs_reply(nfs, &cb_data); + + return cb_data.status; +} + /* * open() */ @@ -1068,6 +1085,25 @@ int nfs_chown(struct nfs_context *nfs, const char *path, int uid, int gid) return cb_data.status; } +/* + * lchown() + */ +int nfs_lchown(struct nfs_context *nfs, const char *path, int uid, int gid) +{ + struct sync_cb_data cb_data; + + cb_data.is_finished = 0; + + if (nfs_lchown_async(nfs, path, uid, gid, chown_cb, &cb_data) != 0) { + nfs_set_error(nfs, "nfs_lchown_async failed"); + return -1; + } + + wait_for_nfs_reply(nfs, &cb_data); + + return cb_data.status; +} + /* * fchown() */