382{
392
396 if (dst_path.len == 0) {
397 eprintf(
"WideCharToMultiByte failed to convert destination "
398 "filename %S.\n",
link->FileName);
401 }
403
404
406 &dst_path, &dst_dir, &
dst,
NULL, &dst_session);
407
412 }
413
414
417 eprintf(
"nfs41_symlink_target() for %s failed with %d\n",
420 }
421
422
424 &dst_path, &dst_dir, &
dst,
NULL, &dst_session);
425 }
426
427
428 last_component(dst_path.path, dst_path.path + dst_path.len, &dst_name);
430
432 if (!
link->ReplaceIfExists) {
435 }
437 dprintf(1,
"nfs41_lookup('%s') failed to find destination "
438 "directory with %d\n", dst_path.path,
status);
440 }
441
442
443
444
448 }
449
451
454
455
456
458 &dst_dir, &dst_name,
dst.fh.fileid);
460 dprintf(1,
"nfs41_remove() failed with error %s.\n",
464 }
465 }
466
467
470
474 dprintf(1,
"nfs41_link() failed with error %s.\n",
477 }
481}
int nfs41_lookup(IN nfs41_root *root, IN nfs41_session *session, IN OUT nfs41_abs_path *path_inout, OUT OPTIONAL nfs41_path_fh *parent_out, OUT OPTIONAL nfs41_path_fh *target_out, OUT OPTIONAL nfs41_file_info *info_out, OUT nfs41_session **session_out)
void path_fh_init(OUT nfs41_path_fh *file, IN nfs41_abs_path *path)
bool_t last_component(IN const char *path, IN const char *path_end, OUT nfs41_component *component)
int nfs_to_windows_error(int status, int default_error)
void eprintf(LPCSTR format,...)
const char * nfs_error_string(int status)
int nfs41_delegation_return(IN nfs41_session *session, IN nfs41_path_fh *file, IN enum open_delegation_type4 access, IN bool_t truncate)
#define ERROR_INVALID_PARAMETER
#define WideCharToMultiByte
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
struct _FILE_LINK_INFORMATION * PFILE_LINK_INFORMATION
GLint GLint GLsizei GLsizei GLsizei depth
#define ERROR_FILE_NOT_FOUND
static __inline nfs41_session * nfs41_root_session(IN nfs41_root *root)
#define NFS41_MAX_PATH_LEN
#define NFS41_MAX_SYMLINK_DEPTH
int nfs41_remove(IN nfs41_session *session, IN nfs41_path_fh *parent, IN const nfs41_component *target, IN uint64_t fileid)
int nfs41_link(IN nfs41_session *session, IN nfs41_path_fh *src, IN nfs41_path_fh *dst_dir, IN const nfs41_component *target, OUT nfs41_file_info *cinfo)
int nfs41_symlink_target(IN nfs41_session *session, IN nfs41_path_fh *file, OUT nfs41_abs_path *target)
char path[NFS41_MAX_PATH_LEN]
struct __nfs41_superblock * superblock
#define ERROR_TOO_MANY_LINKS
#define ERROR_FILE_EXISTS
#define ERROR_NOT_SAME_DEVICE