X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Finclude_exp%2Facess%2Fdevices.h;h=53c8361d822aede2d48b7c13dbcec841429262f7;hb=c1b33e91984102c1aa9a2ffe19f02c315b481726;hp=bfbb625658cced74a048bd6feaecadb1c1363328;hpb=4bd23d4ae51bd5cb92b449bcd66e0d2de88c7fc9;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices.h b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices.h index bfbb6256..53c8361d 100644 --- a/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices.h +++ b/Usermode/Libraries/ld-acess.so_src/include_exp/acess/devices.h @@ -1,50 +1,74 @@ /** - * \file drivers.h + * Acess2 User Core + * - By John Hodge (thePowersGang) + * + * acess/devices.h + * - Core device IOCtls */ -#ifndef _SYS_DRIVERS_H -#define _SYS_DRIVERS_H +#ifndef _ACESS_DRIVERS_H +#define _ACESS_DRIVERS_H + +#ifndef PACKED +#define PACKED __attribute((packed)) +#endif // === COMMON === enum eDrv_Common { - DRV_IOCTL_NULL, + /** + * ioctl(...) + * \brief Get driver type + * \return The relevant entry from ::eTplDrv_Type + */ DRV_IOCTL_TYPE, + + /** + * ioctl(..., char *dest[32]) + * \brief Get driver identifier string + * \return 0 on no error + * + * This call sets the 32-byte array \a dest to the drivers 31 character + * identifier. This identifier must be unique to the driver series. + */ DRV_IOCTL_IDENT, - DRV_IOCTL_VER + + /** + * ioctl(...) + * \brief Get driver version number + * \return 24-bit BCD version number (2.2.2) + * + * This call returns the 6-digit (2 major, 2 minor, 2 patch) version + * number of the driver. + */ + DRV_IOCTL_VERSION, + + /** + * ioctl(..., char *name) + * \brief Get a IOCtl call ID from a symbolic name + * \return ID number of the call, or 0 if not found + * + * This call allows user applications to not need to know the ID numbers + * of this driver's IOCtl calls by taking a string and returning the + * IOCtl call number associated with that method name. + */ + DRV_IOCTL_LOOKUP, + + /** + * \brief First non-reserved IOCtl number for driver extension + */ + DRV_IOCTL_USERMIN = 0x1000, }; enum eDrv_Types { - DRV_TYPE_NULL, //!< NULL Type - Custom Interface - DRV_TYPE_TERMINAL, //!< Terminal - DRV_TYPE_VIDEO, //!< Video - LFB + DRV_TYPE_NULL, //!< NULL Type - Custom Interface (must support core calls) + DRV_TYPE_MISC, //!< Miscelanious Compilant - Supports the core calls + DRV_TYPE_TERMINAL, //!< Terminal - see api_drv_terminal.h + DRV_TYPE_VIDEO, //!< Video - see api_drv_video.h DRV_TYPE_SOUND, //!< Audio + DRV_TYPE_DISK, //!< Disk - see api_drv_disk.h + DRV_TYPE_KEYBOARD, //!< Keyboard - see api_drv_keyboard.h DRV_TYPE_MOUSE, //!< Mouse - DRV_TYPE_JOYSTICK //!< Joystick / Gamepad + DRV_TYPE_JOYSTICK, //!< Joystick / Gamepad + DRV_TYPE_NETWORK //!< Network Device - see api_drv_network.h }; -// === VIDEO === -enum eDrv_Video { - VID_IOCTL_SETMODE = 4, - VID_IOCTL_GETMODE, - VID_IOCTL_FINDMODE, - VID_IOCTL_MODEINFO, - VID_IOCTL_REQLFB // Request LFB -}; -struct sVideo_IOCtl_Mode { - short id; - Uint16 width; - Uint16 height; - Uint16 bpp; -}; -typedef struct sVideo_IOCtl_Mode tVideo_IOCtl_Mode; //!< Mode Type - -// === MOUSE === -enum eDrv_Mouse { - MSE_IOCTL_SENS = 4, - MSE_IOCTL_MAX_X, - MSE_IOCTL_MAX_Y -}; - -// === Terminal === -#include "devices/terminal.h" - #endif