diff options
author | rsc <devnull@localhost> | 2003-11-23 18:19:58 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2003-11-23 18:19:58 +0000 |
commit | 056fe1ba7fa0b70f871dfb9005b24eb8e4cc230b (patch) | |
tree | 9ad42f31c3bc124cf6617cf9eb41dd525eccce83 /src/libventi/dtype.c | |
parent | 9df487d720a59bf8cb0dc4ccffc30ad8eb48256a (diff) | |
download | plan9port-056fe1ba7fa0b70f871dfb9005b24eb8e4cc230b.tar.gz plan9port-056fe1ba7fa0b70f871dfb9005b24eb8e4cc230b.tar.bz2 plan9port-056fe1ba7fa0b70f871dfb9005b24eb8e4cc230b.zip |
new venti library.
Diffstat (limited to 'src/libventi/dtype.c')
-rw-r--r-- | src/libventi/dtype.c | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/libventi/dtype.c b/src/libventi/dtype.c new file mode 100644 index 00000000..0151ba28 --- /dev/null +++ b/src/libventi/dtype.c @@ -0,0 +1,78 @@ +#include <u.h> +#include <libc.h> +#include <venti.h> + +enum { + OVtErrType, /* illegal */ + + OVtRootType, + OVtDirType, + OVtPointerType0, + OVtPointerType1, + OVtPointerType2, + OVtPointerType3, + OVtPointerType4, + OVtPointerType5, + OVtPointerType6, + OVtPointerType7, /* not used */ + OVtPointerType8, /* not used */ + OVtPointerType9, /* not used */ + OVtDataType, + + OVtMaxType +}; + + +uint todisk[] = { + OVtDataType, + OVtPointerType0, + OVtPointerType1, + OVtPointerType2, + OVtPointerType3, + OVtPointerType4, + OVtPointerType5, + OVtPointerType6, + OVtDirType, + OVtPointerType0, + OVtPointerType1, + OVtPointerType2, + OVtPointerType3, + OVtPointerType4, + OVtPointerType5, + OVtPointerType6, + OVtRootType, +}; + +uint fromdisk[] = { + ~0, + VtRootType, + VtDirType, + VtDirType+1, + VtDirType+2, + VtDirType+3, + VtDirType+4, + VtDirType+5, + VtDirType+6, + VtDirType+7, + ~0, + ~0, + ~0, + VtDataType, +}; + +uint +vttodisktype(uint n) +{ + if(n >= nelem(todisk)) + return ~0; + return todisk[n]; +} + +uint +vtfromdisktype(uint n) +{ + if(n >= nelem(fromdisk)) + return ~0; + return fromdisk[n]; +} + |