31ad97a017cd6ce35e49937fde5cc18dcc17b59d
[tpg/acess2.git] / Kernel / include / tpl_drv_common.h
1 /**
2  AcessOS Version 1
3  \file tpl_drv_common.h
4  \brief Common Driver Interface Definitions
5 */
6 #ifndef _TPL_COMMON_H
7 #define _TPL_COMMON_H
8
9 /**
10  * \enum eTplDrv_IOCtl
11  * \brief Common IOCtl Calls
12  */
13 enum eTplDrv_IOCtl {
14         /// \brief Driver Type - Return an ::eTplDrv_Type value
15         DRV_IOCTL_TYPE,
16         /// \brief Get driver identifier - (char *dest[4])
17         DRV_IOCTL_IDENT,
18         /// \brief Get driver version - (int *ver)
19         DRV_IOCTL_VERSION,
20         /// \brief Get a IOCtl from a symbolic name
21         DRV_IOCTL_LOOKUP,
22 };
23
24 /**
25  * \enum eTplDrv_Type
26  * \brief Driver Types returned by DRV_IOCTL_TYPE
27  */
28 enum eTplDrv_Type {
29         DRV_TYPE_NULL,          //!< NULL Type - Custom Interface
30         DRV_TYPE_MISC,          //!< Miscelanious Compilant - Supports the core calls
31         DRV_TYPE_TERMINAL,      //!< Terminal
32         DRV_TYPE_VIDEO,         //!< Video - LFB
33         DRV_TYPE_SOUND,         //!< Audio
34         DRV_TYPE_DISK,          //!< Disk
35         DRV_TYPE_KEYBOARD,      //!< Keyboard
36         DRV_TYPE_MOUSE,         //!< Mouse
37         DRV_TYPE_JOYSTICK,      //!< Joystick / Gamepad
38         DRV_TYPE_NETWORK        //!< Network Device
39 };
40
41 // === FUNCTIONS ===
42 extern int      GetIOCtlId(int Class, char *Name);
43
44 #endif

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