X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fnfsc%2Flibnfs.h;h=1ea756181ba79e2b5e5c8ec8c71c3641adbdb0a5;hb=9126c9c0366028cb799978d145fd361c6635b5f4;hp=094de3c27027bad8280853d924f6a2a1fd3aed9b;hpb=d7c6e9aaa9df593e951e2f19106dcc71102e74f1;p=deb_libnfs.git diff --git a/include/nfsc/libnfs.h b/include/nfsc/libnfs.h index 094de3c..1ea7561 100644 --- a/include/nfsc/libnfs.h +++ b/include/nfsc/libnfs.h @@ -28,6 +28,12 @@ struct nfs_context; struct rpc_context; +struct nfs_url { + char *server; + char *path; + char *file; +}; + #if defined(WIN32) #define EXTERN __declspec( dllexport ) #else @@ -71,7 +77,6 @@ EXTERN int nfs_queue_length(struct nfs_context *nfs); struct AUTH; EXTERN void nfs_set_auth(struct nfs_context *nfs, struct AUTH *auth); - /* * When an operation failed, this function can extract a detailed error string. */ @@ -106,6 +111,31 @@ EXTERN struct nfs_context *nfs_init_context(void); EXTERN void nfs_destroy_context(struct nfs_context *nfs); +/* + * Parse a complete NFS URL including, server, path and + * filename. Fail if any component is missing. + */ +EXTERN struct nfs_url *nfs_parse_url_full(struct nfs_context *nfs, const char *url); + +/* + * Parse an NFS URL, but do not split path and file. File + * in the resulting struct remains NULL. + */ +EXTERN struct nfs_url *nfs_parse_url_dir(struct nfs_context *nfs, const char *url); + +/* + * Parse an NFS URL, but do not fail if file, path or even server is missing. + * Check elements of the resulting struct for NULL. + */ +EXTERN struct nfs_url *nfs_parse_url_incomplete(struct nfs_context *nfs, const char *url); + + +/* + * Free the URL struct returned by the nfs_parse_url_* functions. + */ +EXTERN void nfs_destroy_url(struct nfs_url *url); + + struct nfsfh; /*