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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? znfat.c

?? f340的MP3程序,通過SD卡讀入解碼器
?? C
?? 第 1 頁 / 共 4 頁
字號:
  }
  for(i=0;i<sizeof(struct direntry);i++)
  {
   znFAT_Buffer[i]=((UINT8 *)(&temp_rec))[i]; 
  }
  znFAT_WriteSector(temp_sec,znFAT_Buffer);
 }
 if(is_dir)
 {
  znFAT_Empty_Cluster(new_clu);

  Fill_Rec_Inf(&temp_rec,".",1,ptd);
  (temp_rec.deHighClust)[0]=(new_clu&0x00ff0000)>>16;
  (temp_rec.deHighClust)[1]=(new_clu&0xff000000)>>24;
  (temp_rec.deLowCluster)[0]=(new_clu&0x000000ff);
  (temp_rec.deLowCluster)[1]=(new_clu&0x0000ff00)>>8;
  for(i=0;i<sizeof(struct direntry);i++)
  {
   znFAT_Buffer[i]=((UINT8 *)(&temp_rec))[i]; 
  }
  Fill_Rec_Inf(&temp_rec,"..",1,ptd);
  if(cluster==pArg->FirstDirClust)
  {
   (temp_rec.deHighClust)[0]=0;
   (temp_rec.deHighClust)[1]=0;
   (temp_rec.deLowCluster)[0]=0;
   (temp_rec.deLowCluster)[1]=0;
  }
  else
  {
   (temp_rec.deHighClust)[0]=(cluster&0x00ff0000)>>16;
   (temp_rec.deHighClust)[1]=(cluster&0xff000000)>>24;
   (temp_rec.deLowCluster)[0]=(cluster&0x000000ff);
   (temp_rec.deLowCluster)[1]=(cluster&0x0000ff00)>>8;
  }
    
  for(i=sizeof(struct direntry);i<2*sizeof(struct direntry);i++)
  {
   znFAT_Buffer[i]=((UINT8 *)(&temp_rec))[i-sizeof(struct direntry)]; 
  }
  for(;i<pArg->BytesPerSector;i++)
  {
   znFAT_Buffer[i]=0;
  }		
  temp_sec=SOC(new_clu);
  znFAT_WriteSector(temp_sec,znFAT_Buffer);
 }
 else
 {
  strcpy(pfi->FileName,name);
  pfi->FileStartCluster=0;
  pfi->FileCurCluster=0;
  pfi->FileSize=0;
  pfi->FileCurSector=0;
  pfi->FileCurPos=0;
  pfi->FileCurOffset=0;
  pfi->Rec_Sec=temp_sec;
  pfi->nRec=temp_Rec;

  pfi->FileAttr=temp_rec.deAttributes;
 }
 znFAT_Find_Free_Clust(1);
 return 1;
}

#endif
/**************************************************************************
 - 功能描述:向某一個文件追加數(shù)據(jù)
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:pfi:指向FileInfoStruct類型的結(jié)構(gòu)體,用于裝載剛創(chuàng)建的文件的信息
             len:要追加的數(shù)據(jù)長度
             pbuf:指向數(shù)據(jù)緩沖區(qū)的指針
 - 返回說明:成功返回實際寫入的數(shù)據(jù)長度,失敗返回0
 - 注:追加數(shù)據(jù)失敗很有可能是存儲設備已經(jīng)沒有空間了,也就是找不到空閑簇了
 **************************************************************************/
#ifdef ZNFAT_ADD_DAT

