summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc/fsmount/fsmount.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libmisc/fsmount/fsmount.h')
-rw-r--r--cpukit/libmisc/fsmount/fsmount.h211
1 files changed, 0 insertions, 211 deletions
diff --git a/cpukit/libmisc/fsmount/fsmount.h b/cpukit/libmisc/fsmount/fsmount.h
deleted file mode 100644
index 441b0d68ef..0000000000
--- a/cpukit/libmisc/fsmount/fsmount.h
+++ /dev/null
@@ -1,211 +0,0 @@
-/**
- * @file rtems/fsmount.h
- *
- * @defgroup rtems_fstab File System Mount Support
- *
- * @ingroup FileSystemTypesAndMount
- * @brief File System Mount Functions
- *
- * This file contains the fsmount functions. These functions
- * are used to mount a list of filesystems (and create their mount
- * points before).
- */
-
-/*
- * Copyright (c) 2003 IMD
- *
- * Ingenieurbuero fuer Microcomputertechnik Th. Doerfler
- * <Thomas.Doerfler@imd-systems.de>
- * all rights reserved
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _FSMOUNT_H
-#define _FSMOUNT_H
-
-#include <rtems.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup rtems_fstab File System Mount Support
- *
- * @ingroup FileSystemTypesAndMount
- */
-/**@{**/
-
-/**
- * File system mount report and abort condition flags.
- *
- * The flags define, which conditions will cause a report during the mount
- * process (via printf()) or abort the mount process.
- *
- * @see rtems_fstab_entry and rtems_fsmount().
- */
-typedef enum {
- /**
- * No conditions.
- */
- RTEMS_FSTAB_NONE = 0U,
-
- /**
- * Complete mount process was successful.
- */
- RTEMS_FSTAB_OK = 0x1U,
-
- /**
- * Mount point creation failed.
- */
- RTEMS_FSTAB_ERROR_MOUNT_POINT = 0x2U,
-
- /**
- * File system mount failed.
- */
- RTEMS_FSTAB_ERROR_MOUNT = 0x4U,
-
- /**
- * Something failed.
- */
- RTEMS_FSTAB_ERROR = RTEMS_FSTAB_ERROR_MOUNT_POINT | RTEMS_FSTAB_ERROR_MOUNT,
-
- /**
- * Any condition.
- */
- RTEMS_FSTAB_ANY = RTEMS_FSTAB_OK | RTEMS_FSTAB_ERROR
-} rtems_fstab_conditions;
-
-/**
- * File system table entry.
- */
-typedef struct {
- /**
- * Source for the mount.
- */
- const char *source;
-
- /**
- * Target for the mount.
- */
- const char *target;
-
- /**
- * File system operations.
- */
- const char *type;
-
- /**
- * File system mount options.
- */
- rtems_filesystem_options_t options;
-
- /**
- * Report @ref rtems_fstab_conditions "condition flags".
- */
- uint16_t report_reasons;
-
- /**
- * Abort @ref rtems_fstab_conditions "condition flags".
- */
- uint16_t abort_reasons;
-} rtems_fstab_entry;
-
-/**
- * @brief Mounts the file systems listed in the file system mount table.
- *
- * Mounts the file systems listed in the file system mount table @a fstab of
- * size @a size.
- *
- * Each file system will be mounted according to its table entry parameters.
- * In case of an abort condition the corresponding table index will be reported
- * in @a abort_index. The pointer @a abort_index may be @c NULL. The mount
- * point paths will be created with rtems_mkdir() and need not exist
- * beforehand.
- *
- * On success, zero is returned. On error, -1 is returned, and @c errno is set
- * appropriately.
- *
- * @see rtems_bdpart_register_from_disk().
- *
- * The following example code tries to mount a FAT file system within a SD
- * Card. Some cards do not have a partition table so at first it tries to find
- * a file system inside the hole disk. If this is successful the mount process
- * will be aborted because the @ref RTEMS_FSTAB_OK condition is true. If this
- * did not work it tries to mount the file system inside the first partition.
- * If this fails the mount process will not be aborted (this is already the
- * last entry), but the last error status will be returned.
- *
- * @code
- * #include <stdio.h>
- * #include <string.h>
- * #include <errno.h>
- *
- * #include <rtems.h>
- * #include <rtems/bdpart.h>
- * #include <rtems/error.h>
- * #include <rtems/fsmount.h>
- *
- * static const rtems_fstab_entry fstab [] = {
- * {
- * .source = "/dev/sd-card-a",
- * .target = "/mnt",
- * .type = "dosfs",
- * .options = RTEMS_FILESYSTEM_READ_WRITE,
- * .report_reasons = RTEMS_FSTAB_ANY,
- * .abort_reasons = RTEMS_FSTAB_OK
- * }, {
- * .source = "/dev/sd-card-a1",
- * .target = "/mnt",
- * .type = "dosfs",
- * .options = RTEMS_FILESYSTEM_READ_WRITE,
- * .report_reasons = RTEMS_FSTAB_ANY,
- * .abort_reasons = RTEMS_FSTAB_NONE
- * }
- * };
- *
- * static void my_mount(void)
- * {
- * rtems_status_code sc = RTEMS_SUCCESSFUL;
- * int rv = 0;
- * size_t abort_index = 0;
- *
- * sc = rtems_bdpart_register_from_disk("/dev/sd-card-a");
- * if (sc != RTEMS_SUCCESSFUL) {
- * printf("read partition table failed: %s\n", rtems_status_text(sc));
- * }
- *
- * rv = rtems_fsmount(fstab, sizeof(fstab) / sizeof(fstab [0]), &abort_index);
- * if (rv != 0) {
- * printf("mount failed: %s\n", strerror(errno));
- * }
- * printf("mount aborted at %zu\n", abort_index);
- * }
- * @endcode
- */
-int rtems_fsmount(
- const rtems_fstab_entry *fstab,
- size_t size,
- size_t *abort_index
-);
-
-/** @} */
-
-typedef rtems_fstab_entry fstab_t;
-
-#define FSMOUNT_MNT_OK RTEMS_FSTAB_OK
-
-#define FSMOUNT_MNTPNT_CRTERR RTEMS_FSTAB_ERROR_MOUNT_POINT
-
-#define FSMOUNT_MNT_FAILED RTEMS_FSTAB_ERROR_MOUNT
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _FSMOUNT_H */