Metropoli BBS
VIEWER: dcb.h MODE: TEXT (ASCII)
/****************************************************************/
/*								*/
/*			      dcb.h				*/
/*								*/
/*		  DOS Device Control Block Structure		*/
/*								*/
/*			 November 20, 1991			*/
/*								*/
/*			Copyright (c) 1995			*/
/*			Pasquale J. Villani			*/
/*			All Rights Reserved			*/
/*								*/
/* This file is part of DOS-C.					*/
/*								*/
/* DOS-C is free software; you can redistribute it and/or	*/
/* modify it under the terms of the GNU General Public License	*/
/* as published by the Free Software Foundation; either version	*/
/* 2, or (at your option) any later version.			*/
/*								*/
/* DOS-C is distributed in the hope that it will be useful, but	*/
/* WITHOUT ANY WARRANTY; without even the implied warranty of	*/
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See	*/
/* the GNU General Public License for more details.		*/
/*								*/
/* You should have received a copy of the GNU General Public	*/
/* License along with DOS-C; see the file COPYING.  If not,	*/
/* write to the Free Software Foundation, 675 Mass Ave,		*/
/* Cambridge, MA 02139, USA.					*/
/****************************************************************/


/* $Logfile:   C:/dos-c/hdr/dcb.h_v  $ */
#ifdef MAIN
# ifndef IPL
static BYTE *dcb_hRcsId = "$Header:   C:/dos-c/hdr/dcb.h_v   1.2   01 Sep 1995 17:35:40   patv  $";
# endif
#endif

/*
 * $Log:   C:/dos-c/hdr/dcb.h_v  $
 *	
 *	   Rev 1.2   01 Sep 1995 17:35:40   patv
 *	First GPL release.
 *	
 *	   Rev 1.1   30 Jul 1995 20:43:48   patv
 *	Eliminated version strings in ipl
 *	
 *	   Rev 1.0   02 Jul 1995 10:39:30   patv
 *	Initial revision.
 */

/* Internal drive parameter block					*/
struct dpb
{
	BYTE	dpb_unit;		/* unit for error reporting	*/
	BYTE	dpb_subunit;		/* the sub-unit for driver	*/
	UWORD	dpb_secsize;		/* sector size			*/
	UBYTE	dpb_clsmask;		/* mask (sectors/cluster-1)	*/
	UBYTE	dpb_shftcnt;		/* log base 2 of cluster size	*/
	UWORD	dpb_fatstrt;		/* FAT start sector		*/
	UBYTE	dpb_fats;		/* # of FAT copies		*/
	UWORD	dpb_dirents;		/* # of dir entries		*/
	UWORD	dpb_data;		/* start of data area		*/
	UWORD	dpb_size;		/* # of clusters+1 on media	*/
	UWORD	dpb_fatsize;		/* # of sectors / FAT		*/
	UWORD	dpb_dirstrt;		/* start sec. of root dir	*/
	struct	dhdr FAR *		/* pointer to device header	*/
		dpb_device;
	UBYTE	dpb_mdb;		/* media descr. byte		*/
	BYTE	dpb_flags;		/* -1 = force MEDIA CHK		*/
	struct	dpb FAR *		/* next dpb in chain		*/
		dpb_next;		/* -1 = end			*/
	UWORD	dpb_cluster;		/* cluster # of first free	*/
					/* -1 if not known		*/
	UWORD	dpb_nfreeclst;		/* number of free clusters	*/
					/* -1 if not known		*/

	/*								*/
	/* Start of DOS/NT private areas				*/
	/*								*/
	UBYTE	dpb_clssize;		/* sectors/cluster		*/
	UCOUNT 	dpb_count;		/* number of dpb uses		*/
	BYTE	dpb_path[64];		/* current dir name		*/
};

#define UNKNCLUSTER	0xffff		/* 0xffff = unknow for DOS	*/

[ RETURN TO DIRECTORY ]