UINT32 znFAT_Add_Dat(struct FileInfoStruct *pfi,UINT32 len,UINT8 *pbuf)
{
 UINT32 i=0,counter=0,iSec,iClu;
 UINT32 temp_sub,temp_file_size,new_clu,temp_sec;
 struct direntry *prec;
 if(len>0)
 {
  znFAT_ReadSector(pfi->Rec_Sec,znFAT_Buffer);
  prec=(struct direntry *)(znFAT_Buffer+pfi->nRec);
  temp_file_size=LE2BE((prec->deFileSize),4);
  if(!temp_file_size)
  {   
   if(!(new_clu=znFAT_Find_Free_Clust(0))) return 0;
   znFAT_Modify_FAT(new_clu,0x0fffffff);
   pfi->FileStartCluster=new_clu;
   pfi->FileCurCluster=pfi->FileStartCluster;
   pfi->FileSize=0;
   pfi->FileCurSector=SOC(pfi->FileCurCluster);
   pfi->FileCurPos=0;
   pfi->FileCurOffset=0;
   znFAT_ReadSector(pfi->Rec_Sec,znFAT_Buffer);
   (prec->deHighClust)[0]=(new_clu&0x00ff0000)>>16;
   (prec->deHighClust)[1]=(new_clu&0xff000000)>>24;
   (prec->deLowCluster)[0]=(new_clu&0x000000ff);
   (prec->deLowCluster)[1]=(new_clu&0x0000ff00)>>8;
   znFAT_WriteSector(pfi->Rec_Sec,znFAT_Buffer);
  }
  else
  {
   if(!(temp_file_size%(pArg->SectorsPerClust*pArg->BytesPerSector))) //在簇的最末尾臨界地方,需要尋找新簇
   {
    znFAT_Seek_File(pfi,pfi->FileSize-1);
    if(!(new_clu=znFAT_Find_Free_Clust(0))) return 0;
	znFAT_Modify_FAT(pfi->FileCurCluster,new_clu);
    znFAT_Modify_FAT(new_clu,0x0fffffff);     
   }
   znFAT_Seek_File(pfi,pfi->FileSize);
  }

  iSec=pfi->FileCurSector;

  znFAT_ReadSector(iSec,znFAT_Buffer);
  for(i=pfi->FileCurPos;i<pArg->BytesPerSector;i++)
  {
   znFAT_Buffer[i]=pbuf[counter];
   counter++;
   if(counter>=len) 
   {
    iSec=pfi->FileCurSector;
    goto end;
   }
  }
  znFAT_WriteSector(pfi->FileCurSector,znFAT_Buffer); //數(shù)據(jù)接縫  
  
  if(pfi->FileCurSector-(SOC(pfi->FileCurCluster))<(pArg->SectorsPerClust-1)) //判斷是不是一個簇的最后一個扇區(qū),先將當前簇所有扇區(qū)填滿 
  {
   for(iSec=pfi->FileCurSector+1;iSec<=(SOC(pfi->FileCurCluster)+pArg->SectorsPerClust-1);iSec++)
   {
    for(i=0;i<pArg->BytesPerSector;i++)
    {
	 znFAT_Buffer[i]=pbuf[counter];
	 counter++;
     if(counter>=len) 
	 {
	  goto end;
	 }
    }
    znFAT_WriteSector(iSec,znFAT_Buffer);
   }
  }
  
  temp_sub=len-counter;
  for(iClu=0;iClu<temp_sub/(pArg->SectorsPerClust*pArg->BytesPerSector);iClu++)
  {
   if(!(new_clu=znFAT_Find_Free_Clust(0))) return 0;
   znFAT_Modify_FAT(pfi->FileCurCluster,new_clu);
   znFAT_Modify_FAT(new_clu,0x0fffffff);
   pfi->FileCurCluster=new_clu;

   temp_sec=SOC(new_clu);
   for(iSec=temp_sec;iSec<temp_sec+pArg->SectorsPerClust;iSec++)
   {
    for(i=0;i<pArg->BytesPerSector;i++)
	{
   	 znFAT_Buffer[i]=pbuf[counter];
	 counter++;
	} 
	znFAT_WriteSector(iSec,znFAT_Buffer);
   }
  }

  temp_sub=len-counter;
  if(temp_sub)
  {
   if(!(new_clu=znFAT_Find_Free_Clust(0))) return 0;
   znFAT_Modify_FAT(pfi->FileCurCluster,new_clu);
   znFAT_Modify_FAT(new_clu,0x0fffffff);
   pfi->FileCurCluster=new_clu;
   temp_sec=SOC(new_clu);
   for(iSec=temp_sec;iSec<temp_sec+temp_sub/pArg->BytesPerSector;iSec++)
   {
    for(i=0;i<pArg->BytesPerSector;i++)
	{
   	 znFAT_Buffer[i]=pbuf[counter];
	 counter++;
	} 
	znFAT_WriteSector(iSec,znFAT_Buffer);    
   }   
  }

  temp_sub=len-counter;
  if(temp_sub)
  {
   for(i=0;i<pArg->BytesPerSector;i++)
   {
   	znFAT_Buffer[i]=pbuf[counter];
	counter++;
   } 
   znFAT_WriteSector(iSec,znFAT_Buffer);   
  }
end:
  znFAT_WriteSector(iSec,znFAT_Buffer);
  znFAT_ReadSector(pfi->Rec_Sec,znFAT_Buffer);
  (((struct direntry *)(znFAT_Buffer+pfi->nRec))->deFileSize)[0]=((temp_file_size+len)&0x000000ff);
  (((struct direntry *)(znFAT_Buffer+pfi->nRec))->deFileSize)[1]=((temp_file_size+len)&0x0000ff00)>>8;
  (((struct direntry *)(znFAT_Buffer+pfi->nRec))->deFileSize)[2]=((temp_file_size+len)&0x00ff0000)>>16;
  (((struct direntry *)(znFAT_Buffer+pfi->nRec))->deFileSize)[3]=((temp_file_size+len)&0xff000000)>>24;
  znFAT_WriteSector(pfi->Rec_Sec,znFAT_Buffer);

  pfi->FileSize=(temp_file_size+len);
  pfi->FileCurSector=(pfi->FileSize%pArg->BytesPerSector)?iSec:iSec+1;
  pfi->FileCurPos=pfi->FileSize%pArg->BytesPerSector;
  pfi->FileCurOffset=pfi->FileSize;
 }
 znFAT_Find_Free_Clust(1);
 return len;
}

