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

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

?? ls.c

?? busybox最新版本. 嵌入式編程必不可少之工具.
?? C
字號:
/* vi: set sw=4 ts=4: *//* * ls.c			- List the contents of an ext2fs superblock * * Copyright (C) 1992, 1993, 1994  Remy Card <card@masi.ibp.fr> *                                 Laboratoire MASI, Institut Blaise Pascal *                                 Universite Pierre et Marie Curie (Paris VI) * * Copyright (C) 1995, 1996, 1997  Theodore Ts'o <tytso@mit.edu> * * This file can be redistributed under the terms of the GNU Library General * Public License */#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <string.h>#include <grp.h>#include <pwd.h>#include <time.h>#include "e2p.h"static void print_user(unsigned short uid, FILE *f){	struct passwd *pw = getpwuid(uid);	fprintf(f, "%u (user %s)\n", uid,			(pw == NULL ? "unknown" : pw->pw_name));}static void print_group(unsigned short gid, FILE *f){	struct group *gr = getgrgid(gid);	fprintf(f, "%u (group %s)\n", gid,			(gr == NULL ? "unknown" : gr->gr_name));}#define MONTH_INT (86400 * 30)#define WEEK_INT (86400 * 7)#define DAY_INT	(86400)#define HOUR_INT (60 * 60)#define MINUTE_INT (60)static const char *interval_string(unsigned int secs){	static char buf[256], tmp[80];	int		hr, min, num;	buf[0] = 0;	if (secs == 0)		return "<none>";	if (secs >= MONTH_INT) {		num = secs / MONTH_INT;		secs -= num*MONTH_INT;		sprintf(buf, "%d month%s", num, (num>1) ? "s" : "");	}	if (secs >= WEEK_INT) {		num = secs / WEEK_INT;		secs -= num*WEEK_INT;		sprintf(tmp, "%s%d week%s", buf[0] ? ", " : "",			num, (num>1) ? "s" : "");		strcat(buf, tmp);	}	if (secs >= DAY_INT) {		num = secs / DAY_INT;		secs -= num*DAY_INT;		sprintf(tmp, "%s%d day%s", buf[0] ? ", " : "",			num, (num>1) ? "s" : "");		strcat(buf, tmp);	}	if (secs > 0) {		hr = secs / HOUR_INT;		secs -= hr*HOUR_INT;		min = secs / MINUTE_INT;		secs -= min*MINUTE_INT;		sprintf(tmp, "%s%d:%02d:%02d", buf[0] ? ", " : "",			hr, min, secs);		strcat(buf, tmp);	}	return buf;}static void print_features(struct ext2_super_block * s, FILE *f){#ifdef EXT2_DYNAMIC_REV	int	i, j, printed=0;	__u32	*mask = &s->s_feature_compat, m;	fprintf(f, "Filesystem features:     ");	for (i=0; i <3; i++,mask++) {		for (j=0,m=1; j < 32; j++, m<<=1) {			if (*mask & m) {				fprintf(f, " %s", e2p_feature2string(i, m));				printed++;			}		}	}	if (printed == 0)		fprintf(f, " (none)");	fprintf(f, "\n");#endif}static void print_mntopts(struct ext2_super_block * s, FILE *f){#ifdef EXT2_DYNAMIC_REV	int	i, printed=0;	__u32	mask = s->s_default_mount_opts, m;	fprintf(f, "Default mount options:   ");	if (mask & EXT3_DEFM_JMODE) {		fprintf(f, " %s", e2p_mntopt2string(mask & EXT3_DEFM_JMODE));		printed++;	}	for (i=0,m=1; i < 32; i++, m<<=1) {		if (m & EXT3_DEFM_JMODE)			continue;		if (mask & m) {			fprintf(f, " %s", e2p_mntopt2string(m));			printed++;		}	}	if (printed == 0)		fprintf(f, " (none)");	fprintf(f, "\n");#endif}#ifndef EXT2_INODE_SIZE#define EXT2_INODE_SIZE(s) sizeof(struct ext2_inode)#endif#ifndef EXT2_GOOD_OLD_REV#define EXT2_GOOD_OLD_REV 0#endifvoid list_super2(struct ext2_super_block * sb, FILE *f){	int inode_blocks_per_group;	char buf[80], *str;	time_t	tm;	inode_blocks_per_group = (((sb->s_inodes_per_group *				    EXT2_INODE_SIZE(sb)) +				   EXT2_BLOCK_SIZE(sb) - 1) /				  EXT2_BLOCK_SIZE(sb));	if (sb->s_volume_name[0]) {		memset(buf, 0, sizeof(buf));		strncpy(buf, sb->s_volume_name, sizeof(sb->s_volume_name));	} else		strcpy(buf, "<none>");	fprintf(f, "Filesystem volume name:   %s\n", buf);	if (sb->s_last_mounted[0]) {		memset(buf, 0, sizeof(buf));		strncpy(buf, sb->s_last_mounted, sizeof(sb->s_last_mounted));	} else		strcpy(buf, "<not available>");	fprintf(f,		"Last mounted on:          %s\n"		"Filesystem UUID:          %s\n"		"Filesystem magic number:  0x%04X\n"		"Filesystem revision #:    %d",		buf, e2p_uuid2str(sb->s_uuid), sb->s_magic, sb->s_rev_level);	if (sb->s_rev_level == EXT2_GOOD_OLD_REV) {		fprintf(f, " (original)\n");#ifdef EXT2_DYNAMIC_REV	} else if (sb->s_rev_level == EXT2_DYNAMIC_REV) {		fprintf(f, " (dynamic)\n");#endif	} else		fprintf(f, " (unknown)\n");	print_features(sb, f);	print_mntopts(sb, f);	fprintf(f, "Filesystem state:        ");	print_fs_state (f, sb->s_state);	fprintf(f, "\nErrors behavior:          ");	print_fs_errors(f, sb->s_errors);	str = e2p_os2string(sb->s_creator_os);	fprintf(f,		"\n"		"Filesystem OS type:       %s\n"		"Inode count:              %u\n"		"Block count:              %u\n"		"Reserved block count:     %u\n"		"Free blocks:              %u\n"		"Free inodes:              %u\n"		"First block:              %u\n"		"Block size:               %u\n"		"Fragment size:            %u\n",		str, sb->s_inodes_count, sb->s_blocks_count, sb->s_r_blocks_count,		sb->s_free_blocks_count, sb->s_free_inodes_count,		sb->s_first_data_block, EXT2_BLOCK_SIZE(sb), EXT2_FRAG_SIZE(sb));	free(str);	if (sb->s_reserved_gdt_blocks)		fprintf(f, "Reserved GDT blocks:      %u\n",			sb->s_reserved_gdt_blocks);	fprintf(f,		"Blocks per group:         %u\n"		"Fragments per group:      %u\n"		"Inodes per group:         %u\n"		"Inode blocks per group:   %u\n",		sb->s_blocks_per_group, sb->s_frags_per_group,		sb->s_inodes_per_group, inode_blocks_per_group);	if (sb->s_first_meta_bg)		fprintf(f, "First meta block group:   %u\n",			sb->s_first_meta_bg);	if (sb->s_mkfs_time) {		tm = sb->s_mkfs_time;		fprintf(f, "Filesystem created:       %s", ctime(&tm));	}	tm = sb->s_mtime;	fprintf(f, "Last mount time:          %s",		sb->s_mtime ? ctime(&tm) : "n/a\n");	tm = sb->s_wtime;	fprintf(f,		"Last write time:          %s"		"Mount count:              %u\n"		"Maximum mount count:      %d\n",		ctime(&tm), sb->s_mnt_count, sb->s_max_mnt_count);	tm = sb->s_lastcheck;	fprintf(f,		"Last checked:             %s"		"Check interval:           %u (%s)\n",		ctime(&tm),		sb->s_checkinterval, interval_string(sb->s_checkinterval));	if (sb->s_checkinterval)	{		time_t next;		next = sb->s_lastcheck + sb->s_checkinterval;		fprintf(f, "Next check after:         %s", ctime(&next));	}	fprintf(f, "Reserved blocks uid:      ");	print_user(sb->s_def_resuid, f);	fprintf(f, "Reserved blocks gid:      ");	print_group(sb->s_def_resgid, f);	if (sb->s_rev_level >= EXT2_DYNAMIC_REV) {		fprintf(f,			"First inode:              %d\n"			"Inode size:		  %d\n",			sb->s_first_ino, sb->s_inode_size);	}	if (!e2p_is_null_uuid(sb->s_journal_uuid))		fprintf(f, "Journal UUID:             %s\n",			e2p_uuid2str(sb->s_journal_uuid));	if (sb->s_journal_inum)		fprintf(f, "Journal inode:            %u\n",			sb->s_journal_inum);	if (sb->s_journal_dev)		fprintf(f, "Journal device:	          0x%04x\n",			sb->s_journal_dev);	if (sb->s_last_orphan)		fprintf(f, "First orphan inode:       %u\n",			sb->s_last_orphan);	if ((sb->s_feature_compat & EXT2_FEATURE_COMPAT_DIR_INDEX) ||	    sb->s_def_hash_version)		fprintf(f, "Default directory hash:   %s\n",			e2p_hash2string(sb->s_def_hash_version));	if (!e2p_is_null_uuid(sb->s_hash_seed))		fprintf(f, "Directory Hash Seed:      %s\n",			e2p_uuid2str(sb->s_hash_seed));	if (sb->s_jnl_backup_type) {		fprintf(f, "Journal backup:           ");		if (sb->s_jnl_backup_type == 1)			fprintf(f, "inode blocks\n");		else			fprintf(f, "type %u\n", sb->s_jnl_backup_type);	}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频亚洲一区| 亚洲综合在线视频| 成人网在线播放| 欧美激情一区三区| eeuss鲁片一区二区三区在线观看| 久久久久久综合| 成人黄色电影在线| 国产精品免费av| 色婷婷国产精品综合在线观看| 国产精品成人一区二区三区夜夜夜| 国产成人av在线影院| 国产日产精品一区| 色久综合一二码| 日韩成人免费电影| 国产日产欧美一区| 在线观看成人免费视频| 亚洲午夜久久久久久久久电影网| 欧美精品v日韩精品v韩国精品v| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美tk丨vk视频| av爱爱亚洲一区| 免费在线视频一区| 一区在线播放视频| 日韩欧美国产三级电影视频| 国产99久久久国产精品潘金| 亚洲精品国产精品乱码不99| 91麻豆精品国产91| bt欧美亚洲午夜电影天堂| 日韩高清国产一区在线| 亚洲欧美二区三区| 国产欧美日韩另类视频免费观看| 91精品福利视频| 国产精品88888| 毛片av中文字幕一区二区| 亚洲在线免费播放| ...xxx性欧美| 欧美国产一区二区| 日本一区二区免费在线| 欧美成va人片在线观看| 制服丝袜亚洲色图| 欧美猛男gaygay网站| 欧美亚男人的天堂| 欧美嫩在线观看| 日韩一区二区电影网| 日韩视频免费观看高清在线视频| 欧美精品黑人性xxxx| 欧美色老头old∨ideo| 欧美午夜免费电影| 欧美日本韩国一区| 日韩精品一区二区三区swag| 精品欧美一区二区久久| 久久久亚洲午夜电影| 中文字幕av免费专区久久| 国产精品视频免费看| 亚洲人成亚洲人成在线观看图片| 中文字幕综合网| 午夜a成v人精品| 精品夜夜嗨av一区二区三区| 国内精品国产成人国产三级粉色| 福利电影一区二区三区| av在线不卡免费看| 欧美一区二区三区四区久久| 精品国产欧美一区二区| 国产精品国产成人国产三级| 亚洲国产美女搞黄色| 男女性色大片免费观看一区二区 | 91精品欧美综合在线观看最新| 成人午夜av影视| 菠萝蜜视频在线观看一区| 在线观看免费视频综合| 欧美成人r级一区二区三区| 国产精品污网站| 三级亚洲高清视频| gogogo免费视频观看亚洲一| 欧美日韩aaaaaa| 亚洲日本欧美天堂| 精品一区在线看| 欧美日韩激情一区二区三区| 国产亚洲精品中文字幕| 亚洲国产精品视频| 91一区二区三区在线观看| 欧美一区二区三区电影| 一区二区三区日韩在线观看| 国产一区二区精品在线观看| 欧美军同video69gay| 亚洲美女淫视频| 91小视频在线免费看| 国产香蕉久久精品综合网| 乱中年女人伦av一区二区| 欧美在线观看一区| 亚洲精品国产成人久久av盗摄 | 久久精品综合网| 国产主播一区二区三区| 日韩精品一区二区三区中文不卡| 亚洲综合激情网| 欧美伊人精品成人久久综合97 | 精品国产一区二区三区久久影院 | 一区二区免费看| 欧美一a一片一级一片| 亚洲国产成人av网| 欧美久久一区二区| 日韩电影一区二区三区四区| 91精品国产欧美日韩| 欧美aⅴ一区二区三区视频| 欧美v国产在线一区二区三区| 激情小说亚洲一区| 国产精品久久二区二区| 色拍拍在线精品视频8848| 亚洲一二三四在线| 日韩精品中午字幕| 成人涩涩免费视频| 亚洲成av人**亚洲成av**| 欧美日韩第一区日日骚| 激情偷乱视频一区二区三区| 国产精品不卡在线| 91精品久久久久久蜜臀| 国产成人久久精品77777最新版本| 国产精品久久久久久户外露出| 亚洲精品一区二区在线观看| 成人一区二区三区在线观看| 亚洲va韩国va欧美va精品| 国产午夜精品久久| 欧美夫妻性生活| 在线观看视频一区| 国产福利一区二区三区视频| 亚洲国产精品自拍| 国产精品福利电影一区二区三区四区| 欧美日韩精品一区二区三区蜜桃 | 国产精品视频免费看| 久久综合成人精品亚洲另类欧美| 色婷婷综合久色| 国产精品一二三区在线| 蜜桃av一区二区| 日韩在线播放一区二区| 一区二区三区在线免费观看| 久久久精品黄色| 日韩亚洲欧美高清| 欧美三级日本三级少妇99| 色先锋aa成人| 99精品桃花视频在线观看| 国产九色精品成人porny | 国产福利视频一区二区三区| 精品一区二区三区视频| 激情图区综合网| 国产麻豆一精品一av一免费 | 日韩一区二区三区视频在线| 欧美日韩一级视频| 欧美日韩aaaaaa| 在线不卡一区二区| 日韩精品资源二区在线| 精品乱人伦一区二区三区| 久久久久久久综合狠狠综合| 欧美国产精品中文字幕| 一区二区成人在线| 午夜精品爽啪视频| 精品伊人久久久久7777人| 国产成+人+日韩+欧美+亚洲| 成人免费va视频| 欧美色电影在线| 精品理论电影在线| 国产精品传媒视频| 肉肉av福利一精品导航| 国产精品99久久久久久久女警 | 亚洲美女淫视频| 美女国产一区二区| 91伊人久久大香线蕉| 欧美一二三区在线| 亚洲同性同志一二三专区| 石原莉奈一区二区三区在线观看 | 欧美日韩国产综合一区二区三区| 日韩欧美不卡一区| 成人免费在线观看入口| 麻豆成人久久精品二区三区小说| 成人一区二区三区在线观看| 555www色欧美视频| 18涩涩午夜精品.www| 久久国产精品无码网站| 欧洲精品一区二区三区在线观看| 国产欧美一二三区| 国产一区在线视频| 日韩免费观看高清完整版| 一区二区三区精品在线观看| 国产成人免费9x9x人网站视频| 7777精品伊人久久久大香线蕉的 | 欧美va亚洲va在线观看蝴蝶网| 一区av在线播放| 在线中文字幕不卡| 亚洲日本乱码在线观看| 国产伦精品一区二区三区在线观看| 欧美日韩高清影院| 亚洲成人一区在线| 欧美日韩午夜精品| 五月激情六月综合| 欧美绝品在线观看成人午夜影视| 亚洲最色的网站| 欧美日韩成人高清| 日韩1区2区日韩1区2区| 日韩欧美在线网站| 国产在线精品一区二区不卡了| 久久久亚洲综合|