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

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

?? elenorm.pas

?? 提供串行口存取的 Object Pascal 類 ( 1.2 版
?? PAS
字號:
unit EleNORM;
(*
**
** Serial and TCP/IP communication routines for DOS, OS/2 and Win9x/NT.
** Tested with: TurboPascal   v7.0,    (DOS)
**              VirtualPascal v2.1,    (OS/2, Win32)
**              FreePascal    v0.99.12 (DOS, Win32)
**              Delphi        v4.0.    (Win32)
**
** Version : 1.01
** Created : 13-Jun-1999
** Last update : 28-Jun-2000
**
** Note: (c)1998 - 2000 by Maarten Bekers. This unit tries to make it easier
**       to use EleCOM.
**
**  Usage:
**     Before calling any of these routines, first call Com_StartUp:
**     Pass the following number to it:
**        01 - Use the "modem" communications (OS/2, Win32 or FOSSIL)
**        02 - Use the TELNET type (OS/2 or Win32 only).
**
*)
(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)
 INTERFACE
(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

uses ComBase
       {$IFDEF WIN32}
         , W32SNGL
         , Telnet
       {$ENDIF}

       {$IFDEF OS2}
         , Telnet
         , Os2com
       {$ENDIF}

       {$IFDEF MSDOS}
         , Fos_com
       {$ENDIF}  ;


function  Com_Open(Comport: Byte; BaudRate: Longint; DataBits: Byte;
                    Parity: Char; StopBits: Byte): Boolean;
function  Com_OpenKeep(Comport: Byte): Boolean;
function  Com_CharAvail: Boolean;
function  Com_Carrier: Boolean;
function  Com_ReadyToSend(BlockLen: Longint): Boolean;
function  Com_GetChar: Char;
function  Com_SendChar(C: Char): Boolean;
function  Com_GetDriverInfo: String;
function  Com_GetHandle: Longint;
function  Com_InitSucceeded: Boolean;
procedure Com_Startup(ObjectType: Longint);
procedure Com_OpenQuick(Handle: Longint);
procedure Com_GetModemStatus(var LineStatus, ModemStatus: Byte);
procedure Com_SetLine(BpsRate: longint; Parity: Char; DataBits, Stopbits: Byte);
procedure Com_GetBufferStatus(var InFree, OutFree, InUsed, OutUsed: Longint);
procedure Com_SetDtr(State: Boolean);
procedure Com_Close;
procedure Com_SendBlock(var Block; BlockLen: Longint; var Written: Longint);
procedure Com_SendWait(var Block; BlockLen: Longint; var Written: Longint; Slice: SliceProc);
procedure Com_ReadBlock(var Block; BlockLen: Longint; var Reads: Longint);
procedure Com_PurgeOutBuffer;
procedure Com_PurgeInBuffer;
procedure Com_PauseCom(CloseCom: Boolean);
procedure Com_ResumeCom(OpenCom: Boolean);
procedure Com_FlushOutBuffer(Slice: SliceProc);
procedure Com_SendString(Temp: String);
procedure Com_SetDontClose(Value: Boolean);
procedure Com_ShutDown;
procedure Com_SetFlow(SoftTX, SoftRX, Hard: Boolean);


(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)
 var ComObj   : pCommObj;
     ComSystem: Longint;
(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)
 IMPLEMENTATION
(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Int_ComReadProc(var TempPtr: Pointer);
begin
  {$IFDEF WIN32}
    Case ComSystem of
      1 : PWin32Obj(ComObj)^.Com_DataProc(TempPtr);
      2 : PTelnetObj(ComObj)^.Com_ReadProc(TempPtr);
    end; { case }
  {$ENDIF}

  {$IFDEF OS2}
    Case ComSystem of
      1 : POs2Obj(ComObj)^.Com_ReadProc(TempPtr);
      2 : PTelnetObj(ComObj)^.Com_ReadProc(TempPtr);
    end; { case }
  {$ENDIF}
end; { proc. Int_ComReadProc }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Int_ComWriteProc(var TempPtr: Pointer);
begin
  {$IFDEF WIN32}
    Case ComSystem of
      1 : PWin32Obj(ComObj)^.Com_DataProc(TempPtr);
      2 : PTelnetObj(ComObj)^.Com_WriteProc(TempPtr);
    end; { case }
  {$ENDIF}

  {$IFDEF OS2}
    Case ComSystem of
      1 : POs2Obj(ComObj)^.Com_WriteProc(TempPtr);
      2 : PTelnetObj(ComObj)^.Com_WriteProc(TempPtr);
    end; { case }
  {$ENDIF}
end; { proc. Int_ComWriteProc }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_Startup(ObjectType: Longint);
begin
  ComSystem := ObjectType;

  Case Objecttype of
    {$IFDEF WIN32}
      01 : ComObj := New(pWin32Obj, Init);
      02 : ComObj := New(pTelnetObj, Init);
    {$ENDIF}

    {$IFDEF OS2}
      01 : ComObj := New(pOs2Obj, Init);
      02 : ComObj := New(pTelnetObj, Init);
    {$ENDIF}

    {$IFDEF MSDOS}
      01 : ComObj := New(pFossilObj, Init);
    {$ENDIF}

    {$IFDEF GO32V2}
      01 : ComObj := New(pFossilObj, Init);
    {$ENDIF}
  end; { case }

  {$IFDEF WIN32}
    ComObj^.Com_SetDataProc(@Int_ComReadProc, @Int_ComWriteProc);
  {$ENDIF}

  {$IFDEF OS2}
    ComObj^.Com_SetDataProc(@Int_ComReadProc, @Int_ComWriteProc);
  {$ENDIF}
end; { proc. Com_Startup }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_OpenQuick(Handle: Longint);
begin
  ComObj^.Com_OpenQuick(Handle);
end; { proc. Com_OpenQuick }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_Open(Comport: Byte; BaudRate: Longint; DataBits: Byte;
                   Parity: Char; StopBits: Byte): Boolean;
begin
  Com_Open := ComObj^.Com_Open(Comport, BaudRate, DataBits, Parity, StopBits);
end; { func. Com_Open }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_OpenKeep(Comport: Byte): Boolean;
begin
  Com_OpenKeep := ComObj^.Com_OpenKeep(Comport);
end; { func. Com_OpenKeep }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_GetModemStatus(var LineStatus, ModemStatus: Byte);
begin
  ComObj^.Com_GetModemStatus(LineStatus, ModemStatus);
end; { proc. Com_GetModemStatus }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SetLine(BpsRate: longint; Parity: Char; DataBits, Stopbits: Byte);
begin
  ComObj^.Com_SetLine(BpsRate, Parity, DataBits, StopBits);
end; { proc. Com_SetLine }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_GetBPSrate: Longint;
begin
  Com_GetBpsRate := ComObj^.Com_GetBpsRate;
end; { func. Com_GetBpsRate }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_GetBufferStatus(var InFree, OutFree, InUsed, OutUsed: Longint);
begin
  ComObj^.Com_GetBufferStatus(InFree, OutFree, InUsed, OutUsed);
end; { proc. Com_GetBufferStatus }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SetDtr(State: Boolean);
begin
  ComObj^.Com_SetDtr(State);
end; { proc. Com_SetDtr }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_CharAvail: Boolean;
begin
  Com_CharAvail := ComObj^.Com_CharAvail;
end; { func. Com_CharAvail }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_Carrier: Boolean;
begin
  Com_Carrier := ComObj^.Com_Carrier;
end; { func. Com_Carrier }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_ReadyToSend(BlockLen: Longint): Boolean;
begin
  Com_ReadyToSend := ComObj^.Com_ReadyToSend(BlockLen);
end; { func. Com_ReadyToSend }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_GetChar: Char;
begin
  Com_GetChar := ComObj^.Com_GetChar;
end; { func. Com_GetChar }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_SendChar(C: Char): Boolean;
begin
  Com_SendChar := ComObj^.Com_SendChar(C);
end; { func. Com_SendChar }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_GetDriverInfo: String;
begin
  Com_GetDriverInfo := ComObj^.Com_GetDriverInfo;
end; { func. Com_GetDriverInfo }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_GetHandle: Longint;
begin
  Com_GetHandle := ComObj^.Com_GetHandle;
end; { func. Com_GetHandle }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

function Com_InitSucceeded: Boolean;
begin
  Com_InitSucceeded := ComObj^.Com_InitSucceeded;
end; { func. Com_InitSucceeded }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_Close;
begin
  ComObj^.Com_Close;
end; { proc. Com_Close }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SendBlock(var Block; BlockLen: Longint; var Written: Longint);
begin
  ComObj^.Com_SendBlock(Block, BlockLen, Written);
end; { proc. Com_SendBlock }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SendWait(var Block; BlockLen: Longint; var Written: Longint; Slice: SliceProc);
begin
  ComObj^.Com_SendWait(Block, BlockLen, Written, Slice);
end; { proc. Com_SendWait }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_ReadBlock(var Block; BlockLen: Longint; var Reads: Longint);
begin
  ComObj^.Com_ReadBlock(Block, BlockLen, Reads);
end; { proc. Com_ReadBlock }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_PurgeOutBuffer;
begin
  ComObj^.Com_PurgeOutBuffer;
end; { proc. Com_PurgeOutBuffer }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_PurgeInBuffer;
begin
  ComObj^.Com_PurgeInBuffer;
end; { proc. Com_PurgeInBuffer }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_PauseCom(CloseCom: Boolean);
begin
  ComObj^.Com_PauseCom(CloseCom);
end; { proc. Com_PauseCom }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_ResumeCom(OpenCom: Boolean);
begin
  ComObj^.Com_ResumeCom(OpenCom);
end; { proc. Com_ResumeCom }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_FlushOutBuffer(Slice: SliceProc);
begin
  ComObj^.Com_FlushOutBuffer(Slice);
end; { proc. Com_FlushOutBuffer }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SendString(Temp: String);
begin
  ComObj^.Com_SendString(Temp);
end; { Com_SendString }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SetDontClose(Value: Boolean);
begin
  ComObj^.DontClose := Value;
end; { proc. Com_SetDontClose }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_ShutDown;
begin
  Dispose(ComObj, Done);
end; { proc. Com_ShutDown }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

procedure Com_SetFlow(SoftTX, SoftRX, Hard: Boolean);
begin
  ComObj^.Com_SetFlow(SoftTX, SoftRX, Hard);
end; { proc. Com_SetFlow }

(*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-+-*-*)

begin
  ComObj := nil;
end. { unit ELENORM }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级电影网站| 成人综合在线视频| 国产成人av影院| 91在线高清观看| 欧美tickling网站挠脚心| 亚洲欧美日韩国产一区二区三区| 青草av.久久免费一区| 色综合久久久久网| 国产亚洲成av人在线观看导航| 亚洲成人av一区二区三区| 成人激情免费电影网址| 日韩精品中文字幕在线一区| 亚洲精品五月天| 国产成人精品www牛牛影视| 欧美一卡二卡三卡四卡| 亚洲一区中文在线| av亚洲精华国产精华精| 国产无一区二区| 久久精品国产色蜜蜜麻豆| 欧美在线视频日韩| 亚洲欧洲国产专区| 丁香激情综合国产| 欧美激情一区二区三区在线| 九九热在线视频观看这里只有精品| 欧美日韩一本到| 亚洲一区二区三区三| 色综合激情久久| 亚洲人吸女人奶水| 91视频在线观看| 亚洲视频免费在线观看| 99久久精品情趣| 亚洲日本va午夜在线电影| 波多野结衣亚洲| 国产精品久久久久久久第一福利| 国产v综合v亚洲欧| 中文幕一区二区三区久久蜜桃| 国产不卡在线播放| 中文字幕一区日韩精品欧美| av一区二区不卡| 一区二区三区免费在线观看| 在线观看欧美黄色| 性欧美大战久久久久久久久| 欧美日韩国产色站一区二区三区| 亚洲一区二区三区国产| 欧美欧美欧美欧美| 精品一区二区在线视频| 久久蜜桃一区二区| av动漫一区二区| 亚洲激情在线播放| 51久久夜色精品国产麻豆| 蜜臀久久99精品久久久久宅男 | 日韩毛片一二三区| 欧美性猛交xxxx乱大交退制版 | av毛片久久久久**hd| 亚洲色图清纯唯美| 欧美日韩国产精选| 国产一区91精品张津瑜| 国产精品动漫网站| 777亚洲妇女| 国产福利精品一区| 一区二区三区中文在线| 欧美www视频| 99精品视频中文字幕| 午夜激情一区二区| 久久精品夜夜夜夜久久| 91成人免费网站| 久久99热这里只有精品| 一区二区中文字幕在线| 51午夜精品国产| 成人美女视频在线观看18| 亚洲国产综合在线| 国产欧美一区二区在线| 欧美日韩一区中文字幕| 国产黑丝在线一区二区三区| 亚洲一区二区三区四区在线观看| 日韩欧美卡一卡二| 91亚洲精品一区二区乱码| 秋霞电影网一区二区| 最新国产精品久久精品| 日韩一区二区免费视频| 91在线视频免费观看| 久久国产精品第一页| 一区二区国产视频| 久久人人97超碰com| 在线播放中文一区| 一本久久a久久精品亚洲| 精品伊人久久久久7777人| 亚洲综合在线五月| 中文字幕国产一区二区| 欧美mv和日韩mv国产网站| 在线观看www91| www.视频一区| 国产91高潮流白浆在线麻豆| 蜜臀av亚洲一区中文字幕| 亚洲国产一区二区三区| 国产精品久久久久桃色tv| 亚洲精品一区二区三区精华液| 欧美美女一区二区| 色88888久久久久久影院野外| 成人激情午夜影院| 成人午夜激情视频| 国内成+人亚洲+欧美+综合在线| 日韩电影一区二区三区四区| 亚洲综合小说图片| 亚洲综合色网站| 亚洲视频每日更新| 综合电影一区二区三区 | 欧美国产日韩亚洲一区| 久久婷婷国产综合国色天香| 91精品国产欧美一区二区| 欧美日韩国产免费| 欧美另类一区二区三区| 欧美性生活影院| 欧美专区亚洲专区| 欧美亚洲动漫精品| 欧美日韩一区不卡| 欧美精品精品一区| 91精品国产高清一区二区三区| 欧美精选在线播放| 91麻豆精品国产91久久久使用方法| 欧美日韩一区二区三区在线| 欧美日韩亚洲综合在线| 日韩一区国产二区欧美三区| 日韩欧美美女一区二区三区| 久久综合成人精品亚洲另类欧美| 精品播放一区二区| 久久久五月婷婷| 国产精品视频观看| 亚洲精品成人天堂一二三| 亚洲va韩国va欧美va精品| 视频一区欧美精品| 国内精品久久久久影院一蜜桃| 国产精品中文欧美| 91蜜桃免费观看视频| 在线观看免费一区| 日韩欧美aaaaaa| 亚洲国产精品激情在线观看| 一区二区三区在线视频免费观看| 亚洲超碰97人人做人人爱| 美女性感视频久久| 99视频国产精品| 欧美情侣在线播放| 精品国产sm最大网站| 亚洲欧洲精品一区二区三区不卡| 亚洲一区二区视频在线| 韩国三级中文字幕hd久久精品| 北条麻妃一区二区三区| 91精品欧美久久久久久动漫 | 成人免费高清在线| 欧美色图天堂网| 久久日韩精品一区二区五区| 亚洲人成精品久久久久久| 免费精品视频在线| 成人午夜视频福利| 91精品麻豆日日躁夜夜躁| 欧美国产一区在线| 日韩精品免费视频人成| 高清av一区二区| 欧美二区在线观看| 中文字幕中文在线不卡住| 日本麻豆一区二区三区视频| kk眼镜猥琐国模调教系列一区二区 | 亚洲美女少妇撒尿| 久久精品久久精品| 在线观看亚洲精品视频| 国产亚洲精品bt天堂精选| 午夜天堂影视香蕉久久| a级精品国产片在线观看| 精品卡一卡二卡三卡四在线| 亚洲国产毛片aaaaa无费看 | 日韩美女在线视频| 亚洲女性喷水在线观看一区| 韩国成人精品a∨在线观看| 欧美性大战久久久久久久蜜臀| 久久久精品免费免费| 日本成人在线不卡视频| 色天天综合色天天久久| 欧美精彩视频一区二区三区| 免费成人av在线| 欧美日韩国产成人在线91 | 国产女同性恋一区二区| 日本中文一区二区三区| 欧美在线影院一区二区| 亚洲色图19p| 成人av影院在线| 国产欧美日产一区| 国产在线一区二区| 日韩精品一区二区三区四区视频| 亚洲第一久久影院| 欧美私模裸体表演在线观看| 亚洲女女做受ⅹxx高潮| 成人午夜激情片| 中文字幕免费观看一区| 国产乱对白刺激视频不卡| 精品国产一区二区亚洲人成毛片 | 91在线国产观看| 国产精品少妇自拍| 成人永久看片免费视频天堂| 日本一区免费视频| 成人久久18免费网站麻豆|