123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /****************************************************************************
- * fs/mount/mount.h
- *
- * Copyright (C) 2017 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
- #ifndef __FS_MOUNT_MOUNT_H
- #define __FS_MOUNT_MOUNT_H
- /****************************************************************************
- * Included Files
- ****************************************************************************/
- #include <nuttx/config.h>
- #ifndef CONFIG_DISABLE_MOUNTPOINT
- /****************************************************************************
- * Public Types
- ****************************************************************************/
- struct statfs; /* Forward reference */
- /* Callback used by foreach_mountpoints to traverse all mountpoints in the
- * pseudo-file system.
- */
- typedef int (*foreach_mountpoint_t)(FAR const char *mountpoint,
- FAR struct statfs *statbuf,
- FAR void *arg);
- /****************************************************************************
- * Public Function Prototypes
- ****************************************************************************/
- /****************************************************************************
- * Name: foreach_mountpoint
- *
- * Description:
- * Visit each mountpoint in the pseudo-file system. The traversal is
- * terminated when the callback 'handler' returns a non-zero value, or when
- * all of the mountpoints have been visited.
- *
- * This is just a front end "filter" to foreach_inode() that forwards only
- * mountpoint inodes. It is intended to support the mount() command to
- * when the mount command is used to enumerate mounts.
- *
- * NOTE 1: Use with caution... The pseudo-file system is locked throughout
- * the traversal.
- * NOTE 2: The search algorithm is recursive and could, in principle, use
- * an indeterminant amount of stack space. This will not usually be a
- * real work issue.
- *
- ****************************************************************************/
- int foreach_mountpoint(foreach_mountpoint_t handler, FAR void *arg);
- /****************************************************************************
- * Name: fs_gettype
- *
- * Description:
- * Given the result of statfs(), return a string representing the type of
- * the file system.
- *
- * Input Parameters:
- * statbuf - The result of a previouis statbuf statfs on the file system.
- *
- * Returned Value:
- * A reference to a string representing the type of the file system.
- *
- ****************************************************************************/
- FAR const char *fs_gettype(FAR struct statfs *statbuf);
- #endif /* CONFIG_DISABLE_MOUNTPOINT */
- #endif /* __FS_MOUNT_MOUNT_H */
|