~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/adfs_fs.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _ADFS_FS_H
  2 #define _ADFS_FS_H
  3 
  4 #include <linux/types.h>
  5 
  6 /*
  7  * Disc Record at disc address 0xc00
  8  */
  9 struct adfs_discrecord {
 10     __u8  log2secsize;
 11     __u8  secspertrack;
 12     __u8  heads;
 13     __u8  density;
 14     __u8  idlen;
 15     __u8  log2bpmb;
 16     __u8  skew;
 17     __u8  bootoption;
 18     __u8  lowsector;
 19     __u8  nzones;
 20     __u16 zone_spare;
 21     __u32 root;
 22     __u32 disc_size;
 23     __u16 disc_id;
 24     __u8  disc_name[10];
 25     __u32 disc_type;
 26     __u32 disc_size_high;
 27     __u8  log2sharesize:4;
 28     __u8  unused40:4;
 29     __u8  big_flag:1;
 30     __u8  unused41:1;
 31     __u8  nzones_high;
 32     __u32 format_version;
 33     __u32 root_size;
 34     __u8  unused52[60 - 52];
 35 };
 36 
 37 #define ADFS_DISCRECORD         (0xc00)
 38 #define ADFS_DR_OFFSET          (0x1c0)
 39 #define ADFS_DR_SIZE             60
 40 #define ADFS_DR_SIZE_BITS       (ADFS_DR_SIZE << 3)
 41 #define ADFS_SUPER_MAGIC         0xadf5
 42 
 43 #ifdef __KERNEL__
 44 /*
 45  * Calculate the boot block checksum on an ADFS drive.  Note that this will
 46  * appear to be correct if the sector contains all zeros, so also check that
 47  * the disk size is non-zero!!!
 48  */
 49 static inline int adfs_checkbblk(unsigned char *ptr)
 50 {
 51         unsigned int result = 0;
 52         unsigned char *p = ptr + 511;
 53 
 54         do {
 55                 result = (result & 0xff) + (result >> 8);
 56                 result = result + *--p;
 57         } while (p != ptr);
 58 
 59         return (result & 0xff) != ptr[511];
 60 }
 61 
 62 #endif
 63 
 64 #endif
 65 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.