]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - include/handle.h
xfsprogs: Release v4.19.0-rc0
[thirdparty/xfsprogs-dev.git] / include / handle.h
1 // SPDX-License-Identifier: LGPL-2.1
2 /*
3 * Copyright (c) 1995, 2001-2003, 2005 Silicon Graphics, Inc.
4 * All Rights Reserved.
5 */
6 #ifndef __HANDLE_H__
7 #define __HANDLE_H__
8
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12
13 struct fsdmidata;
14 struct attrlist_cursor;
15 struct parent;
16
17 extern int path_to_handle (char *__path, void **__hanp, size_t *__hlen);
18 extern int path_to_fshandle (char *__path, void **__fshanp, size_t *__fshlen);
19 extern int fd_to_handle (int fd, void **hanp, size_t *hlen);
20 extern int handle_to_fshandle (void *__hanp, size_t __hlen, void **__fshanp,
21 size_t *__fshlen);
22 extern void free_handle (void *__hanp, size_t __hlen);
23 extern int open_by_fshandle (void *__fshanp, size_t __fshlen, int __rw);
24 extern int open_by_handle (void *__hanp, size_t __hlen, int __rw);
25 extern int readlink_by_handle (void *__hanp, size_t __hlen, void *__buf,
26 size_t __bs);
27 extern int attr_multi_by_handle (void *__hanp, size_t __hlen, void *__buf,
28 int __rtrvcnt, int __flags);
29 extern int attr_list_by_handle (void *__hanp, size_t __hlen, void *__buf,
30 size_t __bufsize, int __flags,
31 struct attrlist_cursor *__cursor);
32 extern int parents_by_handle(void *__hanp, size_t __hlen,
33 struct parent *__buf, size_t __bufsize,
34 unsigned int *__count);
35 extern int parentpaths_by_handle(void *__hanp, size_t __hlen,
36 struct parent *__buf, size_t __bufsize,
37 unsigned int *__count);
38 extern int fssetdm_by_handle (void *__hanp, size_t __hlen,
39 struct fsdmidata *__fsdmi);
40
41 void fshandle_destroy(void);
42
43 #ifdef __cplusplus
44 }
45 #endif
46
47 #endif /* __HANDLE_H__ */