Commit Graph

9 Commits

Author SHA1 Message Date
Viktor Szakats
8d05b7906f 2010-06-10 19:29 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
  * include/hbsocket.ch
    * Minor corrections.
2010-06-10 17:30:22 +00:00
Viktor Szakats
8223f81fa6 2010-06-10 18:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcom.ch
    * Changed functions names to use proper camelcasing so that
      they also hold true for C level API.

  * include/hbsocket.ch
    + Readded .prg level function names to address array constant
      comment.
    + Added 'this is also used in C file' comment.

  * contrib/hbsms/hbsms.prg
    ! Fixed COM port reading function after last update.
      I finally restored original defaulting logic (instead of
      FETCHCHARS() method) which by default waits for 64 bytes
      and 5 seconds. Pls check me.
2010-06-10 16:45:33 +00:00
Mindaugas Kavaliauskas
508e2ec93f 2010-06-10 19:12 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/examples/httpsrv/uhttpd.prg
  * harbour/examples/uhttpd2/umain.prg
    * optimized hb_socketRecv() calls
    * optimized (removed) hb_socketSelect() calls, current API
      has timeout parameter and make things simple

  * harbour/examples/commouse/commouse.prg
    ! fixed error reporting (missing hb_comGetError()) parameter

  * harbour/include/hbsocket.ch
    * adjusted comment text

  * harbour/contrib/hbtpathy/telepath.prg
    ! fixed missing nTimeout parameter in tp_send()

  * harbour/source/rtl/hbcomhb.c
    ! fixed typo in hb_comSend()
    ! fixed hb_storni() paramter order bugs
2010-06-10 16:12:39 +00:00
Viktor Szakats
ea7e1d15b9 2010-06-09 23:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.ch
    + Added address info array positions.

  * src/rtl/hbsockhb.c
    - Deleted spaces @ EOL.

  * contrib/hbtpathy/telepath.prg
  * contrib/hbcomm/tests/test.prg
  * contrib/hbcomm/hbcomm.prg
  * contrib/hbsms/hbsms.prg
    ! Fixed HB_COMRECV() which requires a preallocated string
      to be passed.
      (no testing done, please review me, I'm almost sure I've
      made mistakes here)

  * examples/httpsrv/uhttpd.hbp
  * examples/httpsrv/uhttpd.prg
  - examples/httpsrv/socket.c
    + Changed to use new natic SOCKET API.
2010-06-09 21:38:32 +00:00
Przemyslaw Czerpak
864974ae82 2010-06-09 12:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/hbsocket.c
  * harbour/include/hbsocket.ch
    ! cleaned a little bit HB_SOCKET_AF_*/HB_SOCKET_PF_* usage to not confuse
      other developers and users.
