Mindaugas Kavaliauskas b9836e09ef 2010-06-08 21:54 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ harbour/src/rtl/hbsockhb.c
    + added wrapper functions for Harbour socket API
      The list of exported functions is:
        HB_SOCKETGETERROR() --> nSocketError
        HB_SOCKETGETOSERROR() --> nOSError 
        HB_SOCKETERRORSTRING( [ nSocketErrror = hb_socketGetError() ] ) --> cError
        HB_SOCKETGETSOCKNAME( hSocket ) --> aAddr | NIL
        HB_SOCKETGETPEERNAME( hSocket ) --> aAddr | NIL
        HB_SOCKETOPEN( [ nDomain = HB_SOCKET_PF_INET ] , [ nType = HB_SOCKET_PT_STREAM ], [ nProtocol = 0 ] ) --> hSocket
        HB_SOCKETCLOSE( hSocket ) --> nSuccess
        HB_SOCKETSHUTDOWN( hSocket, [ nMode = HB_SOCKET_SHUT_RDWR ] ) --> nSuccess
        HB_SOCKETBIND( hSocket, aAddr ) --> nSuccess
        HB_SOCKETLISTEN( hSocket, [ iQueueLen = 10 ] ) --> nSuccess
        HB_SOCKETACCEPT( hSocket, [ @aAddr ], [ nTimeout = FOREVER ] ) --> nSuccess
        HB_SOCKETCONNECT( hSocket, aAddr, [ nTimeout = FOREVER ] ) --> nSuccess
        HB_SOCKETSEND( hSocket, cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], [ nTimeout = FOREVER ] ) --> nBytesSent
        HB_SOCKETSENDTO( hSocket, cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], aAddr, [ nTimeout = FOREVER ] ) --> nBytesSent
        HB_SOCKETRECV( hSocket, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], [ nTimeout = FOREVER ] ) --> nBytesRecv
        HB_SOCKETRECVFROM( hSocket, @cBuffer, [ nLen = LEN( cBuffer ) ], [ nFlags = 0 ], @aAddr, [ nTimeout = FOREVER ] ) --> nBytesRecv
        HB_SOCKETSETBLOCKINGIO( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETNODELAY( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETREUSEADDR( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETKEEPALIVE( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETBROADCAST( hSocket, lValue ) --> nSuccess
        HB_SOCKETSETSNDBUFSIZE( hSocket, nValue ) --> nSuccess
        HB_SOCKETSETRCVBUFSIZE( hSocket, nValue ) --> nSuccess
        HB_SOCKETGETSNDBUFSIZE( hSocket, @nValue ) --> nSuccess
        HB_SOCKETGETRCVBUFSIZE( hSocket, @nValue ) --> nSuccess
        HB_SOCKETSETMULTICAST( hSocket,  cAddr ) --> nSuccess
        HB_SOCKETSELECTREAD( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECTWRITE( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECTWRITEEX( hSocket,  [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETSELECT( aRead, lSetRead, aWrite, lSetWrite, aExcep, lSetExcep, [ nTimeout = FOREVER ] ) --> nRet
        HB_SOCKETRESOLVEINETADDR( cAddr, nPort ) --> aAddr | NIL
        HB_SOCKETRESOLVEADDR( cAddr, [ nFamily = HB_SOCKET_AF_INET ] ) --> cResolved
        HB_SOCKETGETHOSTS( cAddr, [ nFamily = HB_SOCKET_AF_INET ] ) --> aHosts
        HB_SOCKETGETIFACES( [ nFamily ], [ lNoAliases ] ) --> aIfaces

  + harbour/examples/udpds
  + harbour/examples/udpds/udpds.prg
    + added UDP Discovery Server sample

      This module demonstrates a simple UDP Discovery Server
     
      If you run some service on the network (ex., netio), you need to
      know server IP address and configure client to connect to this
      address. UDPDS helps client to find server address (or addresses
      of multiple servers) on local network. UDPDS should be run in
      parallel to real server (ex., netio). Server part of UDPDS uses
      threads, so, it should be compiled in MT mode.
     
      Server functions:
        UDPDS_Start( nPort, cName [, cVersion ] ) --> hServer
        UDPDS_Stop( hServer ) 
        
      Client function:
        UDPDS_Find( nPort, cName ) --> { {"ip_addr_1", "version_1"}, ... }

    ; Please add .hbc, .hbp files, if it is required. This module requires 
      only a standard harbour runtime library and MT VM.
2010-06-08 18:54:58 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%