plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

dtype.c (1116B)


      1 #include <u.h>
      2 #include <libc.h>
      3 #include <venti.h>
      4 
      5 enum {
      6 	OVtErrType,		/* illegal */
      7 
      8 	OVtRootType,
      9 	OVtDirType,
     10 	OVtPointerType0,
     11 	OVtPointerType1,
     12 	OVtPointerType2,
     13 	OVtPointerType3,
     14 	OVtPointerType4,
     15 	OVtPointerType5,
     16 	OVtPointerType6,
     17 	OVtPointerType7,		/* not used */
     18 	OVtPointerType8,		/* not used */
     19 	OVtPointerType9,		/* not used */
     20 	OVtDataType,
     21 
     22 	OVtMaxType
     23 };
     24 
     25 
     26 uint todisk[] = {
     27 	OVtDataType,
     28 	OVtPointerType0,
     29 	OVtPointerType1,
     30 	OVtPointerType2,
     31 	OVtPointerType3,
     32 	OVtPointerType4,
     33 	OVtPointerType5,
     34 	OVtPointerType6,
     35 	OVtDirType,
     36 	OVtPointerType0,
     37 	OVtPointerType1,
     38 	OVtPointerType2,
     39 	OVtPointerType3,
     40 	OVtPointerType4,
     41 	OVtPointerType5,
     42 	OVtPointerType6,
     43 	OVtRootType,
     44 };
     45 
     46 uint fromdisk[] = {
     47 	VtCorruptType,
     48 	VtRootType,
     49 	VtDirType,
     50 	VtDirType+1,
     51 	VtDirType+2,
     52 	VtDirType+3,
     53 	VtDirType+4,
     54 	VtDirType+5,
     55 	VtDirType+6,
     56 	VtDirType+7,
     57 	VtCorruptType,
     58 	VtCorruptType,
     59 	VtCorruptType,
     60 	VtDataType,
     61 };
     62 
     63 uint
     64 vttodisktype(uint n)
     65 {
     66 	if(n >= nelem(todisk))
     67 		return VtCorruptType;
     68 	return todisk[n];
     69 }
     70 
     71 uint
     72 vtfromdisktype(uint n)
     73 {
     74 	if(n >= nelem(fromdisk))
     75 		return VtCorruptType;
     76 	return fromdisk[n];
     77 }