Attribute Data

Attribute data is classified broadly into the following three kinds of data.

  • Common attributes

Attributes defined in common for all devices (device drivers).

  • Device kind attributes

Attributes defined in common for devices (device drivers) of the same kind.

  • Device-specific attributes

Attributes defined independently for each device (device driver).

For the device kind attributes and device-specific attributes, see the specifications for each device. Only the common attributes are defined here.

Common attributes are assigned attribute data numbers in the range from -1 to -99. While common attribute data numbers are the same for all devices, not all devices necessarily support all common attributes. If an unsupported data number is specified, error code E_PAR is returned.


#define	TDN_EVENT	(-1)	/* RW: event notification message buffer ID	*/
#define	TDN_DISKINFO	(-2)	/* R: disk information	*/
#define	TDN_DISPSPEC	(-3)	/* R: display device specification	*/
RW: read (tk_rea_dev)/write (tk_wri_dev) enabled
R: read (tk_rea_dev) only

TDN_EVENT: Event Notification Message Buffer ID

Data type ID

The ID of the message buffer used for device event notification. Since the system default message buffer ID is passed in device registration, that ID is set as the initial setting when a driver is started.

If 0 is set, device events are not notified.

Device event notification is discussed later below.

TDN_DISKINFO: Disk Information

Data type: DiskInfo


	typedef	enum {
		DiskFmt_STD	= 0,	/* standard (HD, etc.)	*/
		DiskFmt_2DD	= 1,	/* 2DD 720KB	*/
		DiskFmt_2HD	= 2,	/* 2HD 1.44MB	*/
		DiskFmt_CDROM	= 4,	/* CD-ROM 640MB	*/
	} DiskFormat;
	typedef	struct {
		DiskFormat	format;	/* format	*/
		UW	protect:1;	/* protected status	*/
		UW	removable:1;	/* removable	*/
		UW	rsv:30;	/* reserved (always 0)	*/
		W	blocksize;	/* block size in bytes	*/
		W	blockcount;	/* total block count	*/
	} DiskInfo;

TDN_DISPSPEC: Display Device Specification

Data type: DEV_SPEC



	typedef struct {
	H	attr;	/* device attributes	*/
	H	planes;	/* number of planes	*/
	H	pixbits;	/* pixel bits (boundary/valid)	*/
	H	hpixels;	/* horizontal pixels	*/
	H	vpixels;	/* vertical pixels	*/
	H	hres;	/* horizontal resolution	*/
	H	vres;	/* vertical resolution	*/
	H	color[4];	/* color information	*/
	H	resv[6];	/* reserved	*/
	} DEV_SPEC;

Comments

Click here to Post a Comment