2010-06-09 10:55:49 +00:00
Viktor Szakats
2fa7ba29cf 2010-06-03 16:43 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* package/winuni/mpkg_win_uni.nsi
    * 2.0 -> 2.1

  * src/hbextern/hbextern.prg
  * src/pp/pplib.c
  * src/pp/ppcore.c
  * src/pp/pplib2.c
  * src/pp/hbpp.c
  * src/pp/pplib3.c
  * src/main/harbour.c
  * src/debug/dbgtwin.prg
  * src/debug/dbghelp.prg
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtmitm.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgbrwsr.prg
  * src/debug/dbgmenu.prg
  * src/debug/dbgthsh.prg
  * src/debug/tbrwtext.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgtinp.prg
  * src/common/hbgete.c
  * src/common/hbffind.c
  * src/common/hbver.c
  * src/common/hbwin.c
  * src/common/hbtrace.c
  * src/common/funcid.c
  * src/common/hbfsapi.c
  * src/common/hbprintf.c
  * src/common/hbverdsp.c
  * src/common/hbwince.c
  * src/common/hbfopen.c
  * src/common/expropt1.c
  * src/common/hbstr.c
  * src/common/expropt2.c
  * src/common/hbdate.c
  * src/common/hbmem.c
  * src/common/strwild.c
  * src/common/hbhash.c
  * src/nortl/nortl.c
  * src/macro/macro.yyc
  * src/macro/macro.y
  * src/macro/macrolex.c
  * src/compiler/compi18n.c
  * src/compiler/hbmain.c
  * src/compiler/ppcomp.c
  * src/compiler/hbfix.c
  * src/compiler/cmdcheck.c
  * src/compiler/hbdbginf.c
  * src/compiler/hbpcode.c
  * src/compiler/genhrb.c
  * src/compiler/complex.c
  * src/compiler/hbdead.c
  * src/compiler/hbcomp.c
  * src/compiler/genobj32.c
  * src/compiler/genc.c
  * src/compiler/hbopt.c
  * src/compiler/hbident.c
  * src/compiler/hbusage.c
  * src/compiler/gencc.c
  * src/compiler/hbcmplib.c
  * src/compiler/hblbl.c
  * src/compiler/harbour.yyc
  * src/compiler/hbstripl.c
  * src/compiler/harbour.y
  * src/compiler/hbfunchk.c
  * src/compiler/hbgenerr.c
  * include/hbpp.h
  * include/set.ch
  * include/achoice.ch
  * include/hbrdddbf.h
  * include/hbstdgen.ch
  * include/hbvmpub.h
  * include/hbgtinfo.ch
  * include/vm.api
  * include/hbpcode.h
  * include/hbset.h
  * include/hbver.h
  * include/hbtrace.h
  * include/extend.api
  * include/hbapicdp.h
  * include/hbrddnsx.h
  * include/button.ch
  * include/hbstack.h
  * include/item.api
  * include/inkey.ch
  * include/hbapilng.h
  * include/hbhrb.ch
  * include/tbrowse.ch
  * include/common.ch
  * include/rdd.api
  * include/gt.api
  * include/hbgtcore.h
  * include/dbinfo.ch
  * include/hbundoc.api
  * include/hbapifs.h
  * include/hbtask.h
  * include/hbsetup.ch
  * include/hbwince.h
  * include/hbvmopt.h
  * include/hb_io.h
  * include/hbthread.h
  * include/hbxvm.h
  * include/setcurs.ch
  * include/hbdefs.h
  * include/hbmsgreg.h
  * include/dbedit.ch
  * include/hblang.ch
  * include/filesys.api
  * include/hbdebug.ch
  * include/hbextcdp.ch
  * include/hbsetup.h
  * include/hbmacro.h
  * include/hbzlib.ch
  * include/hbinit.h
  * include/hbtypes.h
  * include/hbmacro.ch
  * include/hbusrrdd.ch
  * include/hbrddsdf.h
  * include/hbgtreg.h
  * include/hbwinuni.h
  * include/hbapi.h
  * include/simpleio.ch
  * include/hbmemory.ch
  * include/hbpers.ch
  * include/error.ch
  * include/hb.ch
  * include/hbapiitm.h
  * include/hbmath.h
  * include/hbmath.ch
  * include/memoedit.ch
  * include/hbvmint.h
  * include/hbver.ch
  * include/fileio.ch
  * include/rddsys.ch
  * include/hbrddntx.h
  * include/hbapicom.h
  * include/hbatomic.h
  * include/extend.h
  * include/hbznet.h
  * include/hbvm.h
  * include/std.ch
  * include/hbapidbg.h
  * include/hbmemvar.ch
  * include/hbcomp.h
  * include/hbapirdd.h
  * include/hbextlng.ch
  * include/color.ch
  * include/hbcompdf.h
  * include/hbclass.ch
  * include/hbsxdef.ch
  * include/hbmather.h
  * include/dbstruct.ch
  * include/hbsocket.ch
  * include/hbdyn.ch
  * include/hbrdddel.h
  * include/hbtrace.ch
  * include/error.api
  * include/hbapistr.h
  * include/hbwmain.c
  * include/hbexpra.c
  * include/hbexprop.h
  * include/hbiniseg.h
  * include/hbgfx.ch
  * include/hbsocket.h
  * include/hbchksum.h
  * include/hbdbf.h
  * include/hbbfish.h
  * include/hbdbsort.h
  * include/hbcdpreg.h
  * include/hbapigt.h
  * include/hbfloat.h
  * include/hbgfxdef.ch
  * include/hbsix.ch
  * include/hbextern.ch
  * include/hbapicls.h
  * include/hberrors.h
  * include/directry.ch
  * include/clipdefs.h
  * include/hboo.ch
  * include/box.ch
  * include/hbinkey.ch
  * include/hbapierr.h
  * include/hbhash.h
  * include/assert.ch
  * include/hbassert.h
  * include/getexit.ch
  * include/reserved.ch
  * include/hbregex.h
  * include/fm.api
  * include/hbthread.ch
  * include/hbexprb.c
  * include/ord.ch
  * include/hbdate.h
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-03 14:48:23 +00:00
Przemyslaw Czerpak
87cff88914 2010-02-20 18:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/task.c
    ! fixed casting for C++ builds

  * harbour/src/lang/msges.c
    ! added hack for Solaris builds where ES is macro
      TODDO: sync names of lang and corresponding code modules.

  * harbour/src/vm/dynlibhb.c
    * pacified warning

  * harbour/contrib/xpp/xppextrn.ch
  * harbour/contrib/xpp/dbcmdx.c
  * harbour/include/hbextern.ch
  * harbour/src/rdd/dbcmd53.c
    ! moved ordWildSeek() from XPP to HBRDD library.
      I have no idea if XPP has such function or if it's or not
      compatible with ORDWILDSEEK() functions I created for [x]Harbour
    * disable ordCount() and ordWildSeek() functions when HB_CLP_STRICT
      macro is set

  * harbour/include/hbsocket.ch
    + added macro values interface info flags: HB_SOCKET_IFF_*
    + added macro values for interface info array indexes: HB_SOCKET_IFINFO_*

  * harbour/include/hbsocket.h
  * harbour/src/rtl/hbsocket.c
    + added new C function:
         PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases );
      it returns array with existing interfaces description.
      This code was added for non MS-Windows based platforms only.
      Support for MS-Windows has to be added yet.
      Some platforms may not fill all fields in the returned array.
      When some fields are not supported by platform or interface then
      they can contain NIL value.
      On some platforms this code can effectively work only with IP4
      interfaces and IP6 ones will need different implementation.
      TODO: add support for alternative long interface introduced in some
            new systems using 'struct lifreq' with SIOCGLIF* ioctls instead
            of 'struct ifreq' and SIOCGIF*
      TODO: add support for extracting hardware addreses (i.e. ethernet
            macaddresses) for systems which do not support SIOCGIFHWADDR.

      Please test this code with OS2 using OpenWatcom and GCC (old and
      new socket API). I enabled HB_HAS_SOCKADDR_SA_LEN in OS2 builds.
      OpenWatocm OS2 header files have such fields but I do know if it's
      also present in GCC socket API.

  * harbour/include/hbextern.ch
  * harbour/src/rtl/hbinet.c
    + added new PRG function:
         hb_inetIfInfo( [<lNoAliases>] [, <nAddrFamily>] ) -> <aInfo>
      <lNoAliases> is .F. by default so aliases are included
      <nAddrFamily> is HB_SOCKET_AF_INET by default
      <aInfo> is an array in which each entry is also array with the
      following fields:
         HB_SOCKET_IFINFO_FAMILY    1     // adress family
         HB_SOCKET_IFINFO_NAME      2     // interface name
         HB_SOCKET_IFINFO_FLAGS     3     // flags HB_SOCKET_IFF_*
         HB_SOCKET_IFINFO_ADDR      4     // interface address
         HB_SOCKET_IFINFO_NETMASK   5     // subnetmask
         HB_SOCKET_IFINFO_BROADCAST 6     // broadcast address
         HB_SOCKET_IFINFO_P2PADDR   7     // point-to-point address
         HB_SOCKET_IFINFO_HWADDR    8     // hardware address

      Please use this code on different non MS-Windows platforms:

            proc main( noAlias )
               local iface
               ? os(), version()
               ? "interfaces:"
               for each iface in hb_inetIfInfo( !empty( noAlias ), 0 )
                  ? hb_valToExp( iface )
               next
               ?
            return

      and check if it returns correct information about available
      interfaces.
2010-02-20 17:07:00 +00:00
Viktor Szakats
86fc847f7c 2009-07-28 13:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsocket.ch
  * include/hbsocket.h
  * source/rtl/hbsocket.c
  * source/rtl/hbinet.c
  * examples/uhttpd2/socket.c
  * examples/httpsrv/socket.c
    * Slightly renamed some constants to settle on a common
      prefix for all socket related ones: HB_SOCKET_*
      HB_SOCK_PF_*      -> HB_SOCKET_PF_*
      HB_SOCK_AF_*      -> HB_SOCKET_AF_*
      HB_SOCK_*         -> HB_SOCKET_PT_* (for protocol types)
      HB_SOCK_IPPROTO_* -> HB_SOCKET_IPPROTO_*
      HB_SOCK_SHUT_*    -> HB_SOCKET_SHUT_*
      HB_SOCK_FUNC      -> HB_SOCKET_FUNC

  * contrib/hbtip/thtml.prg
    * Minor formatting.
2009-07-28 11:56:55 +00:00
Przemyslaw Czerpak
2abefe1b3e 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.
2009-07-27 21:43:31 +00:00