source: rtems/cpukit/libfs/src/imfs/imfs_init.c @ 8ec7abb

4.104.115
Last change on this file since 8ec7abb was 8ec7abb, checked in by Chris Johns <chrisj@…>, on 03/04/10 at 06:36:51

010-03-04 Chris Johns <chrisj@…>

  • libcsupport/include/rtems/libio.h, libcsupport/src/_rename_r.c: Add a rename file op and have rename use it.
  • libfs/Makefile.am, libfs/src/dosfs/msdos_rename.c, libfs/src/imfs/imfs_rename.c: New files to support the rename file op.
  • libfs/src/imfs/imfs.h: Add rename interface.
  • libfs/src/imfs/imfs_init.c: Add rename handler.
  • libfs/src/imfs/miniimfs_init.c: Fix up ops struct.
  • libfs/src/dosfs/msdos.h: Add msdos_rename and remove msdos_file_link.
  • libfs/src/dosfs/msdos_create.c: Remove the link call.
  • libfs/src/dosfs/msdos_eval.c: Fix a path parsing bug.
  • libfs/src/dosfs/msdos_init.c: Add rename handler and clean up the struct naming.
  • libfs/src/rfs/rtems-rfs-link.c, libfs/src/rfs/rtems-rfs-link.h: Change the link call to allow linking of directories if told to and change the unlink to handle unlink directories that are not empty so rename can be supported.
  • libfs/src/rfs/rtems-rfs-rtems-dir.c: Fix the link/unlink calls.
  • libfs/src/rfs/rtems-rfs-rtems.c: Add a rename handler. Fix the link/unlink calls.
  • libfs/src/dosfs/msdos_dir.c, libfs/src/dosfs/msdos_format.c, libfs/src/dosfs/msdos_misc.c, httpd/asp.c, libfs/src/nfsclient/src/nfs.c: Work around a newlib warning when using the is*() family of calls.
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*
2 *  IMFS Initialization
3 *
4 *  COPYRIGHT (c) 1989-1999.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.rtems.com/license/LICENSE.
10 *
11 *  $Id$
12 */
13
14#if HAVE_CONFIG_H
15#include "config.h"
16#endif
17
18#include <sys/types.h>         /* for mkdir */
19#include <fcntl.h>
20#include <unistd.h>
21#include <stdlib.h>
22
23#include <assert.h>
24
25#include "imfs.h"
26#include <rtems/libio_.h>
27
28#if defined(IMFS_DEBUG)
29#include <stdio.h>
30#endif
31
32/*
33 *  IMFS file system operations table
34 */
35
36const rtems_filesystem_operations_table  IMFS_ops = {
37  IMFS_eval_path,
38  IMFS_evaluate_for_make,
39  IMFS_link,
40  IMFS_unlink,
41  IMFS_node_type,
42  IMFS_mknod,
43  IMFS_chown,
44  IMFS_freenodinfo,
45  IMFS_mount,
46  IMFS_initialize,
47  IMFS_unmount,
48  IMFS_fsunmount,
49  IMFS_utime,
50  IMFS_evaluate_link,
51  IMFS_symlink,
52  IMFS_readlink,
53  IMFS_rename,
54  NULL
55};
56
57/*
58 *  IMFS_initialize
59 */
60
61int IMFS_initialize(
62  rtems_filesystem_mount_table_entry_t *temp_mt_entry
63)
64{
65   return IMFS_initialize_support(
66     temp_mt_entry,
67     &IMFS_ops,
68     &IMFS_memfile_handlers,
69     &IMFS_directory_handlers
70   );
71}
Note: See TracBrowser for help on using the repository browser.