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

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

?? apm.c

?? 電源管理程序
?? C
字號:
/* apm.c -- Simple APM interface * Created: Mon Jan  8 10:28:16 1996 by faith@acm.org * Revised: Fri Dec 26 20:34:25 1997 by faith@acm.org * Copyright 1996, 1997 Rickard E. Faith (faith@acm.org) * * 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, 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., * 675 Mass Ave, Cambridge, MA 02139, USA. * */#include <stdio.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <time.h>#include <getopt.h>#include "apm.h"static int verbose = 0;void change_state(int mode){    int fd;    time_t then, now;    int error;    if ((fd = apm_open()) < 0)    {	fprintf(stderr, "Cannot open APM device: %s\n", strerror(errno));	exit(1);    }    time(&then);    switch (mode)    {    case SUSPEND:	error = apm_suspend(fd);	break;    case STANDBY:	error = apm_standby(fd);	break;#ifdef APM_IOC_IGNORE /* detect kernel support of IGNORE/NOIGNORE functions */    case IGNORE:    case NOIGNORE:	error = apm_set_ignore(fd, mode);	apm_close(fd);	return;	break;#endif    default:	error = 0;	break;    }        if (error != 0)	perror("apm");    else	time(&now);    apm_close(fd);}void usage(void){    fprintf(stderr,	    "usage: apm [-vmMsSin] [--verbose] [--minutes] [--monitor] [--suspend] [--standby]");#ifdef APM_IOC_IGNORE		/* detect kernel support of IGNORE/NOIGNORE functions */    fprintf(stderr, " [--ignore] [--noignore]");#endif    fprintf(stderr, "\n");    exit(1);}int main(int argc, char **argv){    apm_info i;    int suspend = 0;    int standby = 0;    int debug = 0;    int displayMinutes = 0;	int monitor = 0;    int c;    struct option longopts[] =    {	{"version", 0, 0, 'V'},	{"verbose", 0, 0, 'v'},	{"suspend", 0, 0, 's'},	{"standby", 0, 0, 'S'},	{"debug", 0, 0, 'd'},	{"minutes", 0, 0, 'm'},	{"monitor", 0, 0, 'M'},#ifdef APM_IOC_IGNORE		/* detect kernel support of IGNORE/NOIGNORE functions */	{"ignore", 0, 0, 'i'},	{"noignore", 0, 0, 'n'},#endif	{NULL, 0, 0, 0}    };    extern int opterr;    opterr = 0;#ifndef APM_IOC_IGNORE		/* detect kernel support of IGNORE/NOIGNORE functions */    while ((c = getopt_long(argc, argv, "VvsSdmM", longopts, NULL)) != -1)#else    while ((c = getopt_long(argc, argv, "VvsSdmMin", longopts, NULL)) != -1)#endif	switch (c)	{	case 'V':	    fprintf(stderr, "apm version %s\n", VERSION);	    exit(0);	    break;#ifdef APM_IOC_IGNORE		/* detect kernel support of IGNORE/NOIGNORE functions */	case 'i':	    change_state(IGNORE);	    exit(0);	    break;	case 'n':	    change_state(NOIGNORE);	    exit(0);	    break;#endif	case 'v':	    ++verbose;	    break;	case 's':	    ++suspend;	    break;	case 'S':	    ++standby;	    break;	case 'd':	    ++debug;	    ++verbose;	    break;	case 'm':	    ++displayMinutes;	    break;	case 'M':		++monitor;		break;	default:	    usage();	    break;	}    switch (apm_exists())    {    case 1:	fprintf(stderr, "No APM support in kernel\n");	exit(1);    case 2:	fprintf(stderr, "Old APM support in kernel\n");	exit(2);    }    if (suspend && standby)	usage();    if (suspend || standby)    {	change_state((suspend ? SUSPEND : STANDBY));	exit(0);    }    if (apm_read(&i))    {	fprintf(stderr, "Cannot read APM information\n");	exit(1);    }    if (verbose)	printf("APM BIOS %d.%d (kernel driver %s)\n",	     i.apm_version_major, i.apm_version_minor, i.driver_version);	if (monitor)	{		int secs, q = 0;		char battery[16], output[64] = "", buf[64] = "";		while(1) {			apm_read(&i);			secs = i.using_minutes ? i.battery_time * 60 : i.battery_time;			if(displayMinutes)				sprintf(battery, "%d min", secs / 60);			else				sprintf(battery, "%s", apm_time_nosec(secs));			sprintf(output, "AC: %s\nBattery: %d%% (%s)",					i.ac_line_status == 0 ? "off-line" : "on-line",					i.battery_percentage, battery);			if(q == 0 || strcmp(buf, output) < 0) {				printf("\e[H\e[J%s\n", output);				q = 1;			}			strcpy(buf, output);			sleep(1);		}	}													        if (!(i.apm_flags & APM_32_BIT_SUPPORT))    {	fprintf(stderr, "32-bit APM interface not supported\n");	exit(1);    }    if (verbose && (i.apm_flags & 0x10))	printf("APM BIOS Power Management is currently disabled\n");    if (verbose && (i.apm_flags & 0x20))	printf("APM BIOS Power Management is currently disengaged\n");    switch (i.ac_line_status)    {    case 0:	printf("AC off-line");	break;    case 1:	printf("AC on-line");	break;    case 2:	printf("On backup power");	break;    }    if (i.battery_flags != 0xff	/* Have a 1.1 BIOS and a system battery. */	&& i.battery_flags & 0x80)    {	printf(", no system battery");    }    else    {	/* Even if battery_flags == 0xff, some 1.0	 * BIOSs provide this information.  If we	 * have it, use it. 	 */	switch (i.battery_status)	{	case 0:	    printf(", battery status high");	    break;	case 1:	    printf(", battery status low");	    break;	case 2:	    printf(", battery status critical");	    break;	case 3:	    printf(", battery charging");	    break;	}	if (i.battery_percentage >= 0)	    printf(": %d%%", i.battery_percentage);	if (i.battery_time >= 0)	{	    int secs = i.using_minutes ? i.battery_time * 60 : i.battery_time;	    if (displayMinutes)		printf(" (%d min)", secs / 60);	    else		printf(" (%s)", apm_time_nosec(secs));	}    }    printf("\n");    if (debug)    {	printf("Using device 0x%04lx, %s: %d.%d\n", (unsigned long) apm_dev(),	     i.driver_version, i.apm_version_major, i.apm_version_minor);	printf("APM Flags =      0x%02x; AC Line Status = 0x%02x\n",	       i.apm_flags, i.ac_line_status);	printf("Battery Status = 0x%02x; Battery Flags =  0x%02x\n",	       i.battery_status, i.battery_flags);	printf("Battery %%age   = %4d; Battery Time   = %4d, use_mins=%d\n",	       i.battery_percentage, i.battery_time, i.using_minutes);    }    return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人a级免费电影| 成人午夜视频网站| 亚洲成人在线网站| 亚洲欧洲成人精品av97| 亚洲欧洲日本在线| 依依成人综合视频| 亚洲一区二区三区四区在线观看 | 国产自产视频一区二区三区| 免费在线观看成人| 激情六月婷婷综合| 成人在线综合网站| 99久久国产综合精品女不卡| 91丨porny丨在线| 日本精品一区二区三区高清 | 欧美精品色综合| 在线播放中文字幕一区| 日韩精品中文字幕在线不卡尤物| 日韩欧美一级在线播放| 精品国产不卡一区二区三区| 国产蜜臀av在线一区二区三区| 国产精品福利av| 夜夜夜精品看看| 激情综合亚洲精品| av在线免费不卡| 欧美精品日日鲁夜夜添| 久久综合av免费| 亚洲美女免费在线| 久草精品在线观看| 91亚洲男人天堂| 日韩欧美在线影院| 日韩美女精品在线| 蜜臀av性久久久久蜜臀aⅴ| 丁香激情综合国产| 7777精品伊人久久久大香线蕉的| 久久综合资源网| 亚洲黄色片在线观看| 久久er精品视频| 91福利在线播放| 久久久久久亚洲综合| 一区二区三区中文字幕| 精品一区二区成人精品| 在线观看网站黄不卡| 久久久久久久电影| 日日夜夜精品视频天天综合网| 丁香婷婷综合色啪| 欧美成人午夜电影| 亚洲va天堂va国产va久| 成人禁用看黄a在线| 日韩一区二区中文字幕| 亚洲精品v日韩精品| 国产99久久久国产精品| 日韩一区二区三区免费看| 亚洲桃色在线一区| 成人精品视频.| 久久无码av三级| 美女视频黄免费的久久 | 久久品道一品道久久精品| 亚洲午夜精品在线| 日本高清不卡视频| 国产精品久久久久四虎| 国产毛片精品一区| 2021久久国产精品不只是精品| 日韩电影网1区2区| 欧美情侣在线播放| 偷拍一区二区三区| 欧美日韩国产一区二区三区地区| 亚洲激情自拍视频| 色94色欧美sute亚洲线路二| 国产精品蜜臀在线观看| 成人免费视频国产在线观看| 久久影院视频免费| 国产乱子伦一区二区三区国色天香| 欧美一区二区三区免费视频| 五月激情六月综合| 欧美一级一区二区| 另类人妖一区二区av| 精品剧情在线观看| 国产高清久久久久| 国产精品天美传媒| av在线不卡免费看| 亚洲在线免费播放| 欧美日韩激情一区二区| 日韩成人免费在线| 2020国产精品| av资源网一区| 亚洲国产精品人人做人人爽| 91精品国产综合久久香蕉麻豆| 日韩激情在线观看| 精品国产在天天线2019| 国产真实乱对白精彩久久| 亚洲国产高清在线观看视频| 一本到三区不卡视频| 亚洲18色成人| 久久久久久久综合狠狠综合| 91影院在线观看| 视频一区欧美精品| 久久久久久毛片| 欧美亚洲综合一区| 国产一区二区三区免费看| 国产精品久久久久影院亚瑟 | 国产精品成人免费精品自在线观看| 成人精品gif动图一区| 亚洲一线二线三线久久久| 日韩欧美美女一区二区三区| 粉嫩aⅴ一区二区三区四区| 亚洲欧美国产77777| 日韩一区二区三区精品视频| 丁香婷婷综合色啪| 丝袜亚洲精品中文字幕一区| 26uuu精品一区二区三区四区在线| 成人福利视频网站| 手机精品视频在线观看| 中文字幕乱码久久午夜不卡| 欧美日韩一区二区三区在线| 国产一区日韩二区欧美三区| 亚洲午夜精品一区二区三区他趣| 久久亚洲欧美国产精品乐播| 91久久线看在观草草青青| 国产一区二区在线观看视频| 亚洲一区av在线| 国产欧美一区二区三区在线看蜜臀| 欧美亚洲国产一区二区三区va| 黄色小说综合网站| 亚洲18色成人| 亚洲男女毛片无遮挡| 精品久久久久久最新网址| 欧美日韩一级视频| jizz一区二区| 国产在线播放一区| 轻轻草成人在线| 婷婷亚洲久悠悠色悠在线播放| 国产精品久久一级| 欧美精品一区二区三区一线天视频 | 精品国产露脸精彩对白| 欧洲亚洲国产日韩| av一区二区三区在线| 国产在线精品一区在线观看麻豆| 亚洲大型综合色站| 亚洲综合在线免费观看| 国产精品理论片在线观看| 久久精品水蜜桃av综合天堂| 精品国产露脸精彩对白 | 亚洲午夜激情网站| 成人欧美一区二区三区| 欧洲一区在线电影| 成人国产精品免费观看| 国产精品99久久久久久似苏梦涵 | 国产精品伊人色| 色综合天天综合色综合av | 国产一区二区网址| 91看片淫黄大片一级| 欧美久久久影院| 国产清纯白嫩初高生在线观看91| 亚洲精品成人在线| 国产成人亚洲综合a∨猫咪| 色av一区二区| 久久综合九色综合久久久精品综合| 亚洲欧美自拍偷拍| 久久国产精品色| 91视频免费播放| 久久蜜桃香蕉精品一区二区三区| 亚洲激情成人在线| 成人午夜看片网址| 欧美一区二区免费视频| 亚洲人成亚洲人成在线观看图片| 久久99在线观看| 在线不卡中文字幕| 中文字幕一区二区三区四区| 久久国产精品露脸对白| 在线亚洲免费视频| 国产精品水嫩水嫩| 久久成人免费网站| 欧美福利视频一区| 亚洲色图19p| 99国产精品久久久久久久久久久| 欧美精品一区二| 蜜桃久久久久久久| 欧美日韩精品系列| 亚洲国产一区二区三区| 99精品桃花视频在线观看| 久久久亚洲精华液精华液精华液| 天天综合日日夜夜精品| 欧美色欧美亚洲另类二区| 亚洲欧洲成人精品av97| 成人高清视频在线| 国产欧美日韩在线视频| 国模套图日韩精品一区二区| 日韩午夜三级在线| 奇米色一区二区| 欧美一级片在线| 日本不卡免费在线视频| 欧美精品亚洲一区二区在线播放| 亚洲一区二区三区不卡国产欧美| 一本大道久久a久久精品综合| 亚洲欧洲国产日本综合| 99精品一区二区| 一区二区在线观看免费| 91久久精品日日躁夜夜躁欧美| 亚洲黄色av一区| 欧美日韩亚洲另类|