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 >
Text File  |  2000-01-12  |  4KB  |  85 lines

  1. TYPE SOCKET
  2.     XLONG     .socket                        ' socket number of this socket
  3.     XLONG     .remote                        ' remote socket connected to this socket
  4.     XLONG     .syssocket                ' socket number to operating system
  5.     XLONG     .sysremote                ' remote socket number to operating system
  6.     GIANT     .address                    ' IP address this socket is bound to
  7.     XLONG     .port                            ' port this socket is connected to
  8.     XLONG     .whomask                    ' whomask of program that owns this socket
  9.     XLONG     .hostnumber                ' host identifier for XinGetHostData()
  10.     XLONG     .status                        ' socket status - see $$STATUS constants
  11.     XLONG     .socketType                ' type of socket - $$SOCK_STREAM
  12.     XLONG     .addressType            ' address type - $$AF_INET
  13.     XLONG     .addressBytes            ' bytes in address - 4 for short IP
  14.     XLONG     .addressFamily        ' address family - $$AF_INET
  15.     XLONG     .protocolFamily        ' protocol family - $$PF_INET
  16.     USHORT    .protocol                    ' active protocol - $$TCP
  17.     USHORT    .service                    ' service - $$FTP
  18. END TYPE
  19. '
  20. TYPE HOST
  21.     STRING*32 .name                            ' "mhpcc.edu"
  22.     STRING*32 .alias[2]                    ' "mhpcc.net", "mhpcc.org", "mhpcc.com"
  23.     STRING*16 .system                        ' "Windows", "WindowsNT", "UNIX", "Linux"
  24.     GIANT     .address                    ' 0x0104215C - can hold longer IP address
  25.     GIANT     .addresses[7]            ' host can support 8 more IP addresses
  26.     XLONG     .hostnumber                ' native host number
  27.     XLONG     .addressBytes            ' 4 for original IP addresses
  28.     XLONG     .addressFamily        ' $$AF_INET
  29.     XLONG     .protocolFamily        ' $$PF_INET
  30.     XLONG     .protocol                    ' protocol # for "TCP"
  31.     XLONG     .resv                            '
  32.     XLONG     .resw                            '
  33.     XLONG     .resx                            '
  34.     XLONG     .resy                            '
  35.     XLONG     .resz                            '
  36. END TYPE
  37. '
  38. EXTERNAL FUNCTION  Xin                      ( )
  39. EXTERNAL FUNCTION  XinInitialize            (@base, @hosts, @version, @sockets, @comments$, @notes$)
  40. EXTERNAL FUNCTION  XinAddressNumberToString (addr$$, @addr$)
  41. EXTERNAL FUNCTION  XinAddressStringToNumber (addr$, @addr$$)
  42. EXTERNAL FUNCTION  XinHostNameToInfo        (host$, HOST @info)
  43. EXTERNAL FUNCTION  XinHostNumberToInfo      (hostnum, HOST @info)
  44. EXTERNAL FUNCTION  XinHostAddressToInfo     (hostaddr, HOST @info)
  45. EXTERNAL FUNCTION  XinSocketOpen            (@socket, addressFamily, socketType, flags)
  46. EXTERNAL FUNCTION  XinSocketBind            (socket, block, address$$, port)
  47. EXTERNAL FUNCTION  XinSocketListen          (socket, block, flags)
  48. EXTERNAL FUNCTION  XinSocketAccept          (socket, block, @remote, flags)
  49. EXTERNAL FUNCTION  XinSocketConnectRequest  (socket, block, address$$, port)
  50. EXTERNAL FUNCTION  XinSocketConnectStatus   (socket, block, @connected)
  51. EXTERNAL FUNCTION  XinSocketGetAddress      (socket, @port, @address$$, @remote, @port, @raddress$$)
  52. EXTERNAL FUNCTION  XinSocketGetStatus       (socket, @remote, @syssocket, @syserror, @status, @socketType, @readbytes, @writebytes)
  53. EXTERNAL FUNCTION  XinSocketRead            (socket, block, address, maxbytes, flags, @bytes)
  54. EXTERNAL FUNCTION  XinSocketWrite           (socket, block, address, maxbytes, flags, @bytes)
  55. EXTERNAL FUNCTION  XinSocketClose           (socket)
  56. EXTERNAL FUNCTION  XinSetDebug              (state)
  57. '    $$NETWORKVERSION         = 0x0202
  58. '    $$NETWORKVERSION         = 0x0201
  59. '    $$NETWORKVERSION         = 0x0200
  60.     $$NETWORKVERSION         = 0x0101
  61. '
  62. ' SOCKET.status bit definitions
  63. '
  64.     $$SocketStatusOpenSuccess        = 0x00000001        ' XinSocketOpen()
  65.     $$SocketStatusBindSuccess        = 0x00000002        ' XinSocketBind()
  66.     $$SocketStatusListenSuccess      = 0x00000004        ' XinSocketListen()
  67.     $$SocketStatusAcceptSuccess      = 0x00000008        ' XinSocketAccept()
  68.     $$SocketStatusConnectRequest     = 0x00000010        ' XinSocketConnect()
  69.     $$SocketStatusConnectSuccess     = 0x00000020        ' XinSocketConnecting()
  70.     $$SocketStatusConnected          = 0x00000040        ' clear on disconnect detect
  71.     $$SocketStatusRemote             = 0x00000080        ' remote socket accepted by XinSocketAccept()
  72. '
  73.     $$SocketStatusWaitingReadBuffer  = 0x00000100        ' XinSocketRead()
  74.     $$SocketStatusWaitingWriteBuffer = 0x00000200        ' XinSocketWrite()
  75.     $$SocketStatusUndefined1         = 0x00000400
  76.     $$SocketStatusUndefined2         = 0x00000800
  77.     $$SocketStatusUndefined3         = 0x00001000
  78.     $$SocketStatusUndefined4         = 0x00002000
  79.     $$SocketStatusUndefined5         = 0x00004000
  80.     $$SocketStatusFailed             = 0x00008000        ' network/socket failure
  81. '
  82. ' flags argument in XinSocketRead()
  83. '
  84.     $$SocketReadPeekData             = 0x00000002        ' leave data in socket
  85.