MAXCLS32)
#define mk1(p, x) \
- (p) = (u_int8_t)(x)
+ (p) = (uint8_t)(x)
#define mk2(p, x) \
- (p)[0] = (u_int8_t)(x), \
- (p)[1] = (u_int8_t)((x) >> 010)
+ (p)[0] = (uint8_t)(x), \
+ (p)[1] = (uint8_t)((x) >> 010)
#define mk4(p, x) \
- (p)[0] = (u_int8_t)(x), \
- (p)[1] = (u_int8_t)((x) >> 010), \
- (p)[2] = (u_int8_t)((x) >> 020), \
- (p)[3] = (u_int8_t)((x) >> 030)
+ (p)[0] = (uint8_t)(x), \
+ (p)[1] = (uint8_t)((x) >> 010), \
+ (p)[2] = (uint8_t)((x) >> 020), \
+ (p)[3] = (uint8_t)((x) >> 030)
struct bs {
- u_int8_t bsJump[3]; /* bootstrap entry point */
- u_int8_t bsOemName[8]; /* OEM name and version */
+ uint8_t bsJump[3]; /* bootstrap entry point */
+ uint8_t bsOemName[8]; /* OEM name and version */
} __packed;
struct bsbpb {
- u_int8_t bpbBytesPerSec[2]; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int8_t bpbResSectors[2]; /* reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int8_t bpbRootDirEnts[2]; /* root directory entries */
- u_int8_t bpbSectors[2]; /* total sectors */
- u_int8_t bpbMedia; /* media descriptor */
- u_int8_t bpbFATsecs[2]; /* sectors per FAT */
- u_int8_t bpbSecPerTrack[2]; /* sectors per track */
- u_int8_t bpbHeads[2]; /* drive heads */
- u_int8_t bpbHiddenSecs[4]; /* hidden sectors */
- u_int8_t bpbHugeSectors[4]; /* big total sectors */
+ uint8_t bpbBytesPerSec[2]; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint8_t bpbResSectors[2]; /* reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint8_t bpbRootDirEnts[2]; /* root directory entries */
+ uint8_t bpbSectors[2]; /* total sectors */
+ uint8_t bpbMedia; /* media descriptor */
+ uint8_t bpbFATsecs[2]; /* sectors per FAT */
+ uint8_t bpbSecPerTrack[2]; /* sectors per track */
+ uint8_t bpbHeads[2]; /* drive heads */
+ uint8_t bpbHiddenSecs[4]; /* hidden sectors */
+ uint8_t bpbHugeSectors[4]; /* big total sectors */
} __packed;
struct bsxbpb {
- u_int8_t bpbBigFATsecs[4]; /* big sectors per FAT */
- u_int8_t bpbExtFlags[2]; /* FAT control flags */
- u_int8_t bpbFSVers[2]; /* file system version */
- u_int8_t bpbRootClust[4]; /* root directory start cluster */
- u_int8_t bpbFSInfo[2]; /* file system info sector */
- u_int8_t bpbBackup[2]; /* backup boot sector */
- u_int8_t bpbReserved[12]; /* reserved */
+ uint8_t bpbBigFATsecs[4]; /* big sectors per FAT */
+ uint8_t bpbExtFlags[2]; /* FAT control flags */
+ uint8_t bpbFSVers[2]; /* file system version */
+ uint8_t bpbRootClust[4]; /* root directory start cluster */
+ uint8_t bpbFSInfo[2]; /* file system info sector */
+ uint8_t bpbBackup[2]; /* backup boot sector */
+ uint8_t bpbReserved[12]; /* reserved */
} __packed;
struct bsx {
- u_int8_t exDriveNumber; /* drive number */
- u_int8_t exReserved1; /* reserved */
- u_int8_t exBootSignature; /* extended boot signature */
- u_int8_t exVolumeID[4]; /* volume ID number */
- u_int8_t exVolumeLabel[11]; /* volume label */
- u_int8_t exFileSysType[8]; /* file system type */
+ uint8_t exDriveNumber; /* drive number */
+ uint8_t exReserved1; /* reserved */
+ uint8_t exBootSignature; /* extended boot signature */
+ uint8_t exVolumeID[4]; /* volume ID number */
+ uint8_t exVolumeLabel[11]; /* volume label */
+ uint8_t exFileSysType[8]; /* file system type */
} __packed;
struct de {
- u_int8_t deName[11]; /* name and extension */
- u_int8_t deAttributes; /* attributes */
- u_int8_t rsvd[10]; /* reserved */
- u_int8_t deMTime[2]; /* last-modified time */
- u_int8_t deMDate[2]; /* last-modified date */
- u_int8_t deStartCluster[2]; /* starting cluster */
- u_int8_t deFileSize[4]; /* size */
+ uint8_t deName[11]; /* name and extension */
+ uint8_t deAttributes; /* attributes */
+ uint8_t rsvd[10]; /* reserved */
+ uint8_t deMTime[2]; /* last-modified time */
+ uint8_t deMDate[2]; /* last-modified date */
+ uint8_t deStartCluster[2]; /* starting cluster */
+ uint8_t deFileSize[4]; /* size */
} __packed;
struct bpb {
{"2880", {512, 2, 1, 2, 240, 5760, 0xf0, 9, 36, 2, BPBGAP}}
};
-static const u_int8_t bootcode[] = {
+static const uint8_t bootcode[] = {
0xfa, /* cli */
0x31, 0xc0, /* xor ax,ax */
0x8e, 0xd0, /* mov ss,ax */
static int getdiskinfo(int, const char *, const char *, int, struct bpb *);
static void print_bpb(struct bpb *);
static int ckgeom(const char *, u_int, const char *);
-static void mklabel(u_int8_t *, const char *);
+static void mklabel(uint8_t *, const char *);
static int oklabel(const char *);
-static void setstr(u_int8_t *, const char *, size_t);
+static void setstr(uint8_t *, const char *, size_t);
int
mkfs_msdos(const char *fname, const char *dtype, const struct msdos_options *op)
struct bsxbpb *bsxbpb;
struct bsx *bsx;
struct de *de;
- u_int8_t *img;
+ uint8_t *img;
const char *bname;
ssize_t n;
time_t now;
bpb.bpbBytesPerSec * NPB) *
bpb.bpbFATs +
rds +
- (u_int64_t) (maxcls(fat) + 1) *
+ (uint64_t) (maxcls(fat) + 1) *
bpb.bpbSecPerClust <= bpb.bpbHugeSectors;
bpb.bpbSecPerClust <<= 1)
continue;
}
x1 = bpb.bpbResSectors + rds;
x = bpb.bpbBigFATsecs ? bpb.bpbBigFATsecs : 1;
- if (x1 + (u_int64_t)x * bpb.bpbFATs > bpb.bpbHugeSectors) {
+ if (x1 + (uint64_t)x * bpb.bpbFATs > bpb.bpbHugeSectors) {
warnx("meta data exceeds file system size");
goto done;
}
x1 += x * bpb.bpbFATs;
- x = (u_int64_t)(bpb.bpbHugeSectors - x1) * bpb.bpbBytesPerSec * NPB /
+ x = (uint64_t)(bpb.bpbHugeSectors - x1) * bpb.bpbBytesPerSec * NPB /
(bpb.bpbSecPerClust * bpb.bpbBytesPerSec * NPB + fat /
BPN * bpb.bpbFATs);
x2 = howmany((RESFTE + MIN(x, maxcls(fat))) * (fat / BPN),
x1 += (bpb.bpbBigFATsecs - 1) * bpb.bpbFATs;
}
cls = (bpb.bpbHugeSectors - x1) / bpb.bpbSecPerClust;
- x = (u_int64_t)bpb.bpbBigFATsecs * bpb.bpbBytesPerSec * NPB / (fat / BPN) -
+ x = (uint64_t)bpb.bpbBigFATsecs * bpb.bpbBytesPerSec * NPB / (fat / BPN) -
RESFTE;
if (cls > x)
cls = x;
* Make a volume label.
*/
static void
-mklabel(u_int8_t *dest, const char *src)
+mklabel(uint8_t *dest, const char *src)
{
int c, i;
* Copy string, padding with spaces.
*/
static void
-setstr(u_int8_t *dest, const char *src, size_t len)
+setstr(uint8_t *dest, const char *src, size_t len)
{
while (len--)
*dest++ = *src ? *src++ : ' ';
* first sector of a partitioned hard disk.
*/
struct bootsector33 {
- u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
+ uint8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
int8_t bsOemName[8]; /* OEM name and version */
int8_t bsBPB[19]; /* BIOS parameter block */
int8_t bsDriveNumber; /* drive number (0x80) */
int8_t bsBootCode[479]; /* pad so struct is 512b */
- u_int8_t bsBootSectSig0;
- u_int8_t bsBootSectSig1;
+ uint8_t bsBootSectSig0;
+ uint8_t bsBootSectSig1;
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
};
};
struct bootsector50 {
- u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
+ uint8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
int8_t bsOemName[8]; /* OEM name and version */
int8_t bsBPB[25]; /* BIOS parameter block */
int8_t bsExt[26]; /* Bootsector Extension */
int8_t bsBootCode[448]; /* pad so structure is 512b */
- u_int8_t bsBootSectSig0;
- u_int8_t bsBootSectSig1;
+ uint8_t bsBootSectSig0;
+ uint8_t bsBootSectSig1;
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
};
struct bootsector710 {
- u_int8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
+ uint8_t bsJump[3]; /* jump inst E9xxxx or EBxx90 */
int8_t bsOEMName[8]; /* OEM name and version */
int8_t bsPBP[53]; /* BIOS parameter block */
int8_t bsExt[26]; /* Bootsector Extension */
int8_t bsBootCode[418]; /* pad so structure is 512b */
- u_int8_t bsBootSectSig2; /* 2 & 3 are only defined for FAT32? */
- u_int8_t bsBootSectSig3;
- u_int8_t bsBootSectSig0;
- u_int8_t bsBootSectSig1;
+ uint8_t bsBootSectSig2; /* 2 & 3 are only defined for FAT32? */
+ uint8_t bsBootSectSig3;
+ uint8_t bsBootSectSig0;
+ uint8_t bsBootSectSig1;
#define BOOTSIG0 0x55
#define BOOTSIG1 0xaa
#define BOOTSIG2 0
*/
#if 0
struct bootsec_atari {
- u_int8_t bsBranch[2]; /* branch inst if auto-boot */
+ uint8_t bsBranch[2]; /* branch inst if auto-boot */
int8_t bsFiller[6]; /* anything or nothing */
int8_t bsSerial[3]; /* serial no. for mediachange */
int8_t bsBPB[19]; /* BIOS parameter block */
* BIOS Parameter Block (BPB) for DOS 3.3
*/
struct bpb33 {
- u_int16_t bpbBytesPerSec; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int16_t bpbResSectors; /* number of reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int16_t bpbRootDirEnts; /* number of root directory entries */
- u_int16_t bpbSectors; /* total number of sectors */
- u_int8_t bpbMedia; /* media descriptor */
- u_int16_t bpbFATsecs; /* number of sectors per FAT */
- u_int16_t bpbSecPerTrack; /* sectors per track */
- u_int16_t bpbHeads; /* number of heads */
- u_int16_t bpbHiddenSecs; /* number of hidden sectors */
+ uint16_t bpbBytesPerSec; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint16_t bpbResSectors; /* number of reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint16_t bpbRootDirEnts; /* number of root directory entries */
+ uint16_t bpbSectors; /* total number of sectors */
+ uint8_t bpbMedia; /* media descriptor */
+ uint16_t bpbFATsecs; /* number of sectors per FAT */
+ uint16_t bpbSecPerTrack; /* sectors per track */
+ uint16_t bpbHeads; /* number of heads */
+ uint16_t bpbHiddenSecs; /* number of hidden sectors */
};
/*
* and bpbHugeSectors is not in the 3.3 bpb.
*/
struct bpb50 {
- u_int16_t bpbBytesPerSec; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int16_t bpbResSectors; /* number of reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int16_t bpbRootDirEnts; /* number of root directory entries */
- u_int16_t bpbSectors; /* total number of sectors */
- u_int8_t bpbMedia; /* media descriptor */
- u_int16_t bpbFATsecs; /* number of sectors per FAT */
- u_int16_t bpbSecPerTrack; /* sectors per track */
- u_int16_t bpbHeads; /* number of heads */
- u_int32_t bpbHiddenSecs; /* # of hidden sectors */
- u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */
+ uint16_t bpbBytesPerSec; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint16_t bpbResSectors; /* number of reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint16_t bpbRootDirEnts; /* number of root directory entries */
+ uint16_t bpbSectors; /* total number of sectors */
+ uint8_t bpbMedia; /* media descriptor */
+ uint16_t bpbFATsecs; /* number of sectors per FAT */
+ uint16_t bpbSecPerTrack; /* sectors per track */
+ uint16_t bpbHeads; /* number of heads */
+ uint32_t bpbHiddenSecs; /* # of hidden sectors */
+ uint32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */
};
/*
* BPB for DOS 7.10 (FAT32). This one has a few extensions to bpb50.
*/
struct bpb710 {
- u_int16_t bpbBytesPerSec; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int16_t bpbResSectors; /* number of reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int16_t bpbRootDirEnts; /* number of root directory entries */
- u_int16_t bpbSectors; /* total number of sectors */
- u_int8_t bpbMedia; /* media descriptor */
- u_int16_t bpbFATsecs; /* number of sectors per FAT */
- u_int16_t bpbSecPerTrack; /* sectors per track */
- u_int16_t bpbHeads; /* number of heads */
- u_int32_t bpbHiddenSecs; /* # of hidden sectors */
- u_int32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */
- u_int32_t bpbBigFATsecs; /* like bpbFATsecs for FAT32 */
- u_int16_t bpbExtFlags; /* extended flags: */
+ uint16_t bpbBytesPerSec; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint16_t bpbResSectors; /* number of reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint16_t bpbRootDirEnts; /* number of root directory entries */
+ uint16_t bpbSectors; /* total number of sectors */
+ uint8_t bpbMedia; /* media descriptor */
+ uint16_t bpbFATsecs; /* number of sectors per FAT */
+ uint16_t bpbSecPerTrack; /* sectors per track */
+ uint16_t bpbHeads; /* number of heads */
+ uint32_t bpbHiddenSecs; /* # of hidden sectors */
+ uint32_t bpbHugeSectors; /* # of sectors if bpbSectors == 0 */
+ uint32_t bpbBigFATsecs; /* like bpbFATsecs for FAT32 */
+ uint16_t bpbExtFlags; /* extended flags: */
#define FATNUM 0xf /* mask for numbering active FAT */
#define FATMIRROR 0x80 /* FAT is mirrored (like it always was) */
- u_int16_t bpbFSVers; /* filesystem version */
+ uint16_t bpbFSVers; /* filesystem version */
#define FSVERS 0 /* currently only 0 is understood */
- u_int32_t bpbRootClust; /* start cluster for root directory */
- u_int16_t bpbFSInfo; /* filesystem info structure sector */
- u_int16_t bpbBackup; /* backup boot sector */
- u_int8_t bpbReserved[12]; /* reserved for future expansion */
+ uint32_t bpbRootClust; /* start cluster for root directory */
+ uint16_t bpbFSInfo; /* filesystem info structure sector */
+ uint16_t bpbBackup; /* backup boot sector */
+ uint8_t bpbReserved[12]; /* reserved for future expansion */
};
#ifdef atari
*/
#if 0
struct bpb_a {
- u_int16_t bpbBytesPerSec; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int16_t bpbResSectors; /* number of reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int16_t bpbRootDirEnts; /* number of root directory entries */
- u_int16_t bpbSectors; /* total number of sectors */
- u_int8_t bpbUseless1; /* meaningless on gemdos fs */
- u_int16_t bpbFATsecs; /* number of sectors per FAT */
- u_int16_t bpbUseless2; /* meaningless for harddisk fs */
- u_int16_t bpbUseless3; /* meaningless for harddisk fs */
- u_int16_t bpbHiddenSecs; /* the TOS-BIOS ignores this */
+ uint16_t bpbBytesPerSec; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint16_t bpbResSectors; /* number of reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint16_t bpbRootDirEnts; /* number of root directory entries */
+ uint16_t bpbSectors; /* total number of sectors */
+ uint8_t bpbUseless1; /* meaningless on gemdos fs */
+ uint16_t bpbFATsecs; /* number of sectors per FAT */
+ uint16_t bpbUseless2; /* meaningless for harddisk fs */
+ uint16_t bpbUseless3; /* meaningless for harddisk fs */
+ uint16_t bpbHiddenSecs; /* the TOS-BIOS ignores this */
};
#endif
#endif /* atari */
* BPB for DOS 7.10 (FAT32). This one has a few extensions to bpb50.
*/
struct byte_bpb710 {
- u_int8_t bpbBytesPerSec[2]; /* bytes per sector */
- u_int8_t bpbSecPerClust; /* sectors per cluster */
- u_int8_t bpbResSectors[2]; /* number of reserved sectors */
- u_int8_t bpbFATs; /* number of FATs */
- u_int8_t bpbRootDirEnts[2]; /* number of root directory entries */
- u_int8_t bpbSectors[2]; /* total number of sectors */
- u_int8_t bpbMedia; /* media descriptor */
- u_int8_t bpbFATsecs[2]; /* number of sectors per FAT */
- u_int8_t bpbSecPerTrack[2]; /* sectors per track */
- u_int8_t bpbHeads[2]; /* number of heads */
- u_int8_t bpbHiddenSecs[4]; /* # of hidden sectors */
- u_int8_t bpbHugeSectors[4]; /* # of sectors if bpbSectors == 0 */
- u_int8_t bpbBigFATsecs[4]; /* like bpbFATsecs for FAT32 */
- u_int8_t bpbExtFlags[2]; /* extended flags: */
- u_int8_t bpbFSVers[2]; /* filesystem version */
- u_int8_t bpbRootClust[4]; /* start cluster for root directory */
- u_int8_t bpbFSInfo[2]; /* filesystem info structure sector */
- u_int8_t bpbBackup[2]; /* backup boot sector */
- u_int8_t bpbReserved[12]; /* reserved for future expansion */
+ uint8_t bpbBytesPerSec[2]; /* bytes per sector */
+ uint8_t bpbSecPerClust; /* sectors per cluster */
+ uint8_t bpbResSectors[2]; /* number of reserved sectors */
+ uint8_t bpbFATs; /* number of FATs */
+ uint8_t bpbRootDirEnts[2]; /* number of root directory entries */
+ uint8_t bpbSectors[2]; /* total number of sectors */
+ uint8_t bpbMedia; /* media descriptor */
+ uint8_t bpbFATsecs[2]; /* number of sectors per FAT */
+ uint8_t bpbSecPerTrack[2]; /* sectors per track */
+ uint8_t bpbHeads[2]; /* number of heads */
+ uint8_t bpbHiddenSecs[4]; /* # of hidden sectors */
+ uint8_t bpbHugeSectors[4]; /* # of sectors if bpbSectors == 0 */
+ uint8_t bpbBigFATsecs[4]; /* like bpbFATsecs for FAT32 */
+ uint8_t bpbExtFlags[2]; /* extended flags: */
+ uint8_t bpbFSVers[2]; /* filesystem version */
+ uint8_t bpbRootClust[4]; /* start cluster for root directory */
+ uint8_t bpbFSInfo[2]; /* filesystem info structure sector */
+ uint8_t bpbBackup[2]; /* backup boot sector */
+ uint8_t bpbReserved[12]; /* reserved for future expansion */
};
/*
* FAT32 FSInfo block.
*/
struct fsinfo {
- u_int8_t fsisig1[4];
- u_int8_t fsifill1[480];
- u_int8_t fsisig2[4];
- u_int8_t fsinfree[4];
- u_int8_t fsinxtfree[4];
- u_int8_t fsifill2[12];
- u_int8_t fsisig3[4];
- u_int8_t fsifill3[508];
- u_int8_t fsisig4[4];
+ uint8_t fsisig1[4];
+ uint8_t fsifill1[480];
+ uint8_t fsisig2[4];
+ uint8_t fsinfree[4];
+ uint8_t fsinxtfree[4];
+ uint8_t fsifill2[12];
+ uint8_t fsisig3[4];
+ uint8_t fsifill3[508];
+ uint8_t fsisig4[4];
};
#endif /* !_VFS_MSDOSFS_BPB_H_ */
break; \
} \
if ((dep)->de_flag & DE_ACCESS) { \
- u_int16_t adate; \
+ uint16_t adate; \
\
unix2dostime((acc), &adate, NULL, NULL); \
if (adate != (dep)->de_ADate) { \
* Structure of a dos directory entry.
*/
struct direntry {
- u_int8_t deName[11]; /* filename, blank filled */
+ uint8_t deName[11]; /* filename, blank filled */
#define SLOT_EMPTY 0x00 /* slot has never been used */
#define SLOT_E5 0x05 /* the real value is 0xe5 */
#define SLOT_DELETED 0xe5 /* file in this slot deleted */
- u_int8_t deAttributes; /* file attributes */
+ uint8_t deAttributes; /* file attributes */
#define ATTR_NORMAL 0x00 /* normal file */
#define ATTR_READONLY 0x01 /* file is readonly */
#define ATTR_HIDDEN 0x02 /* file is hidden */
#define ATTR_VOLUME 0x08 /* entry is a volume label */
#define ATTR_DIRECTORY 0x10 /* entry is a directory name */
#define ATTR_ARCHIVE 0x20 /* file is new or modified */
- u_int8_t deLowerCase; /* NT VFAT lower case flags */
+ uint8_t deLowerCase; /* NT VFAT lower case flags */
#define LCASE_BASE 0x08 /* filename base in lower case */
#define LCASE_EXT 0x10 /* filename extension in lower case */
- u_int8_t deCHundredth; /* hundredth of seconds in CTime */
- u_int8_t deCTime[2]; /* create time */
- u_int8_t deCDate[2]; /* create date */
- u_int8_t deADate[2]; /* access date */
- u_int8_t deHighClust[2]; /* high bytes of cluster number */
- u_int8_t deMTime[2]; /* last update time */
- u_int8_t deMDate[2]; /* last update date */
- u_int8_t deStartCluster[2]; /* starting cluster of file */
- u_int8_t deFileSize[4]; /* size of file in bytes */
+ uint8_t deCHundredth; /* hundredth of seconds in CTime */
+ uint8_t deCTime[2]; /* create time */
+ uint8_t deCDate[2]; /* create date */
+ uint8_t deADate[2]; /* access date */
+ uint8_t deHighClust[2]; /* high bytes of cluster number */
+ uint8_t deMTime[2]; /* last update time */
+ uint8_t deMDate[2]; /* last update date */
+ uint8_t deStartCluster[2]; /* starting cluster of file */
+ uint8_t deFileSize[4]; /* size of file in bytes */
};
/*
* Structure of a Win95 long name directory entry
*/
struct winentry {
- u_int8_t weCnt;
+ uint8_t weCnt;
#define WIN_LAST 0x40
#define WIN_CNT 0x3f
- u_int8_t wePart1[10];
- u_int8_t weAttributes;
+ uint8_t wePart1[10];
+ uint8_t weAttributes;
#define ATTR_WIN95 0x0f
- u_int8_t weReserved1;
- u_int8_t weChksum;
- u_int8_t wePart2[12];
- u_int16_t weReserved2;
- u_int8_t wePart3[4];
+ uint8_t weReserved1;
+ uint8_t weChksum;
+ uint8_t wePart2[12];
+ uint16_t weReserved2;
+ uint8_t wePart3[4];
};
#define WIN_CHARS 13 /* Number of chars per winentry */
struct dirent;
struct msdosfsmount;
-char *mbnambuf_flush(struct mbnambuf *nbp, char *d_name, u_int16_t *d_namlen);
+char *mbnambuf_flush(struct mbnambuf *nbp, char *d_name, uint16_t *d_namlen);
void mbnambuf_init(struct mbnambuf *nbp);
void mbnambuf_write(struct mbnambuf *nbp, char *name, int id);
-void unix2dostime(struct timespec *tsp, u_int16_t *ddp,
- u_int16_t *dtp, u_int8_t *dhp);
+void unix2dostime(struct timespec *tsp, uint16_t *ddp,
+ uint16_t *dtp, uint8_t *dhp);
void dos2unixtime(u_int dd, u_int dt, u_int dh, struct timespec *tsp);
int dos2unixfn(u_char dn[11], u_char *un, int lower, struct msdosfsmount *pmp);
int unix2dosfn(const u_char *un, u_char dn[12], size_t unlen, u_int gen,
int chksum, struct msdosfsmount *pmp);
int win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum,
struct msdosfsmount *pmp);
-u_int8_t winChksum(u_int8_t *name);
+uint8_t winChksum(uint8_t *name);
int winSlotCnt(const u_char *un, size_t unlen, struct msdosfsmount *pmp);
size_t winLenFixup(const u_char *un, size_t unlen);
#endif /* _KERNEL */
* file timestamps. The passed in unix time is assumed to be in GMT.
*/
void
-unix2dostime(struct timespec *tsp, u_int16_t *ddp, u_int16_t *dtp,
- u_int8_t *dhp)
+unix2dostime(struct timespec *tsp, uint16_t *ddp, uint16_t *dtp,
+ uint8_t *dhp)
{
u_long t;
u_long days;
* have been written via mbnambuf_write(), the result will be incorrect.
*/
char *
-mbnambuf_flush(struct mbnambuf *nbp, char *d_name, u_int16_t *d_namlen)
+mbnambuf_flush(struct mbnambuf *nbp, char *d_name, uint16_t *d_namlen)
{
#if 0
if (nbp->nb_len > 127) {
/*
* Convert DOS char to Local char
*/
-static u_int16_t
+static uint16_t
dos2unixchr(const u_char **instr, size_t *ilen, int lower,
struct msdosfsmount *pmp)
{
u_char c;
char *outp, outbuf[3];
- u_int16_t wc;
+ uint16_t wc;
size_t len, olen;
if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdos_iconv) {
c = dos2unix[c];
if (lower & (LCASE_BASE | LCASE_EXT))
c = u2l[c];
- return ((u_int16_t)c);
+ return ((uint16_t)c);
}
/*
/*
* Convert Local char to DOS char
*/
-static u_int16_t
+static uint16_t
unix2doschr(const u_char **instr, size_t *ilen, struct msdosfsmount *pmp)
{
u_char c;
char *up, *outp, unicode[3], outbuf[3];
- u_int16_t wc;
+ uint16_t wc;
size_t len, ucslen, unixlen, olen;
if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdos_iconv) {
c = *(*instr)++;
c = l2u[c];
c = unix2dos[c];
- return ((u_int16_t)c);
+ return ((uint16_t)c);
}
/*
int conv = 1;
const u_char *cp, *dp, *dp1;
u_char gentext[6], *wcp;
- u_int16_t c;
+ uint16_t c;
/*
* Fill the dos filename string with blanks. These are DOS's pad
/*
* Convert Local char to Windows char
*/
-static u_int16_t
+static uint16_t
unix2winchr(const u_char **instr, size_t *ilen, int lower,
struct msdosfsmount *pmp)
{
u_char *outp, outbuf[3];
- u_int16_t wc;
+ uint16_t wc;
size_t olen;
if (*ilen == 0)
unix2winfn(const u_char *un, size_t unlen, struct winentry *wep, int cnt,
int chksum, struct msdosfsmount *pmp)
{
- u_int8_t *wcp;
+ uint8_t *wcp;
int i, end;
- u_int16_t code;
+ uint16_t code;
/*
* Drop trailing blanks and dots
/*
* Initialize winentry to some useful default
*/
- for (wcp = (u_int8_t *)wep, i = sizeof(*wep); --i >= 0; *wcp++ = 0xff);
+ for (wcp = (uint8_t *)wep, i = sizeof(*wep); --i >= 0; *wcp++ = 0xff);
wep->weCnt = cnt;
wep->weAttributes = ATTR_WIN95;
wep->weReserved1 = 0;
return !end;
}
-static __inline u_int8_t
-find_lcode(u_int16_t code, u_int16_t *u2w)
+static __inline uint8_t
+find_lcode(uint16_t code, uint16_t *u2w)
{
int i;
struct msdosfsmount *pmp)
{
size_t len;
- u_int16_t c1, c2;
+ uint16_t c1, c2;
u_char *np;
- u_int16_t d_namlen;
+ uint16_t d_namlen;
char d_name[127];
bzero(d_name, 127);
/*
* Convert Windows char to Local char
*/
-static u_int16_t
-win2unixchr(u_int16_t wc, struct msdosfsmount *pmp)
+static uint16_t
+win2unixchr(uint16_t wc, struct msdosfsmount *pmp)
{
u_char *inp, *outp, inbuf[3], outbuf[3];
size_t ilen, olen, len;
win2unixfn(struct mbnambuf *nbp, struct winentry *wep, int chksum,
struct msdosfsmount *pmp)
{
- u_int8_t *cp;
- u_int8_t *np, name[WIN_CHARS * 2 + 1];
- u_int16_t code;
+ uint8_t *cp;
+ uint8_t *np, name[WIN_CHARS * 2 + 1];
+ uint16_t code;
int i;
if ((wep->weCnt&WIN_CNT) > howmany(WIN_MAXLEN, WIN_CHARS)
/*
* Compute the checksum of a DOS filename for Win95 use
*/
-u_int8_t
-winChksum(u_int8_t *name)
+uint8_t
+winChksum(uint8_t *name)
{
int i;
- u_int8_t s;
+ uint8_t s;
for (s = 0, i = 11; --i >= 0; s += *name++)
s = (s << 7)|(s >> 1);
* Now write the Win95 long name
*/
if (ddep->de_fndcnt > 0) {
- u_int8_t chksum = winChksum(ndep->deName);
+ uint8_t chksum = winChksum(ndep->deName);
const u_char *un = (const u_char *)cnp->cn_nameptr;
int unlen = cnp->cn_namelen;
int cnt = 1;
struct byte_bpb33 *b33;
struct byte_bpb50 *b50;
struct byte_bpb710 *b710;
- u_int8_t SecPerClust;
+ uint8_t SecPerClust;
u_long clusters;
int ronly, error;
u_long pm_fmod; /* ~0 if fs is modified, this can rollover to 0 */
u_long pm_fatblocksize; /* size of fat blocks in bytes */
u_long pm_fatblocksec; /* size of fat blocks in sectors */
- u_int32_t pm_fatmask; /* mask to use for fat numbers */
+ uint32_t pm_fatmask; /* mask to use for fat numbers */
u_long pm_fsinfo; /* fsinfo block number */
u_long pm_nxtfree; /* next free cluster in fsinfo block */
u_int pm_fatmult; /* these 2 values are used in fat */