summaryrefslogtreecommitdiff
path: root/ufs
diff options
context:
space:
mode:
Diffstat (limited to 'ufs')
-rw-r--r--ufs/ufs.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/ufs/ufs.h b/ufs/ufs.h
index 920134ef..f6769916 100644
--- a/ufs/ufs.h
+++ b/ufs/ufs.h
@@ -179,6 +179,22 @@ int nextgennumber;
mach_port_t ufs_device;
+/* The compat_mode specifies whether or not we write
+ extensions onto the disk. */
+enum compat_mode
+{
+ COMPAT_GNU = 0,
+ COMPAT_BSD42 = 1,
+ COMPAT_BSD44 = 2,
+};
+
+/* If this is set, then this filesystem has two extensions:
+ 1) directory entries include the type field.
+ 2) symlink targets might be written directly in the di_db field
+ of the dinode. */
+int direct_symlink_extension;
+
+
#define DEV_BSIZE 512
#define NBBY 8
#define btodb(n) ((n) / DEV_BSIZE)
@@ -190,11 +206,11 @@ mach_port_t ufs_device;
#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<(i)%NBBY))
/* From alloc.c: */
-error_t alloc (struct node *, daddr_t, daddr_t, int, daddr_t *,
- struct protid *);
-void blkfree(volatile daddr_t bno, int size);
-daddr_t blkpref (struct node *, daddr_t, int, daddr_t *);
-error_t realloccg(struct node *, daddr_t, daddr_t,
+error_t ffs_alloc (struct node *, daddr_t, daddr_t, int, daddr_t *,
+ struct protid *);
+void ffs_blkfree(struct node *, volatile daddr_t bno, int size);
+daddr_t ffs_blkpref (struct node *, daddr_t, int, daddr_t *);
+error_t ffs_realloccg(struct node *, daddr_t, daddr_t,
int, int, daddr_t *, struct protid *);
/* From devio.c: */