![]() |
|
|||
File indexing completed on 2025-05-11 08:24:15
0001 /* SPDX-License-Identifier: BSD-2-Clause */ 0002 0003 /** 0004 * @file 0005 * 0006 * @brief Base File System Initialization 0007 * @ingroup LibIO 0008 */ 0009 0010 /* 0011 * COPYRIGHT (c) 1989-2008. 0012 * On-Line Applications Research Corporation (OAR). 0013 * 0014 * Modifications to support reference counting in the file system are 0015 * Copyright (c) 2012 embedded brains GmbH & Co. KG 0016 * 0017 * Redistribution and use in source and binary forms, with or without 0018 * modification, are permitted provided that the following conditions 0019 * are met: 0020 * 1. Redistributions of source code must retain the above copyright 0021 * notice, this list of conditions and the following disclaimer. 0022 * 2. Redistributions in binary form must reproduce the above copyright 0023 * notice, this list of conditions and the following disclaimer in the 0024 * documentation and/or other materials provided with the distribution. 0025 * 0026 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0027 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0028 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0029 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0030 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0031 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0032 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0033 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0034 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0035 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0036 * POSSIBILITY OF SUCH DAMAGE. 0037 */ 0038 0039 #ifdef HAVE_CONFIG_H 0040 #include "config.h" 0041 #endif 0042 0043 #include <rtems.h> 0044 #include <rtems/libio.h> 0045 #include <rtems/libio_.h> 0046 0047 /* 0048 * Default mode for created files. 0049 */ 0050 0051 void rtems_filesystem_initialize( void ) 0052 { 0053 int rv = 0; 0054 const rtems_filesystem_mount_configuration *root_config = 0055 &rtems_filesystem_root_configuration; 0056 0057 rv = mount( 0058 root_config->source, 0059 root_config->target, 0060 root_config->filesystemtype, 0061 root_config->options, 0062 root_config->data 0063 ); 0064 if ( rv != 0 ) 0065 rtems_fatal_error_occurred( 0xABCD0002 ); 0066 0067 /* 0068 * Traditionally RTEMS devices are under "/dev" so install this directory. 0069 * 0070 * If the mkdir() fails, we can't print anything so just fatal error. 0071 */ 0072 0073 rv = mkdir( "/dev", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH ); 0074 if ( rv != 0 ) 0075 rtems_fatal_error_occurred( 0xABCD0003 ); 0076 0077 /* 0078 * You can't mount another filesystem properly until the mount point 0079 * it will be mounted onto is created. Moreover, if it is going to 0080 * use a device, then it is REALLY unfair to attempt this 0081 * before device drivers are initialized. So we return via a base 0082 * filesystem image and nothing auto-mounted at this point. 0083 */ 0084 }
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |