⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oxdevicequery.h

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 H
字号:
/*******************************************************************************
 * oxdevicequery.h
 *______________________________________________________________________________
 *
 * Oxford Semiconductor Proprietary and Confidential Information
 *
 * Copyright (C) 2005-2006 Oxford Semiconductor Ltd.
 *
 * NOTE: THIS FILE EXISTS IN TWO CVS REPOSITORIES & MUST BE KEPT THE SAME. THESE
 * FILES ARE IN THE FOLLOWING DIRECTORIES:
 *       /tech/sw_uarts/root/driver_src/w2kxpx64/COMMON
 *       /chips/cf952/root/software/OxCFU950/src
 *
 *******************************************************************************
 */

//
// The device query defines of type ID's and structures for query for the
// presence and EPROM IO interfaces of Oxford Semiconductors devices.
//

#ifndef _OX_DEVICE_QUERY

#define _OX_DEVICE_QUERY

//------------------------------------------------------------------------------
// IOCTL code for serial driver and multifunction driver.

#define IOCTL_OXSER_QUERY_INFO \
    CTL_CODE( FILE_DEVICE_SERIAL_PORT, 63, METHOD_BUFFERED, FILE_READ_ACCESS )

//------------------------------------------------------------------------------
// IOCTL code for USB driver.

// See the usbioctl.h for the reserved space of IODEF.
#define RESERVED_AREA_OF_USB_IOCTL        300
#define IOCTL_CUSTOM_BIT                  (1<<11)
//#define OXCFU950_IOCTL_BASE             RESERVED_AREA_OF_USB_IOCTL
#define OXCFU950_IOCTL_BASE               0
#define OXCFU950_IOCTL_FUNCTION           (IOCTL_CUSTOM_BIT|OXCFU950_IOCTL_BASE)

// The first IOCTL code is reserved for use by OxProg. For the other codes, see
// IOCTL.h in the source of the CFU950 USB driver.
#define OXCFU950_QUERY_INFO                 (OXCFU950_IOCTL_FUNCTION+0)


//------------------------------------------------------------------------------
// Define the card type enumerations (as put in dwRequestedType in the structure
// defined below).

// The serial driver only processes the IOCTL if it contains this code:
#define     OX_FOR_SERIAL_DRIVER              0
// The multifunction only processes the IOCTL if it contains this code:
#define     OX_FOR_MULTIFUNCTION_DRIVER       1
// The USB driver only processes the IOCTL if it contains this code:
#define     OX_FOR_USB_DRIVER                 2
// The USB INFO ONLY driver only processes the IOCTL if it contains this code:
#define     OX_FOR_USB_INFO_ONLY_DRIVER       3


//------------------------------------------------------------------------------
// We set this number in the dwMagicNumber Field as a valid response check.
//

#define OXMAGICNUMBER       0x01020304

//------------------------------------------------------------------------------
// Whether it is an IO or memory mapped port (goes in the dwIoType field).
//

#define IO_TYPE             0
#define MEMORY_TYPE         1

//------------------------------------------------------------------------------

#define OX_DEVICE_ID_SIZE   512
#define OX_RESOURCES_SIZE   2048

struct OxQueryDeviceInfo {
    // To be filled in by the caller.
    ULONG   dwRequestedType;
    ULONG   dwIoType;
    // The version of the interface.
    ULONG   dwVersion;
    TCHAR   DeviceId[OX_DEVICE_ID_SIZE];
    // Number of bytes of data recorded in Resources.
    ULONG   dwResourceLength;
    // The content of Resources depends on the type of device, which can be
    // determined by looking at ChipId.
    unsigned char Resources[OX_RESOURCES_SIZE];
    ULONG   dwMagicNumber;
    // The four bytes read from the UART - e.g. 0x16, 0xC9, 0x50, 0x0A for the
    // mPCI954. This is also filled in by the USB driver according to the
    // version number in the UART part of the device.
    ULONG   ChipId;
};

//------------------------------------------------------------------------------
// If the device is a CFU950, the Resources field of the OxQueryDeviceInfo
// structure is as follows:
/*
typedef struct _CFU950_RESOURCE_INFO {

    PHYSICAL_ADDRESS         ioBase_;
    ULONG                    ioLength_;

    PHYSICAL_ADDRESS         memBase_;
    ULONG                    memLength_;

} CFU950_RESOURCE_INFO, *PCFU950_RESOURCE_INFO;
*/


#define IOCTL_OXSER_CF950_GPIO \
    CTL_CODE( FILE_DEVICE_SERIAL_PORT, 62, METHOD_BUFFERED, FILE_READ_ACCESS )


#endif


/*-----------------------------------------------------------------------------*
 *                           End of oxdevicequery.h                            *
 *-----------------------------------------------------------------------------*
 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -