Retrieves a TCP/IP connection’s specific options.
WebAPI.bdh
WebTcpipGetOptions( in hWeb : number, out nOptions : number ) : boolean;
true if the operation succeeded
false otherwise
Parameter | Description |
---|---|
hWeb | Valid handle to a Web connection created by WebTcpipConnect. This function currently reflects flags set by WebTcpipSetTelnetMode and will be extended by other configurations in future. |
nOptions |
Numeric variable where current bitflag option settings are to be placed. Currently the options may return any bitwise combination of:
See WebTcpipSetTelnetMode for details. |
dcltrans transaction TInit begin StrSetHostCP(28591); // 28591 (ISO 8859-1 Latin I) end TInit; transaction TMain var hWeb0 : number; sBuffer : string; sBoundary : string; nOption : number; begin WebTcpipConnect(hWeb0, "My.TelnetHost.IP", WEB_PORT_TELNET); WebTcpipSetTelnetMode(hWeb0, TERMINAL_TYPE_ANSI, 80, 24, true, TELNET_MODEOPT_SYNC); WebTcpipGetOptions(hWeb0, nOption); if nOption <> TELNET_MODEOPT_RFC_1576 then WebTcpipSetOptions(hWeb0, TELNET_MODEOPT_RFC_1576); end; WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalType); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_TerminalSpeed); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_XDisplayLocation); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NewEnvironment); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_TerminalType); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_TerminalSpeed); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_XDisplayLocation); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_NewEnvironment); WebTelnetRecvSubNegotiation(hWeb0, TELNET_OPT_TerminalType); WebTelnetSendTerminalType(hWeb0, "vt100"); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_SuppressGoAhead); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_Echo); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_NegotiateWindowSize); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Status); WebTelnetRecvCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_RemoteFlowControl); WebTelnetSendCommand(hWeb0, TELNET_CMD_DO, TELNET_OPT_SuppressGoAhead); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_Echo); WebTelnetSendCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_NegotiateWindowSize); WebTelnetSendSubNegotiation(hWeb0, TELNET_OPT_NegotiateWindowSize, "\h00500018"); WebTelnetSendCommand(hWeb0, TELNET_CMD_DONT, TELNET_OPT_Status); WebTelnetSendCommand(hWeb0, TELNET_CMD_WONT, TELNET_OPT_RemoteFlowControl); WebTelnetRecvCommand(hWeb0, TELNET_CMD_WILL, TELNET_OPT_Echo); WebTcpipGetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvPacketsUntilData(hWeb0, "login: "); WebTelnetTypeKeys(hWeb0, StrToHostCP("leo"), 359.3, TELNET_FLAG_CASE_SENSITIVE); WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipRecvExact(hWeb0, NULL, 390); WebTcpipSetPacketBoundary(hWeb0, sBoundary); WebTcpipRecvUntilIdle(hWeb0, NULL, 5000); WebTcpipSendBin(hWeb0, "\h0D000D0A"); WebTcpipRecvPackets(hWeb0, NULL, 3); WebTcpipSendBin(hWeb0, "\h0D00"); WebTcpipSendPacket(hWeb0, StrToHostCP("8") + "\h0D00"); WebTcpipRecvClose(hWeb0, NULL); WebTcpipShutdown(hWeb0); end TMain;