PropTCP_SocketsLayer
Title: | PropTCP_SocketsLayer |
Author: | hdp |
Published: | Mon, 10 Dec 2007 02:26:00 GMT |
Ethernet TCP/IP Socket Layer Driver (IPv4) ------------------------------------------ Copyright (C) 2006 - 2007 Harrison Pham This file is part of PropTCP. PropTCP is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. PropTCP is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Object "driver_socket" Interface: PUB start(cs, sck, si, so, int, xtalout, macptr, ipconfigptr) : okay PUB stop PUB listen(port) PUB connect(ip1, ip2, ip3, ip4, remoteport, localport) PUB close(handle) PUB isConnected(handle) PUB isValidHandle(handle) PUB readByteNonBlocking(handle) : rxbyte PUB readByte(handle) : rxbyte PUB writeByteNonBlocking(handle, txbyte) PUB writeByte(handle, txbyte) PUB resetBuffers(handle) Program: 1,798 Longs Variable: 131 Longs _____________________________________________________________________ PUB start(cs, sck, si, so, int, xtalout, macptr, ipconfigptr) : okay Call this to launch the Telnet driver Only call this once, otherwise you will get conflicts macptr = HUB memory pointer (address) to 6 contiguous mac address bytes ipconfigptr = HUB memory pointer (address) to ip configuration block (20 bytes) Must be in order: ip_addr. ip_subnet, ip_gateway, ip_dns _________ PUB stop Stop the driver _________________ PUB listen(port) Sets up a socket for listening on a port Returns handle if available, -1 if none available Nonblocking _______________________________________________________ PUB connect(ip1, ip2, ip3, ip4, remoteport, localport) Connect to remote host Returns handle to new socket, -1 if no socket available Nonblocking __________________ PUB close(handle) Closes a connection ________________________ PUB isConnected(handle) Returns true if the socket is connected, false otherwise __________________________ PUB isValidHandle(handle) Checks to see if the handle is valid, handles will become invalid once they are used In other words, a closed listening socket is now invalid, etc _________________________________________ PUB readByteNonBlocking(handle) : rxbyte Read a byte from the specified socket Will not block (returns -1 if no byte avail) ______________________________ PUB readByte(handle) : rxbyte Read a byte from the specified socket Will block until a byte is received _________________________________________ PUB writeByteNonBlocking(handle, txbyte) Writes a byte to the specified socket Will not block (returns -1 if no buffer space available) ______________________________ PUB writeByte(handle, txbyte) Write a byte to the specified socket Will block until space is available for byte to be sent _________________________ PUB resetBuffers(handle) Resets send/receive buffers for the specified socket