1 #ifndef DEVICES_NEWSTYLE_H
2 #define DEVICES_NEWSTYLE_H
3 /*------------------------------------------------------------------------*/
7 * Support header for the New Style Device standard
9 * (C)1996-1997 by Amiga International, Inc.
12 /*------------------------------------------------------------------------*/
15 * At the moment there is just a single new style general command:
18 #define NSCMD_DEVICEQUERY 0x4000
20 struct NSDeviceQueryResult
{
22 ** Standard information, must be reset for every query
24 ULONG DevQueryFormat
; /* this is type 0 */
25 ULONG SizeAvailable
; /* bytes available */
28 ** Common information (READ ONLY!)
30 UWORD DeviceType
; /* what the device does */
31 UWORD DeviceSubType
; /* depends on the main type */
32 UWORD
*SupportedCommands
; /* 0 terminated list of cmd's */
34 /* May be extended in the future! Check SizeAvailable! */
38 #define NSDEVTYPE_UNKNOWN 0 /* No suitable category, anything */
39 #define NSDEVTYPE_GAMEPORT 1 /* like gameport.device */
40 #define NSDEVTYPE_TIMER 2 /* like timer.device */
41 #define NSDEVTYPE_KEYBOARD 3 /* like keyboard.device */
42 #define NSDEVTYPE_INPUT 4 /* like input.device */
43 #define NSDEVTYPE_TRACKDISK 5 /* like trackdisk.device */
44 #define NSDEVTYPE_CONSOLE 6 /* like console.device */
45 #define NSDEVTYPE_SANA2 7 /* A >=SANA2R2 networking device */
46 #define NSDEVTYPE_AUDIO 8 /* like audio.device */
47 #define NSDEVTYPE_CLIPBOARD 9 /* like clipboard.device */
48 #define NSDEVTYPE_PRINTER 10 /* like printer.device */
49 #define NSDEVTYPE_SERIAL 11 /* like serial.device */
50 #define NSDEVTYPE_PARALLEL 12 /* like parallel.device */
53 /*------------------------------------------------------------------------*/
54 /* The following defines should really be part of device specific
55 * includes. So we protect them from being redefined.
57 #ifndef NSCMD_TD_READ64
59 * An early new style trackdisk like device can also return this
60 * new identifier for TD_GETDRIVETYPE. This should no longer
61 * be the case though for newly written or updated NSD devices.
62 * This identifier is ***OBSOLETE***
65 #define DRIVE_NEWSTYLE (0x4E535459L) /* 'NSTY' */
69 * At the moment, only four new style commands in the device
70 * specific range and their ETD counterparts may be implemented.
73 #define NSCMD_TD_READ64 0xC000
74 #define NSCMD_TD_WRITE64 0xC001
75 #define NSCMD_TD_SEEK64 0xC002
76 #define NSCMD_TD_FORMAT64 0xC003
78 #define NSCMD_ETD_READ64 0xE000
79 #define NSCMD_ETD_WRITE64 0xE001
80 #define NSCMD_ETD_SEEK64 0xE002
81 #define NSCMD_ETD_FORMAT64 0xE003
82 #endif /* NSCMD_TD_READ64 */
84 /*------------------------------------------------------------------------*/
86 #endif /* DEVICES_NEWSTYLE_H */