1 /* File System attributes
3 ** Distributed under the terms of the MIT License.
5 #ifndef _FSSH_FS_ATTR_H
6 #define _FSSH_FS_ATTR_H
10 #include "fssh_dirent.h"
13 typedef struct fssh_attr_info
{
23 extern fssh_ssize_t
fssh_fs_read_attr(int fd
, const char *attribute
,
24 uint32_t type
, fssh_off_t pos
, void *buffer
,
25 fssh_size_t readBytes
);
26 extern fssh_ssize_t
fssh_fs_write_attr(int fd
, const char *attribute
,
27 uint32_t type
, fssh_off_t pos
, const void *buffer
,
28 fssh_size_t readBytes
);
29 extern int fssh_fs_remove_attr(int fd
, const char *attribute
);
30 extern int fssh_fs_stat_attr(int fd
, const char *attribute
,
31 struct fssh_attr_info
*attrInfo
);
33 // ToDo: the following three functions are not part of the R5 API, and
34 // are only preliminary - they may change or be removed at any point
35 //extern int fssh_fs_open_attr(const char *path, const char *attribute, uint32_t type, int openMode);
36 extern int fssh_fs_open_attr(int fd
, const char *attribute
,
37 uint32_t type
, int openMode
);
38 extern int fssh_fs_close_attr(int fd
);
40 extern fssh_DIR
*fssh_fs_open_attr_dir(const char *path
);
41 extern fssh_DIR
*fssh_fs_fopen_attr_dir(int fd
);
42 extern int fssh_fs_close_attr_dir(fssh_DIR
*dir
);
43 extern struct fssh_dirent
*fssh_fs_read_attr_dir(fssh_DIR
*dir
);
44 extern void fssh_fs_rewind_attr_dir(fssh_DIR
*dir
);
50 #endif /* _FSSH_FS_ATTR_H */