亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ac.c

?? 自己根據lkd和情境分析
?? C
字號:
/***************************************************************************** * * Module Name: ac.c *   $Revision: 1.1.1.1 $ * *****************************************************************************//* *  Copyright (C) 2000, 2001 Andrew Grover * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation; either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program; if not, write to the Free Software *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#include <acpi.h>#include "ac.h"#define _COMPONENT		ACPI_AC_ADAPTER	MODULE_NAME 		("ac")/**************************************************************************** *                            Internal Functions ****************************************************************************//**************************************************************************** * * FUNCTION:	ac_print * * PARAMETERS:	 * * RETURN:	 * * DESCRIPTION: Prints out information on a specific ac_adapter. * ****************************************************************************/voidac_print (	AC_CONTEXT		*ac_adapter){#ifdef ACPI_DEBUG	acpi_buffer		buffer;	PROC_NAME("ac_print");	if (!ac_adapter) {		return;	}	buffer.length = 256;	buffer.pointer = acpi_os_callocate(buffer.length);	if (!buffer.pointer) {		return;	}	/*	 * Get the full pathname for this ACPI object.	 */	acpi_get_name(ac_adapter->acpi_handle, ACPI_FULL_PATHNAME, &buffer);	/*	 * Print out basic adapter information.	 */	ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "+------------------------------------------------------------\n"));	ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "| AC Adapter[%02x]:[%p] %s\n", ac_adapter->device_handle, ac_adapter->acpi_handle, (char*)buffer.pointer));	ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO, "+------------------------------------------------------------\n"));	acpi_os_free(buffer.pointer);#endif /*ACPI_DEBUG*/	return;}/**************************************************************************** * * FUNCTION:	ac_add_device * * PARAMETERS:	 * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_add_device(	BM_HANDLE		device_handle,	void			**context){	acpi_status 		status = AE_OK;	BM_DEVICE		*device = NULL;	AC_CONTEXT		*ac_adapter = NULL;	acpi_device_info	info;	FUNCTION_TRACE("ac_add_device");	ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Adding ac_adapter device [%02x].\n", device_handle));	if (!context || *context) {		ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Invalid (NULL) context."));		return_ACPI_STATUS(AE_BAD_PARAMETER);	}	/*	 * Get information on this device.	 */	status = bm_get_device_info(device_handle, &device);	if (ACPI_FAILURE(status)) {		return_ACPI_STATUS(status);	}	/*	 * Allocate a new AC_CONTEXT structure.	 */	ac_adapter = acpi_os_callocate(sizeof(AC_CONTEXT));	if (!ac_adapter) {		return_ACPI_STATUS(AE_NO_MEMORY);	}	ac_adapter->device_handle = device->handle;	ac_adapter->acpi_handle = device->acpi_handle;	/*	 * Get information on this object.	 */	status = acpi_get_object_info(ac_adapter->acpi_handle, &info);	if (ACPI_FAILURE(status)) {		ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unable to get object info for ac_adapter device."));		goto end;	}	/*	 * _UID?	 * -----	 */	if (info.valid & ACPI_VALID_UID) {		strncpy(ac_adapter->uid, info.unique_id, sizeof(info.unique_id));	}	else {		strncpy(ac_adapter->uid, "0", sizeof("0"));	}	/*	 * _STA?	 * -----	 */	if (!(info.valid & ACPI_VALID_STA)) {		ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Must have valid _STA.\n"));		status = AE_ERROR;		goto end;	}	status = ac_osl_add_device(ac_adapter);	if (ACPI_FAILURE(status)) {		goto end;	}	*context = ac_adapter;	ac_print(ac_adapter);end:	if (ACPI_FAILURE(status)) {		acpi_os_free(ac_adapter);	}	return_ACPI_STATUS(status);}/**************************************************************************** * * FUNCTION:	ac_remove_device * * PARAMETERS:	 * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_remove_device (	void			**context){	acpi_status 		status = AE_OK;	AC_CONTEXT		*ac_adapter = NULL;	FUNCTION_TRACE("ac_remove_device");	if (!context || !*context) {		return_ACPI_STATUS(AE_BAD_PARAMETER);	}	ac_adapter = (AC_CONTEXT*)*context;	ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Removing ac_adapter device [%02x].\n", ac_adapter->device_handle));	ac_osl_remove_device(ac_adapter);	acpi_os_free(ac_adapter);	*context = NULL;	return_ACPI_STATUS(status);}/**************************************************************************** *                             External Functions ****************************************************************************//**************************************************************************** * * FUNCTION:	ac_initialize * * PARAMETERS:	<none> * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_initialize (void){	acpi_status		status = AE_OK;	BM_DEVICE_ID		criteria;	BM_DRIVER		driver;	FUNCTION_TRACE("ac_initialize");	MEMSET(&criteria, 0, sizeof(BM_DEVICE_ID));	MEMSET(&driver, 0, sizeof(BM_DRIVER));	driver.notify = &ac_notify;	driver.request = &ac_request;	/*	 * Register driver for AC Adapter devices.	 */	MEMCPY(criteria.hid, AC_HID_AC_ADAPTER, sizeof(AC_HID_AC_ADAPTER));	status = bm_register_driver(&criteria, &driver);	return_ACPI_STATUS(status);}/**************************************************************************** * * FUNCTION:	ac_terminate * * PARAMETERS:	<none> * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_terminate (void){	acpi_status 		status = AE_OK;	BM_DEVICE_ID		criteria;	BM_DRIVER		driver;	FUNCTION_TRACE("ac_terminate");	MEMSET(&criteria, 0, sizeof(BM_DEVICE_ID));	MEMSET(&driver, 0, sizeof(BM_DRIVER));	/*	 * Unregister driver for AC Adapter devices.	 */	MEMCPY(criteria.hid, AC_HID_AC_ADAPTER, sizeof(AC_HID_AC_ADAPTER));	driver.notify = &ac_notify;	driver.request = &ac_request;	status = bm_unregister_driver(&criteria, &driver);	return_ACPI_STATUS(status);}/***************************************************************************** * * FUNCTION:	ac_notify * * PARAMETERS:	<none> * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_notify (	BM_NOTIFY		notify_type,	BM_HANDLE		device_handle,	void			**context){	acpi_status 		status = AE_OK;	FUNCTION_TRACE("ac_notify");	if (!context) {		return_ACPI_STATUS(AE_BAD_PARAMETER);	}	switch (notify_type) {	case BM_NOTIFY_DEVICE_ADDED:		status = ac_add_device(device_handle, context);		break;	case BM_NOTIFY_DEVICE_REMOVED:		status = ac_remove_device(context);		break;	case AC_NOTIFY_STATUS_CHANGE:		ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Status change event detected.\n"));		status = ac_osl_generate_event(notify_type,			((AC_CONTEXT*)*context));		break;	default:		status = AE_SUPPORT;		break;	}	return_ACPI_STATUS(status);}/**************************************************************************** * * FUNCTION:	ac_request * * PARAMETERS:	 * * RETURN:	 * * DESCRIPTION: * ****************************************************************************/acpi_statusac_request (	BM_REQUEST		*request,	void			*context){	acpi_status 		status = AE_OK;	FUNCTION_TRACE("ac_request");	/*	 * Must have a valid request structure and context.	 */	if (!request || !context) {		return_ACPI_STATUS(AE_BAD_PARAMETER);	}	/*	 * Handle Request:	 * ---------------	 */	switch (request->command) {	default:		status = AE_SUPPORT;		break;	}	request->status = status;	return_ACPI_STATUS(status);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲444eee在线观看| 亚洲一区二区三区激情| 精品一二线国产| 3d动漫精品啪啪1区2区免费| 亚洲黄色免费网站| 91成人看片片| 亚洲成a人v欧美综合天堂下载| 在线观看一区二区精品视频| 亚洲免费看黄网站| 色婷婷亚洲婷婷| 亚洲另类色综合网站| 在线一区二区三区做爰视频网站| 一区二区三区.www| 欧美亚洲精品一区| 亚洲成人黄色影院| 7777精品久久久大香线蕉 | 久久麻豆一区二区| 精品伊人久久久久7777人| 欧美成人vps| 国产九色精品成人porny| 久久久久久**毛片大全| 成人a区在线观看| 亚洲欧洲在线观看av| 色呦呦国产精品| 亚洲va欧美va人人爽| 欧美一级欧美三级| 国产资源在线一区| 国产日韩欧美麻豆| 91蝌蚪porny成人天涯| 亚洲午夜一区二区| 日韩一区二区在线看| 国内久久精品视频| 国产精品入口麻豆九色| 色综合 综合色| 日日欢夜夜爽一区| 26uuu另类欧美| av网站一区二区三区| 亚洲精品成人精品456| 欧美日韩一级大片网址| 老司机精品视频一区二区三区| 久久美女高清视频| 91麻豆6部合集magnet| 亚洲国产视频直播| 欧美mv日韩mv国产网站| 粉嫩aⅴ一区二区三区四区| 亚洲欧美成人一区二区三区| 欧美精品aⅴ在线视频| 国内外成人在线| 亚洲免费观看高清完整| 3d动漫精品啪啪1区2区免费| 国产a精品视频| 亚洲影视资源网| 精品国产精品一区二区夜夜嗨| 成人高清伦理免费影院在线观看| 亚洲在线一区二区三区| 精品久久久久久久久久久久久久久久久| 国产成人综合网站| 亚洲成人资源网| 国产亚洲1区2区3区| 91福利在线免费观看| 美女国产一区二区三区| 亚洲欧美综合在线精品| 日韩三级免费观看| 91在线播放网址| 久久精品国产亚洲一区二区三区| 亚洲欧美在线视频观看| 欧美成人video| 一本色道久久综合亚洲91 | 日本网站在线观看一区二区三区| 久久久久国产精品麻豆| 欧美亚洲国产一区二区三区 | 日本成人在线看| 国产精品网站在线| 91麻豆精品国产91久久久久| 成人av电影免费观看| 蜜桃av噜噜一区| 夜夜爽夜夜爽精品视频| 欧美韩日一区二区三区| 91精品国产乱码久久蜜臀| 成人激情综合网站| 看电视剧不卡顿的网站| 亚洲精品国产第一综合99久久| 精品久久一区二区三区| 欧美专区在线观看一区| 国产91丝袜在线播放九色| 日产欧产美韩系列久久99| 国产精品国产三级国产aⅴ中文| 日韩午夜在线播放| 在线观看欧美黄色| 成人av手机在线观看| 老司机精品视频线观看86| 亚洲综合成人网| 国产精品免费视频网站| 亚洲精品一区二区三区在线观看| 欧美三级资源在线| 99久久99久久综合| 国产精品自在在线| 另类小说色综合网站| 午夜精品久久久| 一区二区三区在线免费观看| 国产免费观看久久| 精品久久久久久最新网址| 欧美精品亚洲一区二区在线播放| 91免费视频网址| 波多野结衣亚洲一区| 国产91在线|亚洲| 国产伦理精品不卡| 麻豆国产精品视频| 日韩av一区二区三区| 亚洲成av人片在线| 亚洲一区二区影院| 一区二区三区欧美日韩| 亚洲天堂精品在线观看| 国产精品毛片大码女人| 国产欧美日韩三区| 久久久91精品国产一区二区三区| 日韩精品中文字幕在线不卡尤物| 欧美日韩在线三区| 欧美特级限制片免费在线观看| 色综合色综合色综合色综合色综合| 成人午夜激情在线| 国产**成人网毛片九色| 国产一区二区调教| 国产一区福利在线| 国产成人亚洲综合色影视| 国产乱码精品一区二区三区忘忧草| 狠狠色丁香久久婷婷综合_中| 麻豆精品蜜桃视频网站| 久久不见久久见免费视频7| 久久er精品视频| 国内精品伊人久久久久av一坑| 国产一区二区看久久| 久久成人免费电影| 国产精品一区在线| 粉嫩13p一区二区三区| 成人激情午夜影院| 波多野结衣在线aⅴ中文字幕不卡| 成人精品国产一区二区4080| 成人激情图片网| 一本色道久久综合精品竹菊| 欧日韩精品视频| 欧美人体做爰大胆视频| 亚洲777理论| 欧美aⅴ一区二区三区视频| 美女在线一区二区| 国产精品亚洲午夜一区二区三区| 成人久久久精品乱码一区二区三区 | 中文字幕电影一区| 亚洲欧美自拍偷拍| 亚洲高清不卡在线| 欧美a一区二区| 国产一区在线观看视频| www.欧美日韩| 欧美性色黄大片手机版| 91精品国产黑色紧身裤美女| 精品国产123| 中文字幕人成不卡一区| 亚洲一级不卡视频| 日本成人超碰在线观看| 国产一区二区免费看| 成人a区在线观看| 欧美日韩中文另类| 日韩欧美一级精品久久| 中文字幕av一区二区三区| 亚洲视频香蕉人妖| 视频一区在线播放| 国产在线精品免费av| www.日韩大片| 欧美老年两性高潮| 久久久久久一二三区| 亚洲视频1区2区| 无码av免费一区二区三区试看 | 成人午夜大片免费观看| 色视频欧美一区二区三区| 日韩欧美在线网站| ●精品国产综合乱码久久久久| 亚洲丶国产丶欧美一区二区三区| 激情六月婷婷综合| 99re这里都是精品| 日韩免费一区二区三区在线播放| 中文字幕免费不卡在线| 亚洲成人手机在线| 国产精品538一区二区在线| 日本精品视频一区二区| 精品久久国产字幕高潮| 亚洲欧美视频在线观看视频| 免费成人你懂的| 97精品久久久午夜一区二区三区| 日韩欧美成人激情| 依依成人综合视频| 国产精品一区二区久激情瑜伽| 欧美中文字幕亚洲一区二区va在线| 精品国产髙清在线看国产毛片| 亚洲天堂久久久久久久| 精品亚洲国产成人av制服丝袜| 色哟哟欧美精品| 久久久噜噜噜久久人人看| 亚洲成人av一区二区三区| av成人免费在线| 久久久91精品国产一区二区精品|