1 #ifndef VSF_SYSSTR_H
2 #define VSF_SYSSTR_H
3 
4 /* Forward declarations */
5 struct mystr;
6 struct vsf_sysutil_statbuf;
7 struct vsf_sysutil_dir;
8 struct vsf_sysutil_user;
9 
10 void str_getcwd(struct mystr* p_str);
11 int str_readlink(struct mystr* p_str, const struct mystr* p_filename_str);
12 int str_write_loop(const struct mystr* p_str, const int fd);
13 int str_read_loop(struct mystr* p_str, const int fd);
14 int str_mkdir(const struct mystr* p_str, const unsigned int mode);
15 int str_rmdir(const struct mystr* p_str);
16 int str_unlink(const struct mystr* p_str);
17 int str_chdir(const struct mystr* p_str);
18 enum EVSFSysStrOpenMode
19 {
20   kVSFSysStrOpenUnknown = 0,
21   kVSFSysStrOpenReadOnly = 1
22 };
23 int str_open(const struct mystr* p_str, const enum EVSFSysStrOpenMode mode);
24 int str_create(const struct mystr* p_str);
25 int str_create_exclusive(const struct mystr* p_str);
26 int str_chmod(const struct mystr* p_str, unsigned int mode);
27 int str_stat(const struct mystr* p_str, struct vsf_sysutil_statbuf** p_ptr);
28 int str_lstat(const struct mystr* p_str, struct vsf_sysutil_statbuf** p_ptr);
29 int str_rename(const struct mystr* p_from_str, const struct mystr* p_to_str);
30 struct vsf_sysutil_dir* str_opendir(const struct mystr* p_str);
31 void str_next_dirent(struct mystr* p_filename_str,
32                      struct vsf_sysutil_dir* p_dir);
33 
34 struct vsf_sysutil_user* str_getpwnam(const struct mystr* p_user_str);
35 
36 void str_syslog(const struct mystr* p_str, int severe);
37 
38 #endif /* VSF_SYSSTR_H */
39 
40