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

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

?? dpmlib.c

?? Linux動態電源管理庫
?? C
字號:
/* * dpmlib.c libdpm DPM helper functions. * * (c) 2003 MontaVista Software, Inc. This file is licensed under the * terms of the GNU Lesser General Public License version 2. This * program is licensed "as is" without any warranty of any kind, * whether express or implied. */#include <dpmlib.h>#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <errno.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#include <limits.h>#include <asm/page.h>#define SYSFS_PREFIX "/sys/dpm/"static intlibdpm_open(char *file, int flags){	char path[PATH_MAX];	int ret;	if ((ret = 	     snprintf(path, sizeof(path), "%s/%s", SYSFS_PREFIX, file)) < 0)		return ret;	ret = open(path, flags);	return ret;}static intlibdpm_read(char *file, char *buf, size_t bufsiz){	int fd;	int ret;	if ((fd = libdpm_open(file, O_RDONLY)) < 0)		return -1;	ret = read(fd, buf, bufsiz);	if ((ret >= 0) && (ret < bufsiz))		buf[ret] = '\0';#ifdef DEBUG	if (ret > 0)		printf("read %s: %s\n", file, buf);#endif	close(fd);	return ret;}static intlibdpm_write(char *file, char *cmd){	int fd;	int ret;#ifdef DEBUG	printf("write %s: %s\n", file, cmd);#endif	if ((fd = libdpm_open(file, O_WRONLY)) < 0)		return -1;	ret = write(fd, cmd, strlen(cmd));	close(fd);	return ret < 0 ? ret : 0;}static intlibdpm_init(){	return libdpm_write("control", "init\n");}static intlibdpm_terminate(){	return libdpm_write("control", "terminate\n");}static intlibdpm_disable(){	return libdpm_write("control", "disable\n");}static intlibdpm_enable(){	return libdpm_write("control", "enable\n");}static intlibdpm_set_policy(char *name){	return libdpm_write("policy/active", name);}static intlibdpm_destroy_policy(char *policy){	char file[256];	if (snprintf(file, sizeof(file), "policy/%s/control", policy) < 0)		return -1;	if (libdpm_write(file, "destroy") < 0)		return -1;	return 0;}static intlibdpm_set_state(char *name){	return libdpm_write("state/active", name);}static intlibdpm_get_task_state(pid_t pid, char *buf, size_t bufsiz){	int ret, fd;	char path[PATH_MAX];	if ((ret = 	     snprintf(path, sizeof(path), "/proc/%d/dpmstate", pid)) < 0)		return ret;		if ((fd = open(path, O_RDONLY)) < 0)		return fd;	ret = read(fd, buf, bufsiz);	close(fd);	if (ret >= 0)		buf[ret] = '\0';#ifdef DEBUG	if (ret > 0)		printf("read %s: %s\n", path, buf);#endif	if ((ret > 0) && (buf[ret-1] == '\n'))		buf[ret-1] = '\0';	return 0;}static intlibdpm_set_task_state(pid_t pid, char *statename){	int ret, fd;	char path[PATH_MAX];	if ((ret = 	     snprintf(path, sizeof(path), "/proc/%d/dpmstate", pid)) < 0)		return ret;		if ((fd = open(path, O_WRONLY)) < 0)		return fd;#ifdef DEBUG	printf("write %s: %s\n", path, statename);#endif	ret = write(fd, statename, strlen(statename));	close(fd);	return ret < 0 ? ret : 0;}/* * -------------------------------------------------------------------------- * DPM API section. */intdpm_init(void){	return libdpm_init();}intdpm_terminate(void){	return libdpm_terminate();}intdpm_set_state(char *statename){	return libdpm_set_state(statename);}intdpm_create_op(char *name, char *params){	char buf[PATH_MAX];	int ret;	/*	 * If the optional old-style list of params is given then	 * append 'em.	 */	if (params) {		if ((ret = snprintf(buf, sizeof(buf), "create %s %s\n", name, 				    params)) < 0)			return ret;	} else {		if ((ret = snprintf(buf, sizeof(buf), "create %s\n", name))		    < 0)			return ret;	}	return libdpm_write("op/control", buf);		    }intdpm_get_op_param(char *op, char *param, char *buf, size_t bufsiz){	char path[PATH_MAX];	int ret;	if ((ret = snprintf(path, sizeof(path),"op/%s/%s", op, param)) < 0)		return ret;	if ((ret = libdpm_read(path, buf, bufsiz)) > 0)		if ((ret > 0) && (buf[ret-1] == '\n'))			buf[--ret] = '\0';		return ret;}intdpm_set_op_param(char *op, char *param, int value){	char path[PATH_MAX];	char buf[20];	int ret;	if ((ret = snprintf(path, sizeof(path),"op/%s/%s", op, param)) < 0)		return ret;	if ((ret = snprintf(buf, sizeof(buf), "%d",  value)) < 0)		return ret;	return libdpm_write(path, buf);		    }intdpm_create_class(char *name, char *params){	char buf[PATH_MAX];	int ret;	if ((ret = snprintf(buf, sizeof(buf), "create %s %s\n", name, params))	    < 0)		return ret;	return libdpm_write("class/control", buf);		    }intdpm_create_policy(char *name, char *params){	char buf[PATH_MAX];	int ret;	/*	 * If the optional old-style list of ops/classes in state order	 * is given then append 'em.	 */	if (params) {		if ((ret = snprintf(buf, sizeof(buf), "create %s %s\n", name, 				    params)) < 0)			return ret;	} else {		if ((ret = snprintf(buf, sizeof(buf), "create %s\n", name))		    < 0)			return ret;	}	return libdpm_write("policy/control", buf);		    }intdpm_set_policy_state_map(char *policy, char *state, char *opclass){	char path[PATH_MAX];	int ret;	if ((ret = snprintf(path, sizeof(path),"policy/%s/%s", policy,			    state)) < 0)		return ret;	return libdpm_write(path, opclass);		    }intdpm_get_policy_state_map(char *policy, char *state, char *buf, size_t bufsiz){	char path[PATH_MAX];	int ret;	if ((ret = snprintf(path, sizeof(path),"policy/%s/%s", policy,			    state)) < 0)		return ret;	if ((ret = libdpm_read(path, buf, bufsiz)) > 0)		if ((ret > 0) && (buf[ret-1] == '\n'))			buf[--ret] = '\0';	return ret;}intdpm_get_active_policy(char *buf, size_t bufsiz){	int ret;	if ((ret = libdpm_read("policy/active", buf, bufsiz)) > 0) {		if ((ret > 0) && (buf[ret-1] == '\n'))			buf[--ret] = '\0';	}	return ret;}intdpm_set_active_policy(char *policy){	return libdpm_set_policy(policy);}/* * -------------------------------------------------------------------------- * sys_dpm() backward compatability section (removed) */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品另类videosde| 免费看日韩精品| 日本成人中文字幕在线视频| 国产成人免费在线观看| 欧美日韩你懂的| 中文子幕无线码一区tr| 青椒成人免费视频| 欧美综合一区二区三区| 国产精品色呦呦| 久久精品久久精品| 91精品国产综合久久精品app| 国产精品色在线| 国内精品不卡在线| 精品国产欧美一区二区| 日本视频中文字幕一区二区三区| 91视频免费看| 亚洲国产经典视频| 国产成人午夜精品5599| 91精品婷婷国产综合久久| 一区二区三区国产豹纹内裤在线 | 亚洲高清中文字幕| 97se亚洲国产综合自在线不卡| 国产区在线观看成人精品| 麻豆高清免费国产一区| 7777女厕盗摄久久久| 亚洲国产美女搞黄色| 色94色欧美sute亚洲线路一ni | 制服丝袜一区二区三区| 亚洲高清免费观看高清完整版在线观看| 丁香天五香天堂综合| 国产免费观看久久| aaa欧美大片| 最新国产の精品合集bt伙计| 99视频超级精品| 亚洲欧洲日韩女同| 色8久久精品久久久久久蜜| 亚洲美女屁股眼交| 欧美四级电影在线观看| 日韩影视精彩在线| 日韩精品资源二区在线| 久久69国产一区二区蜜臀| 久久综合色8888| 国产99一区视频免费| 综合久久给合久久狠狠狠97色 | 国产精品性做久久久久久| 久久嫩草精品久久久久| 国产99精品国产| 1000精品久久久久久久久| 色吧成人激情小说| 日韩激情中文字幕| 国产色一区二区| 99re热视频精品| 午夜a成v人精品| 久久五月婷婷丁香社区| aa级大片欧美| 亚洲123区在线观看| 精品成a人在线观看| www..com久久爱| 亚洲国产毛片aaaaa无费看| 91麻豆精品国产| 成人一区二区三区视频| 亚洲美女屁股眼交| 精品日韩成人av| 色综合久久中文字幕综合网| 天堂精品中文字幕在线| 亚洲精品一区二区精华| 日本韩国一区二区三区| 久久精品国产77777蜜臀| 国产精品国产自产拍在线| 欧美裸体一区二区三区| 成人一区在线观看| 视频在线观看91| 国产精品久久久久久户外露出 | 成人av网站在线观看免费| 亚洲r级在线视频| 久久久777精品电影网影网 | 午夜精品久久久久久不卡8050| 精品国产一区二区精华| 色综合天天在线| 国产又黄又大久久| 亚洲成人动漫在线免费观看| 国产精品色呦呦| 久久综合五月天婷婷伊人| 91久久精品国产91性色tv| 国产成人在线视频播放| 日本不卡免费在线视频| 一区二区三区欧美日| 国产亚洲一区二区三区在线观看| 91电影在线观看| 99re6这里只有精品视频在线观看| 老司机免费视频一区二区三区| 一区二区三区在线播| 国产精品免费久久| 久久久久亚洲综合| 欧美成人欧美edvon| 欧美日韩高清一区| 欧美无砖专区一中文字| 色综合色综合色综合| 国产成+人+日韩+欧美+亚洲| 久久精品国产第一区二区三区| 亚洲一区二区三区四区的| 日韩美女视频19| 国产精品欧美一级免费| 欧美高清在线一区二区| 久久久久久久久久久电影| 精品三级在线观看| 精品久久久久久亚洲综合网| 欧美一区二区三区四区在线观看 | 精品国产亚洲在线| 日韩三级视频在线观看| 91精品国产福利| 在线不卡中文字幕| 欧美一区二区女人| 日韩一二在线观看| 91精品国产综合久久蜜臀| 91麻豆精品国产91久久久 | 欧洲av在线精品| 欧美中文字幕一二三区视频| 在线视频观看一区| 欧美日韩国产在线观看| 欧美日韩你懂的| 欧美一区二区视频在线观看2022 | 欧美视频一区二区| 欧美日韩精品一区二区三区 | 91麻豆精品秘密| 在线观看不卡一区| 欧美日韩精品欧美日韩精品一 | 欧美日韩国产美女| 欧美一区日韩一区| 久久久精品天堂| 国产精品天美传媒| 亚洲精品国产高清久久伦理二区| 一区二区在线看| 婷婷激情综合网| 韩国v欧美v亚洲v日本v| 成a人片国产精品| 在线精品视频小说1| 欧美一区二区在线视频| 久久久精品天堂| 亚洲丝袜制服诱惑| 日日骚欧美日韩| 成人亚洲一区二区一| 精品视频一区 二区 三区| 日韩精品一区二区三区在线播放| 久久午夜国产精品| 亚洲风情在线资源站| 国产自产2019最新不卡| 色猫猫国产区一区二在线视频| 久久久久国产精品厨房| 一区二区三区四区在线播放| 蜜臀av亚洲一区中文字幕| av中文一区二区三区| 91麻豆精品国产无毒不卡在线观看| 久久久久久一二三区| 亚洲伊人色欲综合网| 国产乱淫av一区二区三区| 欧美性色aⅴ视频一区日韩精品| 日韩欧美在线不卡| 一区二区三区av电影 | 日韩av电影天堂| 99精品一区二区| 精品国产一区二区亚洲人成毛片 | 视频在线观看一区| av在线不卡观看免费观看| 91精品国产色综合久久不卡蜜臀| 国产日韩精品一区二区三区| 日韩一区精品字幕| 一本久久a久久免费精品不卡| 欧美成人a视频| 亚洲成人久久影院| 99久久国产综合精品色伊| 亚洲精品一区二区三区在线观看| 亚洲午夜国产一区99re久久| 成人av在线影院| 国产三区在线成人av| 日韩成人一区二区三区在线观看| 99精品偷自拍| 亚洲国产成人一区二区三区| 久久国产精品99久久人人澡| 欧美日韩在线综合| 亚洲乱码国产乱码精品精98午夜| 国产成人精品亚洲日本在线桃色| 日韩欧美一区二区免费| 亚洲午夜久久久久中文字幕久| 99久免费精品视频在线观看| 久久伊人蜜桃av一区二区| 琪琪久久久久日韩精品| 欧美日韩和欧美的一区二区| 一区二区三区资源| 色综合久久综合中文综合网| 中文字幕在线一区免费| 不卡大黄网站免费看| 中国色在线观看另类| 成人开心网精品视频| 欧美激情资源网| yourporn久久国产精品| 26uuu久久天堂性欧美| 国产精品资源站在线| 欧美激情中文不卡| 不卡的av电影|