]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/mount.h
xnu-344.23.tar.gz
[apple/xnu.git] / bsd / sys / mount.h
index 61fdd6bb735dfe489bd47d684ed6f0f85e58da9c..2b8e1e05c0001936675b2491ba61b570fa0ee578 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -58,6 +58,7 @@
 #ifndef _SYS_MOUNT_H_
 #define        _SYS_MOUNT_H_
 
+#include <sys/appleapiopts.h>
 #ifndef KERNEL
 #include <sys/ucred.h>
 #endif
@@ -115,6 +116,7 @@ struct statfs {
 #endif
 };
 
+#ifdef __APPLE_API_PRIVATE
 /*
  * Structure per mounted file system.  Each mounted file system has an
  * array of operations and an instance record.  The file systems are
@@ -140,6 +142,7 @@ struct mount {
        u_int16_t       mnt_segreadcnt; /* Max. segment count for read */
        u_int16_t       mnt_segwritecnt;        /* Max. segment count for write */
 };
+#endif /* __APPLE_API_PRIVATE */
 
 /*
  * User specifiable flags.
@@ -156,6 +159,7 @@ struct mount {
 #define MNT_DONTBROWSE 0x00100000      /* file system is not appropriate path to user data */
 #define MNT_UNKNOWNPERMISSIONS 0x00200000 /* no known mapping for uid/gid in permissions information on disk */
 #define MNT_AUTOMOUNTED 0x00400000     /* filesystem was mounted by automounter */
+#define MNT_JOURNALED   0x00800000  /* filesystem is journaled */
 
 /*
  * NFS export related mount flags.
@@ -185,7 +189,7 @@ struct mount {
                        MNT_DEFEXPORTED | MNT_EXPORTANON| MNT_EXKERB    | \
                        MNT_LOCAL       |               MNT_QUOTA       | \
                        MNT_ROOTFS      | MNT_DOVOLFS   | MNT_DONTBROWSE | \
-                       MNT_UNKNOWNPERMISSIONS | MNT_AUTOMOUNTED | MNT_FIXEDSCRIPTENCODING )
+                       MNT_UNKNOWNPERMISSIONS | MNT_AUTOMOUNTED | MNT_JOURNALED | MNT_FIXEDSCRIPTENCODING )
 /*
  * External filesystem command modifier flags.
  * Unmount can use the MNT_FORCE flag.
@@ -257,6 +261,7 @@ struct export_args {
        int     ex_masklen;             /* and the smask length */
 };
 
+#ifdef __APPLE_API_UNSTABLE
 /*
  * Filesystem configuration information. One of these exists for each
  * type of filesystem supported by the kernel. These are searched at
@@ -272,8 +277,10 @@ struct vfsconf {
        struct  vfsconf *vfc_next;      /* next in list */
 };
 
-#ifdef KERNEL
+#endif /*__APPLE_API_UNSTABLE */
 
+#ifdef KERNEL
+#ifdef __APPLE_API_UNSTABLE
 extern int maxvfsconf;         /* highest defined filesystem type */
 extern struct vfsconf *vfsconf;        /* head of list of filesystem types */
 extern int maxvfsslots;                /* Maximum slots available to be used */
@@ -356,13 +363,16 @@ struct    netcred *vfs_export_lookup __P((struct mount *, struct netexport *,
 void   vfs_getnewfsid __P((struct mount *));
 struct mount *vfs_getvfs __P((fsid_t *));
 int    vfs_mountedon __P((struct vnode *));
+void   vfs_unbusy __P((struct mount *, struct proc *));
+#ifdef __APPLE_API_PRIVATE
 int    vfs_mountroot __P((void));
 int    vfs_rootmountalloc __P((char *, char *, struct mount **));
-void   vfs_unbusy __P((struct mount *, struct proc *));
 void   vfs_unmountall __P((void));
+#endif /* __APPLE_API_PRIVATE */
 extern CIRCLEQ_HEAD(mntlist, mount) mountlist;
 extern struct slock mountlist_slock;
 
+#endif /* __APPLE_API_UNSTABLE */
 #else /* !KERNEL */
 
 #include <sys/cdefs.h>
@@ -375,6 +385,7 @@ int getmntinfo __P((struct statfs **, int));
 int    mount __P((const char *, const char *, int, void *));
 int    statfs __P((const char *, struct statfs *));
 int    unmount __P((const char *, int));
+int    getvfsbyname __P((const char *, struct vfsconf *));
 __END_DECLS
 
 #endif /* KERNEL */