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

📄 ioctl.c

📁 S3C24A0的完整BSP包,对开发此芯片的开发者很有用.
💻 C
📖 第 1 页 / 共 2 页
字号:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
//------------------------------------------------------------------------------
//
//  File: ioctl.c           
//
//  This file implements the OEM's IO Control (IOCTL) functions and declares
//  global variables used by the IOCTL component.
//
#include <bsp.h>

//------------------------------------------------------------------------------
//
//  Global: g_oalIoctlPlatformType/OEM    
//
//  Platform Type/OEM
//
LPCWSTR g_oalIoCtlPlatformType = IOCTL_PLATFORM_TYPE;
LPCWSTR g_oalIoCtlPlatformOEM  = IOCTL_PLATFORM_OEM;

//------------------------------------------------------------------------------
//
//  Global: g_oalIoctlProcessorVendor/Name/Core
//
//  Processor information
//
LPCWSTR g_oalIoCtlProcessorVendor = IOCTL_PROCESSOR_VENDOR;
LPCWSTR g_oalIoCtlProcessorName   = IOCTL_PROCESSOR_NAME;
LPCWSTR g_oalIoCtlProcessorCore   = IOCTL_PROCESSOR_CORE;

//------------------------------------------------------------------------------
//
//  Global: g_oalIoctlInstructionSet
//
//  Processor instruction set identifier
//
UINT32 g_oalIoCtlInstructionSet = IOCTL_PROCESSOR_INSTRUCTION_SET;
UINT32 g_oalIoCtlClockSpeed = IOCTL_PROCESSOR_CLOCK_SPEED;

//------------------------------------------------------------------------------
//
//  Global: g_oalIoCtlTable[]    
//
//  IOCTL handler table. This table includes the IOCTL code/handler pairs  
//  defined in the IOCTL configuration file. This global array is exported 
//  via oal_ioctl.h and is used by the OAL IOCTL component.
//

BOOL S3C24A0IoCtlQueryDispSettings (
    UINT32 code, VOID *lpInBuf, UINT32 nInBufSize, VOID *lpOutBuf, 
    UINT32 nOutBufSize, UINT32 *lpBytesReturned);
BOOL GetRandomSeed(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize);
BOOL SecureRegistry(UINT32 code, VOID* lpInBuf , UINT32 nInBufSize , VOID* lpOutBuf , 
    UINT32 nOutBufSize , UINT32 *lpBytesReturned );

BOOL TestIOCTLa(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLa $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLb(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLb $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLc(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLc $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLd(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLd $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLe(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLe $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLf(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLf $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLg(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLg $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLh(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLh $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLi(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLi $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLj(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLj $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLk(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLk $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLl(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLl $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLm(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLm $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLn(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLn $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLo(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLp(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLp $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLq(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLq $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLr(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLr $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLs(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLs $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLt(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLt $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLu(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLu $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLv(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLv $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLw(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLw $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLx(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLx $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLy(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLy $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTLz(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTLz $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}

BOOL TestIOCTL0(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTL $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;
}
BOOL TestIOCTL1(UINT32 code, VOID* pInpBuffer, UINT32 inpSize, VOID* pOutBuffer, 
    UINT32 outSize, UINT32 *pOutSize)
{
	RETAILMSG(1, (TEXT("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ Arrived TestIOCTL1 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\r\n")));
	return TRUE;

⌨️ 快捷键说明

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