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