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

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

?? ntcp.c

?? NTFS(NT文件系統) for Linux的一個實現源碼
?? C
字號:
/* *  ntcp.c * *  Copyright (C) 1995 Martin von L鰓is *  Copyright (C) 1997 R間is Duchesne */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <stdio.h>#include <errno.h>#ifdef HAVE_FCNTL_H#include <fcntl.h>#endif#ifdef HAVE_GETOPT_H#include <getopt.h>#else#define getopt_long(a,v,o,ol,x)        getopt(a,v,o)#endif#ifdef HAVE_UNISTD_H#include <unistd.h>#endif#ifdef HAVE_IO_H#include <io.h>#endif#include <string.h>#include <stdlib.h>#include <limits.h>#include "ntfstypes.h"#include "struct.h"#include "util.h"#include "nttools.h"#include "inode.h"char *short_opts="Vh";#ifdef HAVE_GETOPT_Hstruct option options[]={	{"version",0,0,'V'},	{"help",0,0,'h'},	{0,0,0,0}};#endifunsigned int type=ngt_nt;unsigned int charset=nct_utf8;void usage(void){  fprintf(stderr,"ntcp [-V|h] <src> <dst>\n"	  "Files on the NTFS volume are accessed as //<device>/<path>\n");}struct ntfs_file{  ntfs_inode ino;  ntfs_attribute *data;  ntfs_offset_t offset;};voidwrite_unix(void *file,void *buf,size_t len){  if(write(*(int*)file,buf,len)!=len){    perror("cp2unix");    exit(1);  }}intread_unix(void *file,void *buf,size_t len){  int result;  result=read(*(int*)file,buf,len);  if(result==-1){    perror("read_unix");    exit(1);  }  return result;}intclose_unix(void *file){	close(*(int*)file);	return errno;}voidwrite_nt(void *file,void* buf,size_t len){  struct ntfs_file* f=file;  struct ntfs_io io;  int error;  io.fn_get=ntfs_get;  io.param=buf;  io.size=len;  io.do_read=0;  error=ntfs_readwrite_attr(&f->ino,f->data,f->offset,&io);  if(error){    fprintf(stderr,"Error %d writing to ntfs\n",error);    exit(1);  }  f->offset+=len;}intread_nt(void *file,void *buf,size_t len){  struct ntfs_file* f=file;  struct ntfs_io io;  int error;  io.fn_put=ntfs_put;  io.param=buf;  io.size=len;  io.do_read=1;  error=ntfs_readwrite_attr(&f->ino,f->data,f->offset,&io);  if(error){    fprintf(stderr,"Error %d reading from ntfs\n",error);    exit(1);  }  f->offset+=io.size;  return io.size;}int close_nt(void *file){	return ntfs_update_inode(file);}typedef struct _methods{	void (*write_func)(void*,void*,size_t);	int (*read_func)(void*,void*,size_t);	int (*close_func)(void*);} *methods;struct _methods m_unix ={	write_unix,	read_unix,	close_unix};struct _methods m_nt ={	write_nt,	read_nt,	close_nt};void copy(methods r,void *rf,methods w,void *wf){  void *buf=malloc(8192);  int len;  int error;    do{    len=r->read_func(rf,buf,8192);    w->write_func(wf,buf,len);  }while(len==8192);  /* FIXME: close read file. */  error = w->close_func(wf);  if(error)	  fprintf(stderr,"When closing:%s\n", strerror(error));}intntfs_creat (ntfs_inode *dir, ntfs_inode *ino, char* name){	int error;		error=ntfs_alloc_file(dir,ino,name,strlen(name));	if(error)		return error;	error=ntfs_update_inode(ino);	if(error)		return error;	error=ntfs_update_inode(dir);	return error;}int ntfs_open(char *name,methods m,void **f,int flags){	ntfs_volume *vol;	char device[256];	char *it;	int inum;	struct ntfs_file *file;	int error;	for(it=name+2;*it && *it!='/';it++)		/*nothing*/;	strcpy(device,"/dev/");	strncpy(device+5,name+2,(it-name)-2);	device[(it-name)+3]='\0';	vol=ntfs_open_volume(device,0,1,0);	if(!vol)return ENODEV;	vol->ngt=type;	vol->nct=charset;	file=malloc(sizeof(struct ntfs_file));	inum=5;	/* walk the directory tree */	name=it;	if(*name=='/')name++;	do{		char *next;		if(ntfs_init_inode(&file->ino,vol,inum)){			fprintf(stderr,"error finding %s\n",it);			return EIO;		}		if(!name || !*name)break;		next=strpbrk(name,NTFS_PATH_SEP);		if(next){			*next='\0';			next++;		}		inum=ntfs_find_file(&file->ino,name);		if(inum==-1){			ntfs_inode new_ino;			if(next)				return ENOENT;			error = ntfs_creat(&file->ino, &new_ino, name);			if(error)				return error;			file->ino = new_ino;			break;		}		name=next;	}while(1);	file->data=ntfs_find_attr(&file->ino,vol->at_data,0);	if(!file->data)		return EISDIR;	*m = m_nt;	*f = file;	return 0;}intunix_open(char *name,methods m,void **f,int flags){	int *file=malloc(sizeof(int));	*file=open(name,flags,0777);	if(*file==-1)return errno;	*m = m_unix;	*f=file;	return 0;}intdo_open(char *name,methods m,void **f,int flags){	int error;	if(name[0]=='/' && name[1]=='/')		error=ntfs_open(name,m,f,flags);	else		error=unix_open(name,m,f,flags);	if(error == EISDIR && (flags & O_CREAT))		return error;		if(error){		fprintf(stderr,"%s:%s\n",name,strerror(error));		exit(1);	}	return 0;}voidjoin(char* dir, char* file){	char *next;	for(next = strpbrk(dir,NTFS_PATH_SEP);next; 	    next = strpbrk(next,NTFS_PATH_SEP))		dir=next=next+1;	if(*dir != '\0')	{		dir += strlen(dir);		*dir = '/';		dir++;	}	for(next = strpbrk(file, NTFS_PATH_SEP); next; 	    next = strpbrk(next, NTFS_PATH_SEP))		file = next = next+1;	strcpy(dir,file);}int main(int argc,char *argv[]){	int c;	extern int opterr,optind;	extern char* optarg;	struct _methods m1,m2;	void *f1,*f2;	opterr=1;	while((c=getopt_long(argc,argv,short_opts,options,NULL))>0)		switch(c)		{		case 'V': printf("ntcat " NTFS_VERSION "\n");exit(0);break;		case 'h': usage();exit(0);break;		}	if(optind+2!=argc){		usage();		exit(1);	}	do_open(argv[optind], &m1, &f1, O_RDONLY);	if(do_open(argv[optind+1], &m2, &f2, O_WRONLY|O_CREAT) == EISDIR)	{		char newname[NAME_MAX];		strcpy(newname, argv[optind+1]);		join(newname,argv[optind]);		if(do_open(newname, &m2, &f2, O_WRONLY|O_CREAT) == EISDIR)		{			fprintf(stderr,"%s:%s\n",newname,strerror(EISDIR));			exit(1);		}	}	copy(&m1,f1,&m2,f2);	return 0;}/* * Local variables: * c-file-style: "linux" * End: */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜视频一区二区| 欧美成人官网二区| 欧美色精品在线视频| 欧美成人一区二区三区片免费| 中文一区二区在线观看 | 亚洲一区二区欧美激情| 亚洲成人精品一区| 久久久久久麻豆| 欧美人动与zoxxxx乱| 蜜臀av一区二区在线免费观看| 国产乱淫av一区二区三区| 欧美影院一区二区| 欧美丰满一区二区免费视频| 国产精品国产三级国产有无不卡| 国产成人免费在线视频| 久久九九久久九九| 免费成人在线观看视频| 国产精品一二三区| 91精品国产乱码久久蜜臀| 亚洲少妇30p| 成人免费视频视频| 欧美成人一区二区三区| 午夜精品久久久久久久蜜桃app| av在线播放一区二区三区| 久久久亚洲精品一区二区三区| 理论片日本一区| 在线综合亚洲欧美在线视频| 亚洲成人手机在线| 精品视频在线免费观看| 亚洲宅男天堂在线观看无病毒| 91在线国内视频| 亚洲视频中文字幕| 色香蕉成人二区免费| 亚洲欧美经典视频| 色88888久久久久久影院野外| 国产精品久久毛片a| 丁香婷婷深情五月亚洲| 国产精品美女久久久久久久| 成人av影院在线| 亚洲欧洲制服丝袜| 欧美日韩一区二区在线视频| 天天av天天翘天天综合网| 欧美日韩精品福利| 爽爽淫人综合网网站| 欧美一区二区三区免费视频 | 激情综合网天天干| 日韩欧美自拍偷拍| 美女视频一区在线观看| 日韩精品一区二区三区视频| 国内精品伊人久久久久av影院| 精品日韩在线观看| 国产成人在线电影| 国产精品久久久久久久第一福利| 99久久精品国产观看| 亚洲影视在线播放| 91精品国产综合久久久久| 国内精品伊人久久久久av影院 | 3atv在线一区二区三区| 免费三级欧美电影| 亚洲国产精品国自产拍av| 一本一道久久a久久精品综合蜜臀| 一区二区三区在线视频免费 | gogogo免费视频观看亚洲一| 伊人开心综合网| 欧美一区二区人人喊爽| 狠狠色丁香婷综合久久| 成人欧美一区二区三区1314| 在线欧美日韩国产| 蜜臀va亚洲va欧美va天堂 | 亚洲欧美日韩久久| 欧美另类变人与禽xxxxx| 国产在线一区二区综合免费视频| 中文字幕的久久| 91精品在线麻豆| 国产91露脸合集magnet | 日本成人超碰在线观看| 中文在线资源观看网站视频免费不卡| 91国偷自产一区二区开放时间 | 国产精品白丝jk黑袜喷水| 一区二区三区日韩在线观看| 日韩午夜在线观看| 色哟哟在线观看一区二区三区| 另类小说视频一区二区| 亚洲欧美激情在线| 久久久久久久网| 欧美精品一级二级三级| 国产91富婆露脸刺激对白| 午夜久久久影院| 亚洲欧美一区二区三区孕妇| 精品久久久久久久久久久久包黑料| 97精品久久久午夜一区二区三区| 开心九九激情九九欧美日韩精美视频电影| 国产精品久久看| 久久久久久久久伊人| 91麻豆精品国产91久久久资源速度 | 1024成人网| 久久精品视频免费观看| 51久久夜色精品国产麻豆| 91丨九色丨黑人外教| 国产一区二区三区精品视频| 午夜精品久久久久久久蜜桃app| **性色生活片久久毛片| 国产视频一区二区在线| 欧美mv日韩mv亚洲| 在线不卡a资源高清| 91福利区一区二区三区| 99精品欧美一区| 成人免费毛片嘿嘿连载视频| 国产精品一二三四区| 99国产麻豆精品| 成人国产精品免费观看动漫| 国产精品一色哟哟哟| 久88久久88久久久| 免费不卡在线观看| 久色婷婷小香蕉久久| 日韩av网站在线观看| 天天操天天综合网| 青青草国产精品亚洲专区无| 偷拍一区二区三区四区| 性感美女极品91精品| 天天av天天翘天天综合网色鬼国产| 亚洲一区免费观看| 亚洲小说欧美激情另类| 亚洲一区二区欧美| 日韩av中文在线观看| 日韩成人伦理电影在线观看| 青娱乐精品在线视频| 欧美96一区二区免费视频| 蜜桃一区二区三区在线观看| 蜜臀精品一区二区三区在线观看| 麻豆成人在线观看| 国产成人在线色| 99re在线视频这里只有精品| 91免费视频网| 欧美日韩大陆在线| 欧美哺乳videos| 国产网红主播福利一区二区| 一区在线观看视频| 一区二区三区不卡在线观看| 亚洲成av人片www| 激情六月婷婷久久| 国产91高潮流白浆在线麻豆 | 欧洲另类一二三四区| 欧美群妇大交群的观看方式| 欧美成人aa大片| 国产精品乱人伦一区二区| 亚洲精品一二三区| 久久精品国产秦先生| 不卡的电视剧免费网站有什么| 色偷偷久久人人79超碰人人澡| 欧美婷婷六月丁香综合色| 欧美r级电影在线观看| 国产精品伦一区二区三级视频| 亚洲国产一区二区a毛片| 韩日精品视频一区| 一本久久综合亚洲鲁鲁五月天| 欧美精品自拍偷拍动漫精品| 久久在线观看免费| 亚洲综合一二区| 国产酒店精品激情| 欧美精品乱码久久久久久按摩| 久久久久久久久久久久久女国产乱| 中文字幕日韩av资源站| 麻豆精品视频在线观看视频| 99久久伊人网影院| 精品国偷自产国产一区| 亚洲激情网站免费观看| 国产精品资源在线观看| 欧美日韩一级片网站| 国产精品久久毛片a| 九九久久精品视频| 欧美日本视频在线| 国产精品美女久久久久aⅴ| 蜜臀av一区二区在线观看| 91色porny| 国产欧美综合色| 美日韩黄色大片| 欧美日韩性生活| 综合欧美一区二区三区| 国产传媒一区在线| 久久综合久久99| 丝袜美腿高跟呻吟高潮一区| 一本大道久久a久久综合婷婷| 久久久蜜桃精品| 老鸭窝一区二区久久精品| 欧美色图第一页| 一区二区三区四区乱视频| 成人免费视频一区二区| 久久精品在线观看| 久久9热精品视频| 91精品国产综合久久久久久久| 一区二区免费视频| 91欧美一区二区| 亚洲欧洲在线观看av| 成人免费黄色大片| 国产女主播在线一区二区| 国产成人精品网址| 久久久99精品免费观看不卡| 久久av中文字幕片| 久久久久九九视频|