Hi Przemek,

Do you see any problems renaming public HB_SOCKET_T to simply HB_SOCKET?

(at the same time in hbinet.c HB_SOCKET should be renamed to HB_SOCKET_STRUCT
to comply with other parts of Harbour (and avoid collision))

Brgds,
Viktor

On 2009.07.27., at 11:43, dru...@users.sourceforge.net wrote:

Revision: 11892
         
http://harbour-project.svn.sourceforge.net/harbour-project/?rev=11892&view=rev
Author:   druzus
Date:     2009-07-27 21:43:31 +0000 (Mon, 27 Jul 2009)

Log Message:
-----------
2009-07-27 23:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
 * harbour/include/hbstack.h
   + added socket error codes to HB_IOERRORS

 * harbour/include/Makefile
 + harbour/include/hbsocket.ch
 + harbour/include/hbsocket.h
 * harbour/source/rtl/Makefile
 + harbour/source/rtl/hbsocket.c
+ added new BSD socket functions: hb_socket*(). They should be quite close to low level C socket interface with few modifications which help to hide some platform differences. Unfortunately we do not use
     autoconf so I had to arbitrary set which features are available
on some platforms. In practice it means that it reduces portability
     to older OS-es, i.e. it should work with current Linux versions
but it will not without some modifications in macros used to control
     supported features with older Linuxes using kernel 2.2 or 2.0.
The same can happen with other *nix ports like Darwin, SunOS, HP-UX or with different versions of some Windows compilers. I also do not know which functionality is available in OS2 GCC ports and I would like to ask OS2 users to make tests and disable not working features.
     We also need tests with HP-UX, Darwin and SunOS.
IP6 support is enabled only in *nixes. If Windows users are interested in IP6 then please add support for it. Most of Windows compilers do
     not support standard POSIX functions so I do not want to make it
     myself using unknown for me API without testing.
     In *nix builds PF_UNIX/PF_LOCAL sockets are also supported.
     Support for other socket types can be easy added if someone is
     interested in them.
     The constant values used in hbsocket.ch are equal to original BSD
socket definitions. If it's necessary then it's possible to enable
     their translation inside hbsocket.c code though I do not think we
     will find such OS.
The list of hb_socket*() functions was designed to cover all existing functionality in hbinet.c and socket.c. Most of functions supports
     timeout parameter what effectively allows to hide direct select()
     usage.
     Please make test with real applications and report any problems
     with hb_inet*() functions you will find.

 * harbour/source/vm/hvm.c
   * minor cleanup

 * harbour/source/rtl/hbi18n1.c
   * cleaned variable name

 * harbour/source/rtl/hbinet.c
 * harbour/examples/uhttpd2/socket.c
 * harbour/contrib/hbssl/hbssl.c
   * updated to use hb_socket*() functions

 * harbour/include/hbextern.ch
* enabled HB_INET*() functions in DOS builds - they will simply return
     errors

 - harbour/include/hbapinet.h
   - removed old header file

 * harbour/source/pp/ppcore.c
! modified ENDTEXT marker to work also with comments in the same line
     It's more closer to Clipper though intentionally we are not fully
     CA-Cl*pper compatible here.

Modified Paths:
--------------
   trunk/harbour/ChangeLog
   trunk/harbour/contrib/hbssl/hbssl.c
   trunk/harbour/examples/uhttpd2/socket.c
   trunk/harbour/include/Makefile
   trunk/harbour/include/hbextern.ch
   trunk/harbour/include/hbstack.h
   trunk/harbour/source/pp/ppcore.c
   trunk/harbour/source/rtl/Makefile
   trunk/harbour/source/rtl/hbi18n1.c
   trunk/harbour/source/rtl/hbinet.c
   trunk/harbour/source/vm/hvm.c

Added Paths:
-----------
   trunk/harbour/include/hbsocket.ch
   trunk/harbour/include/hbsocket.h
   trunk/harbour/source/rtl/hbsocket.c

Removed Paths:
-------------
   trunk/harbour/include/hbapinet.h


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to