#endif	   
/**************************************************************************
 - 功能描述:創(chuàng)建目錄(支持任意層目錄創(chuàng)建)
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:pfi:無用
             dirpath:目錄路徑 比如 "\\dir1\\dir2\\dir3\\....\\dirn\\"
             最后必須是\\結(jié)束
 - 返回說明:成功返回0,失敗返回1
 - 注:如果中間某一級目錄不存在,比如上面的這個路徑中dir3不存在,那么此函數(shù)會
       創(chuàng)建這個目錄,然后再繼續(xù)去創(chuàng)建更深層的目錄
       創(chuàng)建目錄失敗有可能是因為存儲設備空間不足
 **************************************************************************/
#ifdef ZNFAT_CREATE_DIR

UINT8 znFAT_Create_Dir(CONST INT8 *dirpath,UINT8 *ptd)
{
 struct FileInfoStruct *pfi;
 while(!znFAT_Enter_Dir(dirpath))
 {
  if(znFAT_Create_Rec(pfi,temp_dir_cluster,temp_dir_name,1,ptd)==-1)
  {
   return 1;
  }
 }
 return 0;
}

#endif
/**************************************************************************
 - 功能描述:創(chuàng)建文件(支持任意層目錄創(chuàng)建)
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:pfi:一個指向FileInfoStruct類型的結(jié)構(gòu)體的指針,用來裝載新創(chuàng)建的
             文件信息,因此新創(chuàng)建的文件不用再打開就可以直接來操作
             filepath:文件路徑 比如 "\\dir1\\dir2\\dir3\\....\\dirn\\test.txt"
 - 返回說明:0:成功 1:文件已存在 2:創(chuàng)建文件目錄失敗 3:創(chuàng)建文件失敗
 - 注:如果文件路徑中某一個中間目錄不存在,那么此函數(shù)會創(chuàng)建這個目錄,再繼續(xù)
       去創(chuàng)建更深層的目錄,一直到最后把文件創(chuàng)建完成。
       創(chuàng)建文件失敗有可能是因為存儲設備空間不足,或是此文件已經(jīng)存在
 **************************************************************************/
#ifdef ZNFAT_CREATE_FILE

UINT8 znFAT_Create_File(struct FileInfoStruct *pfi,CONST INT8 *filepath,UINT8 *ptd)
{
 if(znFAT_Open_File(pfi,filepath,0,1))
 { 
  if(!znFAT_Create_Dir(filepath,ptd))
  {
   if(znFAT_Create_Rec(pfi,temp_dir_cluster,temp_dir_name,0,ptd)==-1)
   {
    return 3;
   }    
  }
  else
  {
   return 2;   
  }
 }
 else
 {
  return 1;
 }
 return 0;
}

#endif
/**************************************************************************
 - 功能描述:刪除文件(支持任意層目錄)
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:filepath:文件路徑 比如 "\\dir1\\dir2\\dir3\\....\\dirn\\test.txt"
 - 返回說明:1:文件或目錄路徑不存在 0:成功
 - 注:刪除后的文件的FAT表中的簇鏈關(guān)系完全被破壞
 **************************************************************************/
#ifdef ZNFAT_DEL_FILE

