Esempio n. 1
0
/* msdos_initialize --
 *     MSDOS filesystem initialization. Called when mounting an
 *     MSDOS filesystem.
 *
 * PARAMETERS:
 *     temp_mt_entry - mount table entry
 *
 * RETURNS:
 *     RC_OK on success, or -1 if error occured (errno set apropriately).
 *
 */
int rtems_dosfs_initialize(
    rtems_filesystem_mount_table_entry_t *mt_entry,
    const void                           *data
)
{
    int                                rc = 0;
    const rtems_dosfs_mount_options   *mount_options = data;
    rtems_dosfs_convert_control       *converter;


    if (mount_options == NULL || mount_options->converter == NULL) {
        converter = rtems_dosfs_create_default_converter();
    } else {
        converter = mount_options->converter;
    }

    if (converter != NULL) {
        rc = msdos_initialize_support(mt_entry,
                                      &msdos_ops,
                                      &msdos_file_handlers,
                                      &msdos_dir_handlers,
                                      converter);
    } else {
        errno = ENOMEM;
        rc = -1;
    }

    return rc;
}
/* msdos_initialize --
 *     MSDOS filesystem initialization. Called when mounting an
 *     MSDOS filesystem.
 *
 * PARAMETERS:
 *     temp_mt_entry - mount table entry
 *
 * RETURNS:
 *     RC_OK on success, or -1 if error occured (errno set apropriately).
 *
 */
int rtems_dosfs_initialize(rtems_filesystem_mount_table_entry_t *mt_entry,
                           const void                           *data)
{
    int rc;

    rc = msdos_initialize_support(mt_entry,
                                  &msdos_ops,
                                  &msdos_file_handlers,
                                  &msdos_dir_handlers);
    return rc;
}