home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 August
/
PCWorld_2000-08_cd.bin
/
Software
/
TemaCD
/
xbasic
/
xbpro.exe
/
xb
/
xin.dec
< prev
next >
Wrap
Text File
|
2000-01-12
|
4KB
|
85 lines
TYPE SOCKET
XLONG .socket ' socket number of this socket
XLONG .remote ' remote socket connected to this socket
XLONG .syssocket ' socket number to operating system
XLONG .sysremote ' remote socket number to operating system
GIANT .address ' IP address this socket is bound to
XLONG .port ' port this socket is connected to
XLONG .whomask ' whomask of program that owns this socket
XLONG .hostnumber ' host identifier for XinGetHostData()
XLONG .status ' socket status - see $$STATUS constants
XLONG .socketType ' type of socket - $$SOCK_STREAM
XLONG .addressType ' address type - $$AF_INET
XLONG .addressBytes ' bytes in address - 4 for short IP
XLONG .addressFamily ' address family - $$AF_INET
XLONG .protocolFamily ' protocol family - $$PF_INET
USHORT .protocol ' active protocol - $$TCP
USHORT .service ' service - $$FTP
END TYPE
'
TYPE HOST
STRING*32 .name ' "mhpcc.edu"
STRING*32 .alias[2] ' "mhpcc.net", "mhpcc.org", "mhpcc.com"
STRING*16 .system ' "Windows", "WindowsNT", "UNIX", "Linux"
GIANT .address ' 0x0104215C - can hold longer IP address
GIANT .addresses[7] ' host can support 8 more IP addresses
XLONG .hostnumber ' native host number
XLONG .addressBytes ' 4 for original IP addresses
XLONG .addressFamily ' $$AF_INET
XLONG .protocolFamily ' $$PF_INET
XLONG .protocol ' protocol # for "TCP"
XLONG .resv '
XLONG .resw '
XLONG .resx '
XLONG .resy '
XLONG .resz '
END TYPE
'
EXTERNAL FUNCTION Xin ( )
EXTERNAL FUNCTION XinInitialize (@base, @hosts, @version, @sockets, @comments$, @notes$)
EXTERNAL FUNCTION XinAddressNumberToString (addr$$, @addr$)
EXTERNAL FUNCTION XinAddressStringToNumber (addr$, @addr$$)
EXTERNAL FUNCTION XinHostNameToInfo (host$, HOST @info)
EXTERNAL FUNCTION XinHostNumberToInfo (hostnum, HOST @info)
EXTERNAL FUNCTION XinHostAddressToInfo (hostaddr, HOST @info)
EXTERNAL FUNCTION XinSocketOpen (@socket, addressFamily, socketType, flags)
EXTERNAL FUNCTION XinSocketBind (socket, block, address$$, port)
EXTERNAL FUNCTION XinSocketListen (socket, block, flags)
EXTERNAL FUNCTION XinSocketAccept (socket, block, @remote, flags)
EXTERNAL FUNCTION XinSocketConnectRequest (socket, block, address$$, port)
EXTERNAL FUNCTION XinSocketConnectStatus (socket, block, @connected)
EXTERNAL FUNCTION XinSocketGetAddress (socket, @port, @address$$, @remote, @port, @raddress$$)
EXTERNAL FUNCTION XinSocketGetStatus (socket, @remote, @syssocket, @syserror, @status, @socketType, @readbytes, @writebytes)
EXTERNAL FUNCTION XinSocketRead (socket, block, address, maxbytes, flags, @bytes)
EXTERNAL FUNCTION XinSocketWrite (socket, block, address, maxbytes, flags, @bytes)
EXTERNAL FUNCTION XinSocketClose (socket)
EXTERNAL FUNCTION XinSetDebug (state)
' $$NETWORKVERSION = 0x0202
' $$NETWORKVERSION = 0x0201
' $$NETWORKVERSION = 0x0200
$$NETWORKVERSION = 0x0101
'
' SOCKET.status bit definitions
'
$$SocketStatusOpenSuccess = 0x00000001 ' XinSocketOpen()
$$SocketStatusBindSuccess = 0x00000002 ' XinSocketBind()
$$SocketStatusListenSuccess = 0x00000004 ' XinSocketListen()
$$SocketStatusAcceptSuccess = 0x00000008 ' XinSocketAccept()
$$SocketStatusConnectRequest = 0x00000010 ' XinSocketConnect()
$$SocketStatusConnectSuccess = 0x00000020 ' XinSocketConnecting()
$$SocketStatusConnected = 0x00000040 ' clear on disconnect detect
$$SocketStatusRemote = 0x00000080 ' remote socket accepted by XinSocketAccept()
'
$$SocketStatusWaitingReadBuffer = 0x00000100 ' XinSocketRead()
$$SocketStatusWaitingWriteBuffer = 0x00000200 ' XinSocketWrite()
$$SocketStatusUndefined1 = 0x00000400
$$SocketStatusUndefined2 = 0x00000800
$$SocketStatusUndefined3 = 0x00001000
$$SocketStatusUndefined4 = 0x00002000
$$SocketStatusUndefined5 = 0x00004000
$$SocketStatusFailed = 0x00008000 ' network/socket failure
'
' flags argument in XinSocketRead()
'
$$SocketReadPeekData = 0x00000002 ' leave data in socket