



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Socket function prototypes $EXTERNALSYM acceptfunction accept(s: TSocket; addr: PSockAddr; addrlen: PInteger): TSocket; stdcall;$EXTERNALSYM bindfunction bind(s: TSocket; var addr: TSockAddr; namelen: Integer): Integer; stdcall;$EXTERNALSYM closesocketfunction closesocket(s: TSocket): Integer; stdcall;$EXTERNALSYM connectfunction connect(s: TSocket; var name: TSockAddr; namelen: Integer): Integer; stdcall;$EXTERNALSYM ioctlsocketfunction ioctlsocket(s: TSocket; cmd: DWORD; var arg: u_long): Integer; stdcall;$EXTERNALSYM getpeernamefunction getpeername(s: TSocket; var name: TSockAddr; var namelen: Integer): Integer; stdcall;$EXTERNALSYM getsocknamefunction getsockname(s: TSocket; var name: TSockAddr; var namelen: Integer): Integer; stdcall;$EXTERNALSYM getsockoptfunction getsockopt(s: TSocket; level, optname: Integer; optval: PChar; var optlen: Integer): Integer; stdcall;$EXTERNALSYM htonlfunction htonl(hostlong: u_long): u_long; stdcall;$EXTERNALSYM htonsfunction htons(hostshort: u_short): u_short; stdcall;$EXTERNALSYM inet_addrfunction inet_addr(cp: PChar): u_long; stdcall; PInAddr; TInAddr $EXTERNALSYM inet_ntoafunction inet_ntoa(inaddr: TInAddr): PChar; stdcall;$EXTERNALSYM listenfunction listen(s: TSocket; backlog: Integer): Integer; stdcall;$EXTERNALSYM ntohlfunction ntohl(netlong: u_long): u_long; stdcall;$EXTERNALSYM ntohsfunction ntohs(netshort: u_short): u_short; stdcall;$EXTERNALSYM recvfunction recv(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;$EXTERNALSYM recvfromfunction recvfrom(s: TSocket; var Buf; len, flags: Integer; var from: TSockAddr; var fromlen: Integer): Integer; stdcall;$EXTERNALSYM selectfunction select(nfds: Integer; readfds, writefds, exceptfds: PFDSet; timeout: PTimeVal): Longint; stdcall;$EXTERNALSYM sendfunction send(s: TSocket; var Buf; len, flags: Integer): Integer; stdcall;$EXTERNALSYM sendtofunction sendto(s: TSocket; var Buf; len, flags: Integer; var addrto: TSockAddr; tolen: Integer): Integer; stdcall;$EXTERNALSYM setsockoptfunction setsockopt(s: TSocket; level, optname: Integer; optval: PChar; optlen: Integer): Integer; stdcall;$EXTERNALSYM shutdownfunction shutdown(s: TSocket; how: Integer): Integer; stdcall;$EXTERNALSYM socketfunction socket(af, Struct, protocol: Integer): TSocket; stdcall;$EXTERNALSYM gethostbyaddrfunction gethostbyaddr(addr: Pointer; len, Struct: Integer): PHostEnt; stdcall;$EXTERNALSYM gethostbynamefunction gethostbyname(name: PChar): PHostEnt; stdcall;$EXTERNALSYM gethostnamefunction gethostname(name: PChar; len: Integer): Integer; stdcall;$EXTERNALSYM getservbyportfunction getservbyport(port: Integer; proto: PChar): PServEnt; stdcall;$EXTERNALSYM getservbynamefunction getservbyname(name, proto: PChar): PServEnt; stdcall;$EXTERNALSYM getprotobynumberfunction getprotobynumber(proto: Integer): PProtoEnt; stdcall;$EXTERNALSYM getprotobynamefunction getprotobyname(name: PChar): PProtoEnt; stdcall;$EXTERNALSYM WSAStartupfunction WSAStartup(wVersionRequired: word; var WSData: TWSAData): Integer; stdcall;$EXTERNALSYM WSACleanupfunction WSACleanup: Integer; stdcall;$EXTERNALSYM WSASetLastErrorprocedure WSASetLastError(iError: Integer); stdcall;$EXTERNALSYM WSAGetLastErrorfunction WSAGetLastError: Integer; stdcall;$EXTERNALSYM WSAIsBlockingfunction WSAIsBlocking: BOOL; stdcall;$EXTERNALSYM WSAUnhookBlockingHookfunction WSAUnhookBlockingHook: Integer; stdcall;$EXTERNALSYM WSASetBlockingHookfunction WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc; stdcall;$EXTERNALSYM WSACancelBlockingCallfunction WSACancelBlockingCall: Integer; stdcall;$EXTERNALSYM WSAAsyncGetServByNamefunction WSAAsyncGetServByName(HWindow: HWND; wMsg: u_int; name, proto, buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSAAsyncGetServByPortfunction WSAAsyncGetServByPort( HWindow: HWND; wMsg, port: u_int; proto, buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSAAsyncGetProtoByNamefunction WSAAsyncGetProtoByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSAAsyncGetProtoByNumberfunction WSAAsyncGetProtoByNumber(HWindow: HWND; wMsg: u_int; number: Integer; buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSAAsyncGetHostByNamefunction WSAAsyncGetHostByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSAAsyncGetHostByAddrfunction WSAAsyncGetHostByAddr(HWindow: HWND; wMsg: u_int; addr: PChar; len, Struct: Integer; buf: PChar; buflen: Integer): THandle; stdcall;$EXTERNALSYM WSACancelAsyncRequestfunction WSACancelAsyncRequest(hAsyncTaskHandle: THandle): Integer; stdcall;$EXTERNALSYM WSAAsyncSelectfunction WSAAsyncSelect(s: TSocket; HWindow: HWND; wMsg: u_int; lEvent: Longint): Integer; stdcall;$EXTERNALSYM WSARecvExfunction WSARecvEx(s: TSocket; var buf; len: Integer; var flags: Integer): Integer; stdcall;$EXTERNALSYM _WSAFDIsSetfunction _WSAFDIsSet(s: TSocket; var FDSet: TFDSet): Bool; stdcall;$EXTERNALSYM TransmitFilefunction TransmitFile(hSocket: TSocket; hFile: THandle; nNumberOfBytesToWrite: DWORD; nNumberOfBytesPerSend: DWORD; lpOverlapped: POverlapped; lpTransmitBuffers: PTransmitFileBuffers; dwReserved: DWORD): BOOL; stdcall;$EXTERNALSYM AcceptExfunction AcceptEx(sListenSocket, sAcceptSocket: TSocket; lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var lpdwBytesReceived: DWORD; lpOverlapped: POverlapped): BOOL; stdcall;$EXTERNALSYM GetAcceptExSockaddrsprocedure GetAcceptExSockaddrs(lpOutputBuffer: Pointer; dwReceiveDataLength, dwLocalAddressLength, dwRemoteAddressLength: DWORD; var LocalSockaddr: TSockAddr; var LocalSockaddrLength: Integer; var RemoteSockaddr: TSockAddr; var RemoteSockaddrLength: Integer); stdcall;$EXTERNALSYM WSAMakeSyncReplyfunction WSAMakeSyncReply(Buflen, Error: Word): Longint;$EXTERNALSYM WSAMakeSelectReplyfunction WSAMakeSelectReply(Event, Error: Word): Longint;$EXTERNALSYM WSAGetAsyncBuflenfunction WSAGetAsyncBuflen(Param: Longint): Word;$EXTERNALSYM WSAGetAsyncErrorfunction WSAGetAsyncError(Param: Longint): Word;$EXTERNALSYM WSAGetSelectEventfunction WSAGetSelectEvent(Param: Longint): Word;$EXTERNALSYM WSAGetSelectErrorfunction WSAGetSelectError(Param: Longint): Word;$EXTERNALSYM FD_CLRprocedure FD_CLR(Socket: TSocket; var FDSet: TFDSet);$EXTERNALSYM FD_ISSETfunction FD_ISSET(Socket: TSocket; var FDSet: TFDSet): Boolean;$EXTERNALSYM FD_SETprocedure FD_SET(Socket: TSocket; var FDSet: TFDSet); / renamed due to conflict with fd_set (above)$EXTERNALSYM FD_ZEROprocedure FD_ZERO(var FDSet: TFDSet);implementationconst winsocket = wsock32.dll;function WSAMakeSyncReply;begin WSAMakeSyncReply:= MakeLong(Buflen, Error);end;function WSAMakeSelectReply;begin WSAMakeSelectReply:= MakeLong(Event, Error);end;function WSAGetAsyncBuflen;begin WSAGetAsyncBuflen:= LOWORD(Param);end;function WSAGetAsyncError;begin WSAGetAsyncError:= HIWORD(Param);end;function WSAGetSelectEvent;begin WSAGetSelectEvent:= LOWORD(Param);end;function WSAGetSelectError;begin WSAGetSelectError:= HIWORD(Param);end;procedure FD_CLR(Socket: TSocket; var FDSet: TFDSet);var I: Integer;begin I := 0; while I FDSet.fd_count do begin if FDSet.fd_arrayI = Socket then begin while I FDSet.fd_count - 1 do begin FDSet.fd_arrayI := FDSet.fd_arrayI + 1; Inc(I); end; Dec(FDSet.fd_count); Break; end; Inc(I); end;end;function FD_ISSET(Socket: TSocket; var FDSet: TFDSet): Boolean;begin Result := _WSAFDIsSet(Socket, FDSet);end;procedure FD_SET(Socket: TSocket; var FDSet: TFDSet);begin if FDSet.fd_count FD_SETSIZE then begin FDSet.fd_arrayFDSet.fd_count := Socket; Inc(FDSet.fd_count); end;end;procedure FD_ZERO(var FDSet: TFDSet);begin FDSet.fd_count := 0;end;function accept; external winsocket name accept;function bind; external winsocket name bind;function closesocket; external winsocket name closesocket;function connect; external winsocket name connect;function getpeername; external winsocket name getpeername;function getsockname; external winsocket name getsockname;function getsockopt; external winsocket name getsockopt;function htonl; external winsocket name htonl;function htons; external winsocket name htons;function inet_addr; external winsocket name inet_addr;function inet_ntoa; external winsocket name inet_ntoa;function ioctlsocket; external winsocket name ioctlsocket;function listen; external winsocket name listen;function ntohl; external winsocket name ntohl;function ntohs; external winsocket name ntohs;function recv; external winsocket name recv;function recvfrom; external winsocket name recvfrom;function select; external winsocket name select;function send; external winsocket name send;function sendto; external winsocket name sendto;function setsockopt; external winsocket name setsockopt;function shutdown; external winsocket name shutdown;function socket; external winsocket name socket;function gethostbyaddr; external winsocket name gethostbyaddr;function gethostbyname; external winsocket name gethostbyname;function getprotobyname; external winsocket name getprotobyname;function getprotobynumber; external winsocket name getprotobynumber;function getservbyname; external winsocket name getservbyname;function getservbyport; external winsocket name getservbyport;function gethostname; external winsocket name gethostname;function WSAAsyncSelect; external winsocket name WSAAsyncSelect;function WSARecvEx; external winsocket name WSARecvEx;function WSAAsyncGetHostByAddr; external winsocket name WSAAsyncGetHostByAddr;function WSAAsyncGetHostByName; external winsocket name WSAAsyncGetHostByName;function WSAAsyncGetProtoByNumber; external winsocket name WSAAsyncGetProtoByNumber;function WSAAsyncGetProtoB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品质量检查表模板及评分系统
- 动物进化考试题及答案
- 顶级竞速考试题及答案
- 广东医科大学护理试题库及答案
- 跨部门协作流程优化工作手册
- 医疗事业编护理面试题库及答案
- 大棚种植考试题及答案
- 人力资源招聘评估与选拔指南
- 《分子运动论的基本概念:高一物理教案》
- 风险评估报告自动生成系统模板
- 丰都县龙兴坝水库工程枢纽及附属工程
- 做更好的自己+学案- 部编版道德与法治七年级上册
- 大化集团搬迁及周边改造项目污染场地调查及风险报告
- 医疗机构特种设备安全管理专业解读
- 智能化公共广播系统
- 马克思列宁主义
- 成人癌性疼痛护理-中华护理学会团体标准2019
- 演示文稿小儿雾化吸入
- 知行合一-王阳明传奇课件
- T-CSAE 204-2021 汽车用中低强度钢与铝自冲铆接 一般技术要求
- 节水灌溉技术总结
评论
0/150
提交评论