1.1 --- a/libfsclient/lib/src/client.cc Mon Sep 20 01:16:59 2021 +0200
1.2 +++ b/libfsclient/lib/src/client.cc Sat Sep 25 23:47:51 2021 +0200
1.3 @@ -247,9 +247,41 @@
1.4
1.5
1.6
1.7 +/* Open a directory listing stream via the given named directory. */
1.8 +
1.9 +file_t *client_opendir(const char *name)
1.10 +{
1.11 + l4_cap_idx_t server = l4re_env_get_cap("server");
1.12 +
1.13 + return client_opendir_using(name, server);
1.14 +}
1.15 +
1.16 +/* Open a directory listing stream via the given named directory and a named
1.17 + capability. */
1.18 +
1.19 +file_t *client_opendir_using(const char *name, l4_cap_idx_t server)
1.20 +{
1.21 + file_t *file = client_open_using(name, O_DIRECTORY, server);
1.22 +
1.23 + if (file == NULL)
1.24 + return NULL;
1.25 +
1.26 + file_t *reader = client_opendir_at(file);
1.27 +
1.28 + if (reader == NULL)
1.29 + return NULL;
1.30 +
1.31 + /* Release the directory and return the reader. */
1.32 +
1.33 + client_close(file);
1.34 + return reader;
1.35 +}
1.36 +
1.37 +
1.38 +
1.39 /* Open a directory listing stream via the given directory. */
1.40
1.41 -file_t *client_opendir(file_t *file)
1.42 +file_t *client_opendir_at(file_t *file)
1.43 {
1.44 if (file == NULL)
1.45 return NULL;