X-Git-Url: https://git.piment-noir.org/?p=deb_libnfs.git;a=blobdiff_plain;f=include%2Fnfsc%2Flibnfs.h;h=dfa2185a06b57854be7f3aea6a9df5291065fbde;hp=406fcdfa0b4525bab3e582f5cdc0f6a903634cd6;hb=f1f22dbf6222c4899b45d9c83ccf1b6314464869;hpb=ee872606f1e484f684276ec595f1e39d1f95b9a9 diff --git a/include/nfsc/libnfs.h b/include/nfsc/libnfs.h index 406fcdf..dfa2185 100644 --- a/include/nfsc/libnfs.h +++ b/include/nfsc/libnfs.h @@ -28,11 +28,17 @@ #if defined(AROS) #include #endif +#if defined(__APPLE__) && defined(__MACH__) +#include +#endif #ifdef __cplusplus extern "C" { #endif +#define LIBNFS_FEATURE_READAHEAD +#define NFS_BLKSIZE 4096 + struct nfs_context; struct rpc_context; @@ -181,6 +187,7 @@ EXTERN uint64_t nfs_get_writemax(struct nfs_context *nfs); EXTERN void nfs_set_tcp_syncnt(struct nfs_context *nfs, int v); EXTERN void nfs_set_uid(struct nfs_context *nfs, int uid); EXTERN void nfs_set_gid(struct nfs_context *nfs, int gid); +EXTERN void nfs_set_readahead(struct nfs_context *nfs, uint32_t v); /* * MOUNT THE EXPORT @@ -322,13 +329,15 @@ EXTERN int nfs_fstat(struct nfs_context *nfs, struct nfsfh *nfsfh, struct stat * /* * Async open() * - * mode is a combination of the flags : O_RDOLNY, O_WRONLY, O_RDWR , O_SYNC + * mode is a combination of the flags : + * O_RDOLNY, O_WRONLY, O_RDWR , O_SYNC, O_APPEND * * Function returns * 0 : The operation was initiated. Once the operation finishes, the callback will be invoked. * <0 : An error occured when trying to set up the operation. The callback will not be invoked. * * Supported flags are + * O_APPEND * O_RDONLY * O_WRONLY * O_RDWR @@ -504,14 +513,14 @@ EXTERN int nfs_write(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t coun * -errno : An error occured. * data is the error string. */ -EXTERN int nfs_lseek_async(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t offset, int whence, nfs_cb cb, void *private_data); +EXTERN int nfs_lseek_async(struct nfs_context *nfs, struct nfsfh *nfsfh, int64_t offset, int whence, nfs_cb cb, void *private_data); /* * Sync lseek() * Function returns * >=0 : numer of bytes read. * -errno : An error occured. */ -EXTERN int nfs_lseek(struct nfs_context *nfs, struct nfsfh *nfsfh, uint64_t offset, int whence, uint64_t *current_offset); +EXTERN int nfs_lseek(struct nfs_context *nfs, struct nfsfh *nfsfh, int64_t offset, int whence, uint64_t *current_offset); /* @@ -776,6 +785,7 @@ struct nfsdirent { struct timeval ctime; uint32_t uid; uint32_t gid; + uint32_t nlink; }; /* * nfs_readdir() never blocks, so no special sync/async versions are available