UINT8 znFAT_Del_File(CONST INT8 *filepath)
{
 UINT32 cur_clu,next_clu;
 struct FileInfoStruct fi;
 
 if(znFAT_Open_File(&fi,filepath,0,1))
 {
  return 1;
 }
 znFAT_ReadSector(fi.Rec_Sec,znFAT_Buffer);
 *(znFAT_Buffer+fi.nRec)=0xe5;
 znFAT_WriteSector(fi.Rec_Sec,znFAT_Buffer);
 
 if(cur_clu=fi.FileStartCluster)
 {
  if(cur_clu<Search_Last_Usable_Cluster()) 
   znFAT_Update_FSInfo_Last_Clu(cur_clu);
  znFAT_Update_FSInfo_Free_Clu(1);
  next_clu=znFAT_GetNextCluster(cur_clu);
  while(next_clu!=0x0fffffff)
  {
   znFAT_Update_FSInfo_Free_Clu(1);
   znFAT_Modify_FAT(cur_clu,0x00000000);
   cur_clu=next_clu;
   next_clu=znFAT_GetNextCluster(cur_clu);
  }
  znFAT_Modify_FAT(cur_clu,0x00000000);
 }
 return 0;
}

#endif		
/**************************************************************************	 !!!!!!!!!!!!!!!!!!!!!!!!!
 - 功能描述:文件拷貝(源文件路徑與目標文件路徑均支持任意深層目錄,并且支持
             文件名通配)
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:pArg1:是源文件所在的存儲設備的初始參數(shù)結(jié)構(gòu)體的指針
             pArg2:是目標文件所在的存儲設備的初始參數(shù)結(jié)構(gòu)體的指針
             sfilename:源文件路徑,也就是拷貝操作的數(shù)據(jù)源
             tfilename:目標文件路徑,也就是數(shù)據(jù)最終到寫入的文件
                       比如 "\\dir1\\dir2\\dir3\\....\\dirn\\test.txt" 
             file_buf:拷貝過程中要用到的數(shù)據(jù)緩沖區(qū),此緩沖區(qū)容量越大,
                      拷貝速度越快
             buf_size:數(shù)據(jù)緩沖區(qū)的大小 
 - 返回說明:1:目錄文件創(chuàng)建失敗 2:源文件打開打敗 0:成功
 - 注:此函數(shù)支持多設備之間的文件拷貝,pArg1與pArg2引入了源存儲設備與目的
       存儲設備的初始參數(shù)信息,從而可以同時對兩個存儲設備進行操作。
	   znFAT 5.01版開始支持多設備,多設備間的相互數(shù)據(jù)拷貝是最典型的應用
 **************************************************************************/
#ifdef ZNFAT_XCOPY_FILE

UINT8 znFAT_XCopy_File(struct znFAT_Init_Arg *pArg1,struct znFAT_Init_Arg *pArg2,CONST INT8 *sfilename,CONST INT8 *tfilename,UINT8 *file_buf,UINT32 buf_size,UINT8 *pt)
{
 struct FileInfoStruct FileInfo2,FileInfo1;
 struct znFAT_Init_Arg *pArg_temp;
 UINT32 i;

 pArg_temp=pArg; //把pArg原來的指向賦給中間變量

 pArg=pArg2;Dev_No=pArg->DEV_No; //標定目標存儲設備
 if(znFAT_Create_File(&FileInfo1,tfilename,pt)) return 1; //在目標存儲設備上創(chuàng)建目標文件

 pArg=pArg1;Dev_No=pArg->DEV_No; //標定源存儲設備
 if(znFAT_Open_File(&FileInfo2,sfilename,0,1)) return 2;  //在源存儲設備上打開源文件

 for(i=0;i<FileInfo2.FileSize/buf_size;i++)  
 {
  pArg=pArg1;Dev_No=pArg->DEV_No; //標定源存儲設備 
  znFAT_Read_File(&FileInfo2,i*buf_size,buf_size,file_buf);	//讀源存儲設備上的源文件數(shù)據(jù)到數(shù)據(jù)緩沖區(qū)

  pArg=pArg2;Dev_No=pArg->DEV_No;	//標定目標存儲設備 
  znFAT_Add_Dat(&FileInfo1,buf_size,file_buf); //將數(shù)據(jù)級沖區(qū)的數(shù)據(jù)寫入到目標文件中
 }

 pArg=pArg1;Dev_No=pArg->DEV_No; //標定源存儲設備 
 znFAT_Read_File(&FileInfo2,i*buf_size,FileInfo2.FileSize%buf_size,file_buf);//讀取最后的文件余量

 pArg=pArg2;Dev_No=pArg->DEV_No; //標定目標存儲設備
 znFAT_Add_Dat(&FileInfo1,FileInfo2.FileSize%buf_size,file_buf); //將最后的余量數(shù)據(jù)寫入到目標文件中

 pArg=pArg_temp; //將pArg恢復

 return 0;
}

