File:  [MW Coherent from dump] / coherent / d / bin / dos / mdir.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:39 2019 UTC (7 years, 2 months ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/*
 * Directory entry on an MS-DOS diskette. Used by file extraction program "dos"
 * and by the MS-DOS emulator.
 */

#ifdef _I386
#pragma align 1
#endif
typedef	struct	mdir	{
	unsigned char	m_name[8];	/* File name		*/
	unsigned char	m_ext[3];	/* File extension	*/
	unsigned char	m_attr;		/* File attribute	*/
	unsigned char	m_junk[10];	/* Reserved		*/
	unsigned short  m_time;		/* Sec/Min/Hour Creation*/
	unsigned short  m_date;		/* Day/Month/(Year-1980)*/
	short		m_cluster;	/* Starting cluster	*/
	long		m_size;		/* File size in bytes	*/
} MDIR;
#ifdef _I386
#pragma align
#endif

#define m_sec(z)	(unsigned short)((unsigned short)(z->m_time    ) & 0x1f)
#define m_min(z)	(unsigned short)((unsigned short)(z->m_time>>5)  & 0x3f)
#define m_hour(z)	(unsigned short)((unsigned short)(z->m_time>>11) & 0x1f)

#define m_day(z)	(unsigned short)((unsigned short)(z->m_date   ) &0x1f)
#define m_month(z)	(unsigned short)((unsigned short)(z->m_date>>5) &0xf)
#define m_year(z)	(unsigned short)((unsigned short)(z->m_date>>9) &0x7f)

#define c_sec(y)	(unsigned short)(y)
#define c_min(y)	((unsigned short)(y)<<5)
#define c_hour(y)	((unsigned short)(y)<<11)

#define c_day(y)	(unsigned short)(y)
#define c_month(y)	((unsigned short)(y)<<5)
#define c_year(y)	((unsigned short)(y)<<9)


/* Special values for m_name[0]. */
#define MFREE	(unsigned char)0x00		/* Never used		*/
#define MMDIR	(unsigned char)0x2E		/* Directory file	*/
#define	MEMPTY	(unsigned char)0xE5		/* Empty name		*/

/* Attributes in m_attr. */
#define MRONLY	0x01			/* Read only		*/
#define	MHIDDEN	0x02			/* Hidden file		*/
#define	MSYSTEM	0x04			/* System file		*/
#define MVOLUME	0x08			/* Volume identifier	*/
#define MSUBDIR	0x10			/* Sub directory	*/
#define MARCHIV	0x20			/* Archive bit		*/

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.