/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
#ifndef _SYS_MOUNT_H_
#define _SYS_MOUNT_H_
+#include <sys/appleapiopts.h>
#ifndef KERNEL
#include <sys/ucred.h>
#endif
#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
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.
#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.
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.
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
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 */
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>
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 */