mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
New API: find_inode
Library's counterpart of the daemon's internal_find_inode command. It writes the daemon's command output on a temporary file and parses it, deserialising the XDR formatted tsk_dirent structs. It returns to the caller the list of tsk_dirent structs generated by the internal_find_inode command. Signed-off-by: Matteo Cafasso <noxdafox@gmail.com>
This commit is contained in:
committed by
Pino Toscano
parent
eccce186a3
commit
9eb21ca54a
@@ -3717,6 +3717,18 @@ Unknown file type
|
||||
|
||||
=back" };
|
||||
|
||||
{ defaults with
|
||||
name = "find_inode"; added = (1, 35, 6);
|
||||
style = RStructList ("dirents", "tsk_dirent"), [Mountable "device"; Int64 "inode";], [];
|
||||
optional = Some "libtsk";
|
||||
progress = true; cancellable = true;
|
||||
shortdesc = "search the entries associated to the given inode";
|
||||
longdesc = "\
|
||||
Searches all the entries associated with the given inode.
|
||||
|
||||
For each entry, a C<tsk_dirent> structure is returned.
|
||||
See C<filesystem_walk> for more information about C<tsk_dirent> structures." };
|
||||
|
||||
]
|
||||
|
||||
(* daemon_functions are any functions which cause some action
|
||||
|
||||
17
src/tsk.c
17
src/tsk.c
@@ -55,6 +55,23 @@ guestfs_impl_filesystem_walk (guestfs_h *g, const char *mountable)
|
||||
return parse_dirent_file (g, tmpfile); /* caller frees */
|
||||
}
|
||||
|
||||
struct guestfs_tsk_dirent_list *
|
||||
guestfs_impl_find_inode (guestfs_h *g, const char *mountable, int64_t inode)
|
||||
{
|
||||
int ret = 0;
|
||||
CLEANUP_UNLINK_FREE char *tmpfile = NULL;
|
||||
|
||||
tmpfile = make_temp_file (g, "find_inode");
|
||||
if (tmpfile == NULL)
|
||||
return NULL;
|
||||
|
||||
ret = guestfs_internal_find_inode (g, mountable, inode, tmpfile);
|
||||
if (ret < 0)
|
||||
return NULL;
|
||||
|
||||
return parse_dirent_file (g, tmpfile); /* caller frees */
|
||||
}
|
||||
|
||||
/* Parse the file content and return dirents list.
|
||||
* Return a list of tsk_dirent on success, NULL on error.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user