Lines Matching refs:reparse

2  * reparse.c - Processing of reparse points
60 #include "reparse.h"
64 struct MOUNT_POINT_REPARSE_DATA { /* reparse data for junctions */
72 struct SYMLINK_REPARSE_DATA { /* reparse data for symlinks */
238 * - another reparse point,
239 * A reparse point is not dereferenced, it will be
311 * - another reparse point,
312 * A reparse point is not dereferenced, it will be
428 * Check whether reparse data describes a valid wsl special file
434 int ntfs_reparse_check_wsl(ntfs_inode *ni, const REPARSE_POINT *reparse)
439 switch (reparse->reparse_tag) {
444 if (!reparse->reparse_data_length
457 * Do some sanity checks on reparse data
459 * Microsoft reparse points have an 8-byte header whereas
460 * non-Microsoft reparse points have a 24-byte header. In each case,
463 * If the reparse data looks like a junction point or symbolic
777 * Should only be called for files or directories with reparse data
781 * errno is EOPNOTSUPP if the reparse point is not a valid
816 /* reparse data consistency has been checked */
845 /* reparse data consistency has been checked */
903 * Check whether a reparse point looks like a junction point
905 * Should only be called for files or directories with reparse data
934 * Set the index for new reparse data
972 * Remove a reparse data index entry if attribute present
974 * Returns the size of existing reparse data
975 * (the existing reparse tag is returned)
1048 * Update the reparse data and index
1050 * The reparse data attribute should have been created, and
1072 /* remove the existing reparse data */
1085 "reparse data\n");
1095 * If cannot index, try to remove the reparse
1100 ntfs_log_error("Failed to index reparse data."
1113 * Delete a reparse index entry
1131 * read the existing reparse data (the tag is enough)
1151 * Get the ntfs reparse data into an extended attribute
1153 * Returns the reparse data size
1184 * Set the reparse data from an extended attribute
1201 * reparse data compatibily with EA is not checked
1212 * no reparse data attribute : add one,
1261 * Remove the reparse data
1278 * open and delete the reparse data
1283 /* first remove index (reparse data needed) */
1307 "Failed to remove reparse data."
1335 * Set reparse data for a WSL type symlink
1345 REPARSE_POINT *reparse;
1353 reparse = (REPARSE_POINT*)malloc(reparse_len);
1354 if (reparse) {
1356 reparse->reparse_data;
1357 reparse->reparse_tag = IO_REPARSE_TAG_LX_SYMLINK;
1358 reparse->reparse_data_length
1360 reparse->reserved = const_cpu_to_le16(0);
1364 (char*)reparse, reparse_len, 0);
1365 free(reparse);
1373 * Set reparse data for a WSL special file other than a symlink
1383 REPARSE_POINT *reparse;
1407 reparse = (REPARSE_POINT*)malloc(reparse_len);
1408 if (reparse) {
1409 reparse->reparse_tag = reparse_tag;
1410 reparse->reparse_data_length = cpu_to_le16(len);
1411 reparse->reserved = const_cpu_to_le16(0);
1413 (char*)reparse, reparse_len, 0);
1414 free(reparse);
1422 * Get the reparse data into a buffer
1424 * Returns the buffer if the reparse data exists and is valid