#endif	
/**************************************************************************	!!!!1111111111111111111
 - 功能描述:文件重命名
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:filename:將要重命名的源文件的路徑 如\a.txt
             newfilename:目標文件名 如b.txt (注目標文件名是單純的文件名,
			 不含路徑)
 - 返回說明:1:源文件打開打敗 0:成功
 - 注:無
 **************************************************************************/
#ifdef ZNFAT_RENAME_FILE

UINT8 znFAT_Rename_File(CONST INT8 *filename,CONST INT8 *newfilename)
{
 struct FileInfoStruct fi;
 UINT8 i=0,j=0;
 if(znFAT_Open_File(&fi,filename,0,1)) return 1; //文件打開失敗
 znFAT_ReadSector(fi.Rec_Sec,znFAT_Buffer);
 for(i=0;i<11;i++) (znFAT_Buffer+fi.nRec)[i]=0x20;
 i=0;
 while(newfilename[i]!='.')
 {
  (znFAT_Buffer+fi.nRec)[i]=L2U(newfilename[i]);
  i++;
 }
 i++;
 while(newfilename[i])
 {
  (znFAT_Buffer+fi.nRec+8)[j]=L2U(newfilename[i]);
  i++;j++;
 }
 znFAT_WriteSector(fi.Rec_Sec,znFAT_Buffer);
 return 0;
}
		  
#endif	  
/**************************************************************************
 - 功能描述:文件關(guān)閉
 - 隸屬模塊:znFAT文件系統(tǒng)模塊
 - 函數(shù)屬性:外部,使用戶使用
 - 參數(shù)說明:pfi:指向當前打開的文件的文件信息結(jié)構(gòu)
 - 返回說明:0:成功
 - 注:無
 **************************************************************************/
#ifdef ZNFAT_FILE_CLOSE

