Kernel/PTYs - NL->CR translation (disabled)
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / include_exp / acess / devices.h
1 /**
2  * Acess2 User Core
3  * - By John Hodge (thePowersGang)
4  *
5  * acess/devices.h
6  * - Core device IOCtls
7  */
8 #ifndef _ACESS_DRIVERS_H
9 #define _ACESS_DRIVERS_H
10
11 #ifndef PACKED
12 #define PACKED  __attribute((packed))
13 #endif
14
15 // === COMMON ===
16 enum eDrv_Common {
17         /**
18          * ioctl(...)
19          * \brief Get driver type
20          * \return The relevant entry from ::eTplDrv_Type
21          */
22         DRV_IOCTL_TYPE,
23         
24         /**
25          * ioctl(..., char *dest[32])
26          * \brief Get driver identifier string
27          * \return 0 on no error
28          * 
29          * This call sets the 32-byte array \a dest to the drivers 31 character
30          * identifier. This identifier must be unique to the driver series.
31          */
32         DRV_IOCTL_IDENT,
33         
34         /**
35          * ioctl(...)
36          * \brief Get driver version number
37          * \return 24-bit BCD version number (2.2.2)
38          * 
39          * This call returns the 6-digit (2 major, 2 minor, 2 patch) version
40          * number of the driver.
41          */
42         DRV_IOCTL_VERSION,
43         
44         /**
45          * ioctl(..., char *name)
46          * \brief Get a IOCtl call ID from a symbolic name
47          * \return ID number of the call, or 0 if not found
48          * 
49          * This call allows user applications to not need to know the ID numbers
50          * of this driver's IOCtl calls by taking a string and returning the
51          * IOCtl call number associated with that method name.
52          */
53         DRV_IOCTL_LOOKUP,
54
55         /**
56          * \brief First non-reserved IOCtl number for driver extension
57          */
58         DRV_IOCTL_USERMIN = 0x1000,
59 };
60
61 enum eDrv_Types {
62         DRV_TYPE_NULL,          //!< NULL Type - Custom Interface (must support core calls)
63         DRV_TYPE_MISC,          //!< Miscelanious Compilant - Supports the core calls
64         DRV_TYPE_TERMINAL,      //!< Terminal - see api_drv_terminal.h
65         DRV_TYPE_VIDEO,         //!< Video - see api_drv_video.h
66         DRV_TYPE_SOUND,         //!< Audio
67         DRV_TYPE_DISK,          //!< Disk - see api_drv_disk.h
68         DRV_TYPE_KEYBOARD,      //!< Keyboard - see api_drv_keyboard.h
69         DRV_TYPE_MOUSE,         //!< Mouse
70         DRV_TYPE_JOYSTICK,      //!< Joystick / Gamepad
71         DRV_TYPE_NETWORK        //!< Network Device - see api_drv_network.h
72 };
73
74 #endif

UCC git Repository :: git.ucc.asn.au