]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - include/handle.h
ba06500516cf811cd293ddeeab189861c4e2b9de
[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_fsfd(void *, char **);
21 extern int handle_to_fshandle (void *__hanp, size_t __hlen, void **__fshanp,
22 size_t *__fshlen);
23 extern void free_handle (void *__hanp, size_t __hlen);
24 extern int open_by_fshandle (void *__fshanp, size_t __fshlen, int __rw);
25 extern int open_by_handle (void *__hanp, size_t __hlen, int __rw);
26 extern int readlink_by_handle (void *__hanp, size_t __hlen, void *__buf,
27 size_t __bs);
28 extern int attr_multi_by_handle (void *__hanp, size_t __hlen, void *__buf,
29 int __rtrvcnt, int __flags);
30 extern int attr_list_by_handle (void *__hanp, size_t __hlen, void *__buf,
31 size_t __bufsize, int __flags,
32 struct attrlist_cursor *__cursor);
33 extern int parents_by_handle(void *__hanp, size_t __hlen,
34 struct parent *__buf, size_t __bufsize,
35 unsigned int *__count);
36 extern int parentpaths_by_handle(void *__hanp, size_t __hlen,
37 struct parent *__buf, size_t __bufsize,
38 unsigned int *__count);
39 extern int fssetdm_by_handle (void *__hanp, size_t __hlen,
40 struct fsdmidata *__fsdmi);
41
42 void fshandle_destroy(void);
43
44 #ifdef __cplusplus
45 }
46 #endif
47
48 #endif /* __HANDLE_H__ */