UINT8 znFAT_File_Close(struct FileInfoStruct *pfi)
{
 UINT16 i=0;							
 for(i=0;i<sizeof(struct FileInfoStruct);i++)
 {
  ((UINT8 *)pfi)[i]=0;
 }
 return 0;
} 
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲激情图片一区| 欧美激情一区二区| 日韩黄色免费网站| 欧美一二三四区在线| 久久丁香综合五月国产三级网站| 精品国产91久久久久久久妲己| 黄色成人免费在线| 国产欧美一区在线| 99久精品国产| 亚洲午夜久久久久久久久电影网| 欧美嫩在线观看| 激情综合色丁香一区二区| 国产性做久久久久久| 99热这里都是精品| 亚洲国产视频网站| 日韩免费成人网| 岛国精品在线播放| 一区二区三区免费| 精品久久久久久久人人人人传媒 | 国产成人夜色高潮福利影视| 欧美国产视频在线| 欧美日韩另类一区| 国产一区二区三区四区五区入口 | 国产suv精品一区二区6| 亚洲激情图片一区| 日韩一级成人av| 成人高清免费在线播放| 午夜一区二区三区视频| 久久久久久久久一| 欧美曰成人黄网| 国产精品一区二区在线播放| 亚洲久草在线视频| 久久影院视频免费| 欧美日韩一本到| 成人精品亚洲人成在线| 久久精品国产精品亚洲精品| 亚洲少妇最新在线视频| 精品国产一区二区三区av性色 | 亚洲成av人影院在线观看网| 2021国产精品久久精品| 欧美日韩免费在线视频| www.色综合.com| 蜜臀av一级做a爰片久久| 亚洲激情中文1区| 日本一区二区免费在线| 9191久久久久久久久久久| jvid福利写真一区二区三区| 国产原创一区二区三区| 婷婷综合五月天| 一区二区三区在线视频免费| 欧美国产97人人爽人人喊| 日韩一区二区视频| 欧美日韩一卡二卡| 色婷婷香蕉在线一区二区| 成人永久免费视频| 精品中文字幕一区二区| 丝袜美腿亚洲一区| 亚洲777理论| 亚洲第一会所有码转帖| 亚洲精品国产精品乱码不99| 中文字幕一区二区三区不卡在线| 久久久国际精品| 久久久久88色偷偷免费| 337p粉嫩大胆噜噜噜噜噜91av | 天堂蜜桃一区二区三区| 亚洲蜜桃精久久久久久久| 中文在线一区二区| 欧美国产精品一区二区| 国产性天天综合网| 国产女同互慰高潮91漫画| 久久先锋影音av鲁色资源网| 久久综合中文字幕| 欧美精品一区视频| 久久人人超碰精品| 国产女同性恋一区二区| 国产精品三级久久久久三级| 国产精品日日摸夜夜摸av| 国产精品视频一二三区| 国产精品福利在线播放| 亚洲日本青草视频在线怡红院| 亚洲欧美自拍偷拍色图| 亚洲三级在线观看| 亚洲高清一区二区三区| 丝袜亚洲另类丝袜在线| 美女视频黄 久久| 国产高清久久久| 成人91在线观看| 在线亚洲精品福利网址导航| 欧美日韩在线播| 欧美www视频| 国产欧美中文在线| 一级女性全黄久久生活片免费| 亚洲高清免费在线| 日本不卡一二三| 国产成人av网站| 91欧美激情一区二区三区成人| 在线视频综合导航| 日韩一区二区电影| 久久久久久**毛片大全| 亚洲视频香蕉人妖| 日日欢夜夜爽一区| 国产精品一二三区在线| 91丨九色丨黑人外教| 91精品在线一区二区| 国产欧美精品一区aⅴ影院| 亚洲一区二区三区四区在线| 另类的小说在线视频另类成人小视频在线 | 在线播放视频一区| 精品国产第一区二区三区观看体验| 国产亚洲女人久久久久毛片| 亚洲天天做日日做天天谢日日欢 | 粉嫩高潮美女一区二区三区| 91小视频免费看| 日韩欧美一二区| 国产精品夫妻自拍| 美女精品一区二区| 99久久国产综合精品女不卡| 91精品国产全国免费观看| 国产精品久久久久影视| 日韩专区一卡二卡| 成人免费看片app下载| 欧美日本在线一区| 国产精品卡一卡二| 男女视频一区二区| 一本在线高清不卡dvd| 日韩欧美色综合| 亚洲美女淫视频| 国产成a人亚洲精| 欧美一级高清片| 亚洲精品国产a久久久久久| 国产激情一区二区三区| 欧美日本免费一区二区三区| 成人免费一区二区三区视频 | 韩国欧美国产1区| 在线免费视频一区二区| 国产女主播视频一区二区| 青青草成人在线观看| 欧美在线色视频| 国产精品久久久久久久久果冻传媒| 九九视频精品免费| 884aa四虎影成人精品一区| 一区二区三区国产精品| 成人视屏免费看| 久久精品男人天堂av| 美女脱光内衣内裤视频久久影院| 日本久久一区二区| 日韩美女精品在线| 99久免费精品视频在线观看| 精品美女被调教视频大全网站| 亚洲一区二区三区中文字幕| jizzjizzjizz欧美| 中文字幕一区二区三区视频| 国产成人精品免费在线| 亚洲精品一区二区三区蜜桃下载| 日韩精品一级二级| 欧美一级艳片视频免费观看| 午夜视黄欧洲亚洲| 欧美在线观看18| 亚洲午夜免费福利视频| 欧洲精品一区二区| 一区二区三区精品视频| 欧美在线制服丝袜| 亚洲国产视频一区| 91精品国产91久久久久久最新毛片 | 99精品视频在线免费观看| 亚洲国产高清在线| a4yy欧美一区二区三区| 国产精品理论在线观看| 成人免费毛片app| 中文字幕在线视频一区| av一区二区久久| 亚洲欧美激情小说另类| 在线一区二区三区| 午夜亚洲国产au精品一区二区| 欧美日韩和欧美的一区二区| 视频一区欧美日韩| 欧美mv日韩mv国产网站app| 国产一级精品在线| 欧美激情中文字幕一区二区| 91视频.com| 亚洲成年人影院| 日韩精品一区二区三区视频在线观看 | 国产东北露脸精品视频| 国产精品丝袜一区| 91久久国产综合久久| 日韩电影在线免费观看| 久久综合色一综合色88| 成人福利在线看| 亚洲激情在线播放| 欧美电视剧在线看免费| 国产成人av电影免费在线观看| 国产精品久久久久久户外露出| 在线精品视频免费播放| 日日骚欧美日韩| 欧美激情综合五月色丁香小说| 在线观看国产日韩| 狠狠色丁香婷婷综合| 亚洲欧美激情视频在线观看一区二区三区 | 日韩女优av电影| av影院午夜一区|