diff options
Diffstat (limited to 'cpukit/libcsupport/src/mount-mktgt.c')
-rw-r--r-- | cpukit/libcsupport/src/mount-mktgt.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/cpukit/libcsupport/src/mount-mktgt.c b/cpukit/libcsupport/src/mount-mktgt.c new file mode 100644 index 0000000000..3b4d50aded --- /dev/null +++ b/cpukit/libcsupport/src/mount-mktgt.c @@ -0,0 +1,56 @@ +/** + * @file + * + * @ingroup LibIO + * + * @brief mount_and_make_target_path() implementation. + */ + +/* + * Copyright (c) 2010 + * embedded brains GmbH + * Obere Lagerstr. 30 + * D-82178 Puchheim + * Germany + * <rtems@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.com/license/LICENSE. + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include <errno.h> + +#include <rtems/libio.h> + +int mount_and_make_target_path( + const char *source, + const char *target, + const char *filesystemtype, + rtems_filesystem_options_t options, + const void *data +) +{ + int rv = -1; + + if (target != NULL) { + rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO); + if (rv == 0) { + rv = mount( + source, + target, + filesystemtype, + options, + data + ); + } + } else { + errno = EINVAL; + } + + return rv; +} |