diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ab5fe0942b..6757beab31 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,58 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-27 14:42 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * contrib/xhb/Makefile + - contrib/xhb/hbcompat.prg + + contrib/xhb/xhbfunp.prg + * Renamed. + + * contrib/xhb/Makefile + * contrib/xhb/xhbmt.prg + + contrib/xhb/xhbmtc.c + * contrib/xhb/xhbfunp.prg + % Some .prg wrappers changed to .c ones. + ! This also fixed some double implementation + after previous commit. + + * contrib/xhb/xhbarr.c + * contrib/xhb/xhbfunp.prg + % Converted RASCAN wrapper to .c and moved to + existing array wrapper source file. + + * contrib/xhb/Makefile + * contrib/xhb/xhbfunc.c + + contrib/xhb/xhbhash.c + % Moved hash wrappers to separate file. + (also synced with xhbfunp.prg content) + - Deleted special macro to disable these wrappers. + + * contrib/xhb/Makefile + * contrib/xhb/xhbfunc.c + + contrib/xhb/xhbinet.c + % Moved inet function wrappers to separate file. + (also synced with xhbfunp.prg content) + - Deleted special macro to disable these wrappers. + + * contrib/xhb/Makefile + * contrib/xhb/xhbfunp.prg + + contrib/xhb/xhbgt.c + + contrib/xhb/xhbini.c + + contrib/xhb/xhbproc.c + + contrib/xhb/xhbregx.c + + contrib/xhb/xhbmtc.c + + contrib/xhb/xhbfs.c + + contrib/xhb/xhbdate.c + + contrib/xhb/xhbi18n.c + % Rewritten wrappers in .c and moved them to + separate files. + + ; Few other double definitions fixed after previous commit. + Hopefully now it's optimal and modular, and the best wrappers + were kept. + ; Basically hbcompat.ch is now not of too much use, unless + someone specifically want to avoid linking xhb. + 2010-05-27 12:58 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/Makefile + contrib/xhb/hbcompat.prg @@ -27,8 +79,8 @@ - doesn't require modification of app source code. - doesn't require knowledge about hbcompat.ch. and disadvantages: - - is slightly slower - - will pull unnecessary code parts into the executable + - is slightly slower [DONE] + - will pull unnecessary code parts into the executable [DONE] If this change gets positive feedback, the two disadvantages can be easily mitigated by splitting hbcompat.prg into multiple .prg sources and replacing diff --git a/harbour/contrib/xhb/Makefile b/harbour/contrib/xhb/Makefile index ba699bf840..e7640a8bae 100644 --- a/harbour/contrib/xhb/Makefile +++ b/harbour/contrib/xhb/Makefile @@ -27,12 +27,22 @@ C_SOURCES := \ xhbarr.c \ xhbat.c \ xhbcopyf.c \ + xhbdate.c \ xhbenum.c \ xhberrc.c \ + xhbfs.c \ xhbfunc.c \ + xhbgt.c \ + xhbhash.c \ + xhbi18n.c \ + xhbinet.c \ + xhbini.c \ xhbis.c \ xhbmsgs.c \ + xhbmtc.c \ xhbqself.c \ + xhbproc.c \ + xhbregx.c \ xhbsave.c \ xhbscr.c \ xhbtrim.c \ @@ -53,7 +63,6 @@ PRG_SOURCES := \ dirrec.prg \ diskhb.prg \ dumpvar.prg \ - hbcompat.prg \ hblog.prg \ hblognet.prg \ hbstruct.prg \ @@ -69,6 +78,7 @@ PRG_SOURCES := \ xdbmodst.prg \ xhbcomp.prg \ xhberr.prg \ + xhbfunp.prg \ xhbmt.prg \ xhbver.prg \ xthrow.prg \ diff --git a/harbour/contrib/xhb/hbcompat.prg b/harbour/contrib/xhb/hbcompat.prg deleted file mode 100644 index 116e053364..0000000000 --- a/harbour/contrib/xhb/hbcompat.prg +++ /dev/null @@ -1,243 +0,0 @@ -/* - * $Id$ - */ - -/* - * Harbour Project source code: - * xhb compatibility wrappers. - * - * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) - * www - http://www.harbour-project.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * - * As a special exception, the Harbour Project gives permission for - * additional uses of the text contained in its release of Harbour. - * - * The exception is that, if you link the Harbour libraries with other - * files to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the Harbour library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the Harbour - * Project under the name Harbour. If you copy code from other - * Harbour Project or Free Software Foundation releases into a copy of - * Harbour, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for Harbour, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - */ - -#include "common.ch" - -#include "hbgtinfo.ch" - -FUNCTION gtSetClipboard( x ) ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDDATA, x ) -FUNCTION gtGetClipboard() ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDDATA ) -FUNCTION gtGetClipBoardSize() ; RETURN Len( hb_gtInfo( HB_GTI_CLIPBOARDDATA ) ) -FUNCTION gtPasteClipBoard() ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) -FUNCTION gtProcessMessages() ; RETURN NextKey() -FUNCTION gfxPrimitive( ... ) ; RETURN hb_gfxPrimitive( ... ) -FUNCTION gfxText( ... ) ; RETURN hb_gfxText( ... ) - -FUNCTION hb_openProcess( ... ) ; RETURN hb_processOpen( ... ) -FUNCTION hb_closeProcess( ... ) ; RETURN hb_processClose( ... ) - -FUNCTION hb_isregexstring( x ) ; RETURN hb_isregex( x ) -FUNCTION pvalue( ... ) ; RETURN hb_pvalue( ... ) -FUNCTION methodName( ... ) ; RETURN hb_methodName( ... ) -FUNCTION libLoad( ... ) ; RETURN hb_libLoad( ... ) -FUNCTION libFree( ... ) ; RETURN hb_libFree( ... ) -FUNCTION hb_checksum( ... ) ; RETURN hb_adler32( ... ) -FUNCTION setLastKey( ... ) ; RETURN hb_setLastKey( ... ) -FUNCTION CStr( ... ) ; RETURN hb_CStr( ... ) -FUNCTION ValToPrgExp( ... ) ; RETURN hb_valToExp( ... ) -FUNCTION IsDirectory( x ) ; RETURN hb_dirExists( x ) -FUNCTION SecondsSleep( ... ) ; RETURN hb_idleSleep( ... ) -FUNCTION NetName( n ) ; RETURN iif( hb_isNumeric( n ) .AND. n == 1, hb_UserName(), NetName() ) -FUNCTION FileSize( x ) ; RETURN hb_FSize( x ) -FUNCTION WildMatch( ... ) ; RETURN hb_WildMatch( ... ) -FUNCTION hb_DeserialNext( x ) ; RETURN hb_Deserialize( x ) -FUNCTION hb_funcptr( x ) ; RETURN __dynsn2sym( x ) - -FUNCTION HexToNum( ... ) ; RETURN hb_HexToNum( ... ) -FUNCTION NumToHex( ... ) ; RETURN hb_NumToHex( ... ) -FUNCTION HexToStr( ... ) ; RETURN hb_HexToStr( ... ) -FUNCTION StrToHex( ... ) ; RETURN hb_StrToHex( ... ) - -FUNCTION ISPOINTER( x ) ; RETURN hb_ISPOINTER( x ) - -FUNCTION hb_SetIniComment( ... ) ; RETURN hb_IniSetComment( ... ) -FUNCTION hb_ReadIni( ... ) ; RETURN hb_IniRead( ... ) -FUNCTION hb_WriteIni( ... ) ; RETURN hb_IniWrite( ... ) - -FUNCTION DisableWaitLocks( x ) ; RETURN hb_DisableWaitLocks( x ) - -FUNCTION HBCONSOLELOCK() ; RETURN hb_gtLock() -FUNCTION HBCONSOLEUNLOCK() ; RETURN hb_gtUnLock() - -FUNCTION hb_CMDARGARGV( ... ) ; RETURN hb_ARGV( ... ) - -FUNCTION RAScan( ... ) ; RETURN hb_RAScan( ... ) - -FUNCTION DateTime() ; RETURN hb_DateTime() -FUNCTION Hour( x ) ; RETURN hb_Hour( x ) -FUNCTION Minute( x ) ; RETURN hb_Minute( x ) -FUNCTION TToS( x ) ; RETURN hb_TToS( x ) -FUNCTION SToT( x ) ; RETURN hb_SToT( x ) -FUNCTION TToC( ... ) ; RETURN hb_TToC( ... ) -FUNCTION CToT( ... ) ; RETURN hb_CToT( ... ) - -FUNCTION GetEnv( ... ) ; RETURN hb_GetEnv( ... ) -FUNCTION SetKey( ... ) ; RETURN hb_SetKey( ... ) - -FUNCTION i18n( x ) ; RETURN hb_i18n_gettext( x ) - -FUNCTION hb_SetCodepage( ... ) ; RETURN hb_cdpSelect( ... ) - -/* MT functions */ -FUNCTION hb_MultiThread() ; RETURN hb_mtvm() -FUNCTION GetCurrentThread() ; RETURN hb_threadSelf() -FUNCTION GetThreadId( ... ) ; RETURN hb_threadId( ... ) -FUNCTION ThreadGetCurrentInternal() ; RETURN hb_threadId() -FUNCTION IsSameThread( x, y ) ; RETURN hb_threadId( x ) == hb_threadId( y ) -FUNCTION IsValidThread( x ) ; RETURN hb_threadId( x ) != 0 -FUNCTION JoinThread( x ) ; RETURN hb_threadJoin( x ) -FUNCTION KillThread( x ) ; RETURN hb_threadQuitRequest( x ) -FUNCTION StopThread( x ) ; hb_threadQuitRequest( x ) ; RETURN hb_threadJoin( x ) -FUNCTION KillAllThreads() ; RETURN hb_threadTerminateAll() -FUNCTION WaitForThreads() ; RETURN hb_threadWaitForAll() - -FUNCTION ThreadSleep( x ) ; RETURN hb_idleSleep( x / 1000 ) - -FUNCTION DestroyMutex( x ) ; HB_SYMBOL_UNUSED( x ) ; RETURN NIL - -FUNCTION hb_MutexTryLock( x ) ; RETURN hb_mutexLock( x, 0 ) -FUNCTION hb_MutexTimeOutLock( x, n ) ; RETURN hb_mutexLock( x, iif( hb_isNumeric( n ), n / 1000, 0 ) ) - -FUNCTION Notify( ... ) ; RETURN hb_mutexNotify( ... ) -FUNCTION NotifyAll( ... ) ; RETURN hb_mutexNotifyAll( ... ) - -FUNCTION Subscribe( ... ) - RETURN {| mtx, nTimeOut, lSubscribed | - local xSubscribed - lSubscribed := hb_mutexSubscribe( mtx, iif( hb_isNumeric( nTimeOut ), nTimeOut / 1000, ), @xSubscribed ) - return xSubscribed - }:eval( ... ) - -FUNCTION SubscribeNow( ... ) - RETURN {| mtx, nTimeOut, lSubscribed | - local xSubscribed - lSubscribed := hb_mutexSubscribeNow( mtx, iif( hb_isNumeric( nTimeOut ), nTimeOut / 1000, ), @xSubscribed ) - return xSubscribed - }:eval( ... ) - -FUNCTION StartThread( x, y, ... ) - - IF PCount() == 1 - RETURN hb_threadStart( x ) - ENDIF - - RETURN iif( ISOBJECT( x ) .AND. hb_isString( y ), ; - hb_threadStart( {|...| (x):&(y)( ... ) }, ... ), ; - hb_threadStart( x, y, ... ) ) - -/* not possible to well replicate xHarbour behavior because it's buggy - these function results are different on different platform, chosen - translation which returns compatible types (numeric) */ -FUNCTION ThreadGetCurrent() ; RETURN hb_threadId() -FUNCTION GetSystemThreadId( ... ) ; RETURN hb_threadId( ... ) - -/* Hash item functions */ -FUNCTION HASH( ... ) ; RETURN hb_HASH( ... ) -FUNCTION HHASKEY( ... ) ; RETURN hb_HHASKEY( ... ) -FUNCTION HGETPOS( ... ) ; RETURN hb_HPOS( ... ) -FUNCTION HGET( ... ) ; RETURN hb_HGET( ... ) -FUNCTION HSET( ... ) ; RETURN hb_HSET( ... ) -FUNCTION HDEL( ... ) ; RETURN hb_HDEL( ... ) -FUNCTION HGETKEYAT( ... ) ; RETURN hb_HKEYAT( ... ) -FUNCTION HGETVALUEAT( ... ) ; RETURN hb_HVALUEAT( ... ) -FUNCTION HSETVALUEAT( ... ) ; RETURN hb_HVALUEAT( ... ) -FUNCTION HGETPAIRAT( ... ) ; RETURN hb_HPAIRAT( ... ) -FUNCTION HDELAT( ... ) ; RETURN hb_HDELAT( ... ) -FUNCTION HGETKEYS( ... ) ; RETURN hb_HKEYS( ... ) -FUNCTION HGETVALUES( ... ) ; RETURN hb_HVALUES( ... ) -FUNCTION HFILL( ... ) ; RETURN hb_HFILL( ... ) -FUNCTION HCLONE( ... ) ; RETURN hb_HCLONE( ... ) -FUNCTION HCOPY( ... ) ; RETURN hb_HCOPY( ... ) -FUNCTION HMERGE( ... ) ; RETURN hb_HMERGE( ... ) -FUNCTION HEVAL( ... ) ; RETURN hb_HEVAL( ... ) -FUNCTION HSCAN( ... ) ; RETURN hb_HSCAN( ... ) -FUNCTION HSETCASEMATCH( ... ) ; RETURN hb_HSETCASEMATCH( ... ) -FUNCTION HGETCASEMATCH( ... ) ; RETURN hb_HCASEMATCH( ... ) -FUNCTION HSETAUTOADD( ... ) ; RETURN hb_HSETAUTOADD( ... ) -FUNCTION HGETAUTOADD( ... ) ; RETURN hb_HAUTOADD( ... ) -FUNCTION HALLOCATE( ... ) ; RETURN hb_HALLOCATE( ... ) -FUNCTION HDEFAULT( ... ) ; RETURN hb_HDEFAULT( ... ) - -/* Inet functions */ -FUNCTION INETINIT( ... ) ; RETURN hb_INETINIT( ... ) -FUNCTION INETCLEANUP( ... ) ; RETURN hb_INETCLEANUP( ... ) -FUNCTION INETCREATE( ... ) ; RETURN hb_INETCREATE( ... ) -FUNCTION INETCLOSE( ... ) ; RETURN hb_INETCLOSE( ... ) -FUNCTION INETFD( ... ) ; RETURN hb_INETFD( ... ) -FUNCTION INETSTATUS( ... ) ; RETURN hb_INETSTATUS( ... ) -FUNCTION INETERRORCODE( ... ) ; RETURN hb_INETERRORCODE( ... ) -FUNCTION INETERRORDESC( ... ) ; RETURN hb_INETERRORDESC( ... ) -FUNCTION INETCLEARERROR( ... ) ; RETURN hb_INETCLEARERROR( ... ) -FUNCTION INETCOUNT( ... ) ; RETURN hb_INETCOUNT( ... ) -FUNCTION INETADDRESS( ... ) ; RETURN hb_INETADDRESS( ... ) -FUNCTION INETPORT( ... ) ; RETURN hb_INETPORT( ... ) -FUNCTION INETSETTIMEOUT( ... ) ; RETURN hb_INETTIMEOUT( ... ) -FUNCTION INETGETTIMEOUT( ... ) ; RETURN hb_INETTIMEOUT( ... ) -FUNCTION INETCLEARTIMEOUT( ... ) ; RETURN hb_INETCLEARTIMEOUT( ... ) -FUNCTION INETSETTIMELIMIT( ... ) ; RETURN hb_INETTIMELIMIT( ... ) -FUNCTION INETGETTIMELIMIT( ... ) ; RETURN hb_INETTIMELIMIT( ... ) -FUNCTION INETCLEARTIMELIMIT( ... ) ; RETURN hb_INETCLEARTIMELIMIT( ... ) -FUNCTION INETSETPERIODCALLBACK( ... ) ; RETURN hb_INETPERIODCALLBACK( ... ) -FUNCTION INETGETPERIODCALLBACK( ... ) ; RETURN hb_INETPERIODCALLBACK( ... ) -FUNCTION INETCLEARPERIODCALLBACK( ... ) ; RETURN hb_INETCLEARPERIODCALLBACK( ... ) -FUNCTION INETRECV( ... ) ; RETURN hb_INETRECV( ... ) -FUNCTION INETRECVALL( ... ) ; RETURN hb_INETRECVALL( ... ) -FUNCTION INETRECVLINE( ... ) ; RETURN hb_INETRECVLINE( ... ) -FUNCTION INETRECVENDBLOCK( ... ) ; RETURN hb_INETRECVENDBLOCK( ... ) -FUNCTION INETDATAREADY( ... ) ; RETURN hb_INETDATAREADY( ... ) -FUNCTION INETSEND( ... ) ; RETURN hb_INETSEND( ... ) -FUNCTION INETSENDALL( ... ) ; RETURN hb_INETSENDALL( ... ) -FUNCTION INETGETHOSTS( ... ) ; RETURN hb_INETGETHOSTS( ... ) -FUNCTION INETGETALIAS( ... ) ; RETURN hb_INETGETALIAS( ... ) -FUNCTION INETSERVER( ... ) ; RETURN hb_INETSERVER( ... ) -FUNCTION INETACCEPT( ... ) ; RETURN hb_INETACCEPT( ... ) -FUNCTION INETCONNECT( ... ) ; RETURN hb_INETCONNECT( ... ) -FUNCTION INETCONNECTIP( ... ) ; RETURN hb_INETCONNECTIP( ... ) -FUNCTION INETDGRAMBIND( ... ) ; RETURN hb_INETDGRAMBIND( ... ) -FUNCTION INETDGRAM( ... ) ; RETURN hb_INETDGRAM( ... ) -FUNCTION INETDGRAMSEND( ... ) ; RETURN hb_INETDGRAMSEND( ... ) -FUNCTION INETDGRAMRECV( ... ) ; RETURN hb_INETDGRAMRECV( ... ) -FUNCTION INETCRLF( ... ) ; RETURN hb_INETCRLF( ... ) -FUNCTION ISINETSOCKET( ... ) ; RETURN hb_INETISSOCKET( ... ) -FUNCTION INETDESTROY( x ) ; RETURN iif( HB_INETISSOCKET( x ), hb_INETCLOSE( x ), ) - -PROCEDURE THROW( oErr ) ; Eval( ErrorBlock(), oErr ) ; Break( oErr ) ; RETURN diff --git a/harbour/contrib/xhb/xhbarr.c b/harbour/contrib/xhb/xhbarr.c index 182d9e84f2..46e1f9cadf 100644 --- a/harbour/contrib/xhb/xhbarr.c +++ b/harbour/contrib/xhb/xhbarr.c @@ -285,4 +285,7 @@ HB_FUNC( XHB_AINS ) hb_itemReturn( pArray ); /* AIns() returns the array itself */ } + } + +HB_FUNC_EXTERN( HB_RASCAN ) ; HB_FUNC( RASCAN ) { HB_FUNC_EXEC( HB_RASCAN ); } diff --git a/harbour/contrib/xhb/xhbdate.c b/harbour/contrib/xhb/xhbdate.c new file mode 100644 index 0000000000..dfe043252e --- /dev/null +++ b/harbour/contrib/xhb/xhbdate.c @@ -0,0 +1,61 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_DATETIME ) ; HB_FUNC( DATETIME ) { HB_FUNC_EXEC( HB_DATETIME ); } +HB_FUNC_EXTERN( HB_HOUR ) ; HB_FUNC( HOUR ) { HB_FUNC_EXEC( HB_HOUR ); } +HB_FUNC_EXTERN( HB_MINUTE ) ; HB_FUNC( MINUTE ) { HB_FUNC_EXEC( HB_MINUTE ); } +HB_FUNC_EXTERN( HB_TTOS ) ; HB_FUNC( TTOS ) { HB_FUNC_EXEC( HB_TTOS ); } +HB_FUNC_EXTERN( HB_STOT ) ; HB_FUNC( STOT ) { HB_FUNC_EXEC( HB_STOT ); } +HB_FUNC_EXTERN( HB_TTOC ) ; HB_FUNC( TTOC ) { HB_FUNC_EXEC( HB_TTOC ); } +HB_FUNC_EXTERN( HB_CTOT ) ; HB_FUNC( CTOT ) { HB_FUNC_EXEC( HB_CTOT ); } diff --git a/harbour/contrib/xhb/xhbfs.c b/harbour/contrib/xhb/xhbfs.c new file mode 100644 index 0000000000..6c9e3c8e1d --- /dev/null +++ b/harbour/contrib/xhb/xhbfs.c @@ -0,0 +1,57 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_DIREXISTS ) ; HB_FUNC( ISDIRECTORY ) { HB_FUNC_EXEC( HB_DIREXISTS ); } +HB_FUNC_EXTERN( HB_FSIZE ) ; HB_FUNC( FILESIZE ) { HB_FUNC_EXEC( HB_FSIZE ); } +HB_FUNC_EXTERN( HB_DISABLEWAITLOCKS ) ; HB_FUNC( DISABLEWAITLOCKS ) { HB_FUNC_EXEC( HB_DISABLEWAITLOCKS ); } diff --git a/harbour/contrib/xhb/xhbfunc.c b/harbour/contrib/xhb/xhbfunc.c index c77da3790e..8b4962fbaf 100644 --- a/harbour/contrib/xhb/xhbfunc.c +++ b/harbour/contrib/xhb/xhbfunc.c @@ -7,6 +7,7 @@ * xHarbour compatible wrapper functions * * Copyright 2007 Przemyslaw Czerpak + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) * www - http://www.harbour-project.org * * This program is free software; you can redistribute it and/or modify @@ -297,147 +298,17 @@ HB_FUNC( HB_EXEC ) hb_errRT_BASE_SubstR( EG_ARG, 1099, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } -/* Hash utem functions */ -HB_FUNC_EXTERN( HB_HASH ); -HB_FUNC_EXTERN( HB_HHASKEY ); -HB_FUNC_EXTERN( HB_HPOS ); -HB_FUNC_EXTERN( HB_HGET ); -HB_FUNC_EXTERN( HB_HSET ); -HB_FUNC_EXTERN( HB_HDEL ); -HB_FUNC_EXTERN( HB_HKEYAT ); -HB_FUNC_EXTERN( HB_HVALUEAT ); -HB_FUNC_EXTERN( HB_HVALUEAT ); -HB_FUNC_EXTERN( HB_HPAIRAT ); -HB_FUNC_EXTERN( HB_HDELAT ); -HB_FUNC_EXTERN( HB_HKEYS ); -HB_FUNC_EXTERN( HB_HVALUES ); -HB_FUNC_EXTERN( HB_HFILL ); -HB_FUNC_EXTERN( HB_HCLONE ); -HB_FUNC_EXTERN( HB_HCOPY ); -HB_FUNC_EXTERN( HB_HMERGE ); -HB_FUNC_EXTERN( HB_HEVAL ); -HB_FUNC_EXTERN( HB_HSCAN ); -HB_FUNC_EXTERN( HB_HCASEMATCH ); -HB_FUNC_EXTERN( HB_HCASEMATCH ); -HB_FUNC_EXTERN( HB_HAUTOADD ); -HB_FUNC_EXTERN( HB_HAUTOADD ); -HB_FUNC_EXTERN( HB_HALLOCATE ); -HB_FUNC_EXTERN( HB_HDEFAULT ); - -HB_FUNC( HASH ) { HB_FUNC_EXEC( HB_HASH ); } -HB_FUNC( HHASKEY ) { HB_FUNC_EXEC( HB_HHASKEY ); } -HB_FUNC( HGETPOS ) { HB_FUNC_EXEC( HB_HPOS ); } -HB_FUNC( HGET ) { HB_FUNC_EXEC( HB_HGET ); } -HB_FUNC( HSET ) { HB_FUNC_EXEC( HB_HSET ); } -HB_FUNC( HDEL ) { HB_FUNC_EXEC( HB_HDEL ); } -HB_FUNC( HGETKEYAT ) { HB_FUNC_EXEC( HB_HKEYAT ); } -HB_FUNC( HGETVALUEAT ) { HB_FUNC_EXEC( HB_HVALUEAT ); } -HB_FUNC( HSETVALUEAT ) { HB_FUNC_EXEC( HB_HVALUEAT ); } -HB_FUNC( HGETPAIRAT ) { HB_FUNC_EXEC( HB_HPAIRAT ); } -HB_FUNC( HDELAT ) { HB_FUNC_EXEC( HB_HDELAT ); } -HB_FUNC( HGETKEYS ) { HB_FUNC_EXEC( HB_HKEYS ); } -HB_FUNC( HGETVALUES ) { HB_FUNC_EXEC( HB_HVALUES ); } -HB_FUNC( HFILL ) { HB_FUNC_EXEC( HB_HFILL ); } -HB_FUNC( HCLONE ) { HB_FUNC_EXEC( HB_HCLONE ); } -HB_FUNC( HCOPY ) { HB_FUNC_EXEC( HB_HCOPY ); } -HB_FUNC( HMERGE ) { HB_FUNC_EXEC( HB_HMERGE ); } -HB_FUNC( HEVAL ) { HB_FUNC_EXEC( HB_HEVAL ); } -HB_FUNC( HSCAN ) { HB_FUNC_EXEC( HB_HSCAN ); } -HB_FUNC( HSETCASEMATCH ) { HB_FUNC_EXEC( HB_HCASEMATCH ); hb_itemReturn( hb_param( 1, HB_IT_HASH ) ); } -HB_FUNC( HGETCASEMATCH ) { HB_FUNC_EXEC( HB_HCASEMATCH ); } -HB_FUNC( HSETAUTOADD ) { HB_FUNC_EXEC( HB_HAUTOADD ); hb_itemReturn( hb_param( 1, HB_IT_HASH ) ); } -HB_FUNC( HGETAUTOADD ) { HB_FUNC_EXEC( HB_HAUTOADD ); hb_retl( hb_parni( -1 ) == HB_HASH_AUTOADD_ALWAYS ); } -HB_FUNC( HALLOCATE ) { HB_FUNC_EXEC( HB_HALLOCATE ); } -HB_FUNC( HDEFAULT ) { HB_FUNC_EXEC( HB_HDEFAULT ); } - -#if defined( HB_OS_DOS ) && !defined( HB_NO_DEFAULT_INET ) -# define HB_NO_DEFAULT_INET -#endif - -#if !defined( HB_NO_DEFAULT_INET ) - -/* Inet*() functions */ -HB_FUNC_EXTERN( HB_INETINIT ); -HB_FUNC_EXTERN( HB_INETCLEANUP ); -HB_FUNC_EXTERN( HB_INETCREATE ); -HB_FUNC_EXTERN( HB_INETCLOSE ); -HB_FUNC_EXTERN( HB_INETFD ); -HB_FUNC_EXTERN( HB_INETSTATUS ); -HB_FUNC_EXTERN( HB_INETERRORCODE ); -HB_FUNC_EXTERN( HB_INETERRORDESC ); -HB_FUNC_EXTERN( HB_INETCLEARERROR ); -HB_FUNC_EXTERN( HB_INETCOUNT ); -HB_FUNC_EXTERN( HB_INETADDRESS ); -HB_FUNC_EXTERN( HB_INETPORT ); -HB_FUNC_EXTERN( HB_INETTIMEOUT ); -HB_FUNC_EXTERN( HB_INETTIMEOUT ); -HB_FUNC_EXTERN( HB_INETCLEARTIMEOUT ); -HB_FUNC_EXTERN( HB_INETTIMELIMIT ); -HB_FUNC_EXTERN( HB_INETTIMELIMIT ); -HB_FUNC_EXTERN( HB_INETCLEARTIMELIMIT ); -HB_FUNC_EXTERN( HB_INETPERIODCALLBACK ); -HB_FUNC_EXTERN( HB_INETPERIODCALLBACK ); -HB_FUNC_EXTERN( HB_INETCLEARPERIODCALLBACK ); -HB_FUNC_EXTERN( HB_INETRECV ); -HB_FUNC_EXTERN( HB_INETRECVALL ); -HB_FUNC_EXTERN( HB_INETRECVLINE ); -HB_FUNC_EXTERN( HB_INETRECVENDBLOCK ); -HB_FUNC_EXTERN( HB_INETDATAREADY ); -HB_FUNC_EXTERN( HB_INETSEND ); -HB_FUNC_EXTERN( HB_INETSENDALL ); -HB_FUNC_EXTERN( HB_INETGETHOSTS ); -HB_FUNC_EXTERN( HB_INETGETALIAS ); -HB_FUNC_EXTERN( HB_INETSERVER ); -HB_FUNC_EXTERN( HB_INETACCEPT ); -HB_FUNC_EXTERN( HB_INETCONNECT ); -HB_FUNC_EXTERN( HB_INETCONNECTIP ); -HB_FUNC_EXTERN( HB_INETDGRAMBIND ); -HB_FUNC_EXTERN( HB_INETDGRAM ); -HB_FUNC_EXTERN( HB_INETDGRAMSEND ); -HB_FUNC_EXTERN( HB_INETDGRAMRECV ); -HB_FUNC_EXTERN( HB_INETCRLF ); -HB_FUNC_EXTERN( HB_INETISSOCKET ); - -HB_FUNC( INETINIT ) { HB_FUNC_EXEC( HB_INETINIT ); } -HB_FUNC( INETCLEANUP ) { HB_FUNC_EXEC( HB_INETCLEANUP ); } -HB_FUNC( INETCREATE ) { HB_FUNC_EXEC( HB_INETCREATE ); } -HB_FUNC( INETCLOSE ) { HB_FUNC_EXEC( HB_INETCLOSE ); } -HB_FUNC( INETFD ) { HB_FUNC_EXEC( HB_INETFD ); } -HB_FUNC( INETSTATUS ) { HB_FUNC_EXEC( HB_INETSTATUS ); } -HB_FUNC( INETERRORCODE ) { HB_FUNC_EXEC( HB_INETERRORCODE ); } -HB_FUNC( INETERRORDESC ) { HB_FUNC_EXEC( HB_INETERRORDESC ); } -HB_FUNC( INETCLEARERROR ) { HB_FUNC_EXEC( HB_INETCLEARERROR ); } -HB_FUNC( INETCOUNT ) { HB_FUNC_EXEC( HB_INETCOUNT ); } -HB_FUNC( INETADDRESS ) { HB_FUNC_EXEC( HB_INETADDRESS ); } -HB_FUNC( INETPORT ) { HB_FUNC_EXEC( HB_INETPORT ); } -HB_FUNC( INETSETTIMEOUT ) { HB_FUNC_EXEC( HB_INETTIMEOUT ); } -HB_FUNC( INETGETTIMEOUT ) { HB_FUNC_EXEC( HB_INETTIMEOUT ); } -HB_FUNC( INETCLEARTIMEOUT ) { HB_FUNC_EXEC( HB_INETCLEARTIMEOUT ); } -HB_FUNC( INETSETTIMELIMIT ) { HB_FUNC_EXEC( HB_INETTIMELIMIT ); } -HB_FUNC( INETGETTIMELIMIT ) { HB_FUNC_EXEC( HB_INETTIMELIMIT ); } -HB_FUNC( INETCLEARTIMELIMIT ) { HB_FUNC_EXEC( HB_INETCLEARTIMELIMIT ); } -HB_FUNC( INETSETPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETPERIODCALLBACK ); } -HB_FUNC( INETGETPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETPERIODCALLBACK ); } -HB_FUNC( INETCLEARPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETCLEARPERIODCALLBACK ); } -HB_FUNC( INETRECV ) { HB_FUNC_EXEC( HB_INETRECV ); } -HB_FUNC( INETRECVALL ) { HB_FUNC_EXEC( HB_INETRECVALL ); } -HB_FUNC( INETRECVLINE ) { HB_FUNC_EXEC( HB_INETRECVLINE ); } -HB_FUNC( INETRECVENDBLOCK ) { HB_FUNC_EXEC( HB_INETRECVENDBLOCK ); } -HB_FUNC( INETDATAREADY ) { HB_FUNC_EXEC( HB_INETDATAREADY ); } -HB_FUNC( INETSEND ) { HB_FUNC_EXEC( HB_INETSEND ); } -HB_FUNC( INETSENDALL ) { HB_FUNC_EXEC( HB_INETSENDALL ); } -HB_FUNC( INETGETHOSTS ) { HB_FUNC_EXEC( HB_INETGETHOSTS ); } -HB_FUNC( INETGETALIAS ) { HB_FUNC_EXEC( HB_INETGETALIAS ); } -HB_FUNC( INETSERVER ) { HB_FUNC_EXEC( HB_INETSERVER ); } -HB_FUNC( INETACCEPT ) { HB_FUNC_EXEC( HB_INETACCEPT ); } -HB_FUNC( INETCONNECT ) { HB_FUNC_EXEC( HB_INETCONNECT ); } -HB_FUNC( INETCONNECTIP ) { HB_FUNC_EXEC( HB_INETCONNECTIP ); } -HB_FUNC( INETDGRAMBIND ) { HB_FUNC_EXEC( HB_INETDGRAMBIND ); } -HB_FUNC( INETDGRAM ) { HB_FUNC_EXEC( HB_INETDGRAM ); } -HB_FUNC( INETDGRAMSEND ) { HB_FUNC_EXEC( HB_INETDGRAMSEND ); } -HB_FUNC( INETDGRAMRECV ) { HB_FUNC_EXEC( HB_INETDGRAMRECV ); } -HB_FUNC( INETCRLF ) { HB_FUNC_EXEC( HB_INETCRLF ); } -HB_FUNC( ISINETSOCKET ) { HB_FUNC_EXEC( HB_INETISSOCKET ); } -HB_FUNC( INETDESTROY ) { } - -#endif /* !HB_NO_DEFAULT_INET */ +HB_FUNC_EXTERN( HB_PVALUE ) ; HB_FUNC( PVALUE ) { HB_FUNC_EXEC( HB_PVALUE ); } +HB_FUNC_EXTERN( HB_METHODNAME ) ; HB_FUNC( METHODNAME ) { HB_FUNC_EXEC( HB_METHODNAME ); } +HB_FUNC_EXTERN( HB_LIBLOAD ) ; HB_FUNC( LIBLOAD ) { HB_FUNC_EXEC( HB_LIBLOAD ); } +HB_FUNC_EXTERN( HB_LIBFREE ) ; HB_FUNC( LIBFREE ) { HB_FUNC_EXEC( HB_LIBFREE ); } +HB_FUNC_EXTERN( HB_IDLESLEEP ) ; HB_FUNC( SECONDSSLEEP ) { HB_FUNC_EXEC( HB_IDLESLEEP ); } +HB_FUNC_EXTERN( __DYNSN2SYM ) ; HB_FUNC( HB_FUNCPTR ) { HB_FUNC_EXEC( __DYNSN2SYM ); } +HB_FUNC_EXTERN( HB_VALTOEXP ) ; HB_FUNC( VALTOPRGEXP ) { HB_FUNC_EXEC( HB_VALTOEXP ); } +HB_FUNC_EXTERN( HB_HEXTONUM ) ; HB_FUNC( HEXTONUM ) { HB_FUNC_EXEC( HB_HEXTONUM ); } +HB_FUNC_EXTERN( HB_NUMTOHEX ) ; HB_FUNC( NUMTOHEX ) { HB_FUNC_EXEC( HB_NUMTOHEX ); } +HB_FUNC_EXTERN( HB_HEXTOSTR ) ; HB_FUNC( HEXTOSTR ) { HB_FUNC_EXEC( HB_HEXTOSTR ); } +HB_FUNC_EXTERN( HB_STRTOHEX ) ; HB_FUNC( STRTOHEX ) { HB_FUNC_EXEC( HB_STRTOHEX ); } +HB_FUNC_EXTERN( HB_ISPOINTER ) ; HB_FUNC( ISPOINTER ) { HB_FUNC_EXEC( HB_ISPOINTER ); } +HB_FUNC_EXTERN( HB_GETENV ) ; HB_FUNC( GETENV ) { HB_FUNC_EXEC( HB_GETENV ); } +HB_FUNC_EXTERN( HB_CDPSELECT ) ; HB_FUNC( HB_SETCODEPAGE ) { HB_FUNC_EXEC( HB_CDPSELECT ); } diff --git a/harbour/contrib/xhb/xhbfunp.prg b/harbour/contrib/xhb/xhbfunp.prg new file mode 100644 index 0000000000..3cfd76339d --- /dev/null +++ b/harbour/contrib/xhb/xhbfunp.prg @@ -0,0 +1,62 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "common.ch" + +#include "hbgtinfo.ch" + +FUNCTION gtSetClipboard( x ) ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDDATA, x ) +FUNCTION gtGetClipboard() ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDDATA ) +FUNCTION gtGetClipBoardSize() ; RETURN Len( hb_gtInfo( HB_GTI_CLIPBOARDDATA ) ) +FUNCTION gtPasteClipBoard() ; RETURN hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) + +FUNCTION INETDESTROY( x ) ; RETURN iif( HB_INETISSOCKET( x ), hb_INETCLOSE( x ), ) diff --git a/harbour/contrib/xhb/xhbgt.c b/harbour/contrib/xhb/xhbgt.c new file mode 100644 index 0000000000..3c73e3de09 --- /dev/null +++ b/harbour/contrib/xhb/xhbgt.c @@ -0,0 +1,61 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( NEXTKEY ) ; HB_FUNC( GTPROCESSMESSAGES ) { HB_FUNC_EXEC( NEXTKEY ); } +HB_FUNC_EXTERN( HB_GFXPRIMITIVE ) ; HB_FUNC( GFXPRIMITIVE ) { HB_FUNC_EXEC( HB_GFXPRIMITIVE ); } +HB_FUNC_EXTERN( HB_GFXTEXT ) ; HB_FUNC( GFXTEXT ) { HB_FUNC_EXEC( HB_GFXTEXT ); } +HB_FUNC_EXTERN( HB_GTLOCK ) ; HB_FUNC( HBCONSOLELOCK ) { HB_FUNC_EXEC( HB_GTLOCK ); } +HB_FUNC_EXTERN( HB_GTUNLOCK ) ; HB_FUNC( HBCONSOLEUNLOCK ) { HB_FUNC_EXEC( HB_GTUNLOCK ); } +HB_FUNC_EXTERN( HB_SETLASTKEY ) ; HB_FUNC( SETLASTKEY ) { HB_FUNC_EXEC( HB_SETLASTKEY ); } +HB_FUNC_EXTERN( HB_SETKEY ) ; HB_FUNC( SETKEY ) { HB_FUNC_EXEC( HB_SETKEY ); } diff --git a/harbour/contrib/xhb/xhbhash.c b/harbour/contrib/xhb/xhbhash.c new file mode 100644 index 0000000000..61572e511f --- /dev/null +++ b/harbour/contrib/xhb/xhbhash.c @@ -0,0 +1,80 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2007 Przemyslaw Czerpak + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapiitm.h" + +/* Hash item functions */ +HB_FUNC_EXTERN( HB_HASH ) ; HB_FUNC( HASH ) { HB_FUNC_EXEC( HB_HASH ); } +HB_FUNC_EXTERN( HB_HHASKEY ) ; HB_FUNC( HHASKEY ) { HB_FUNC_EXEC( HB_HHASKEY ); } +HB_FUNC_EXTERN( HB_HPOS ) ; HB_FUNC( HGETPOS ) { HB_FUNC_EXEC( HB_HPOS ); } +HB_FUNC_EXTERN( HB_HGET ) ; HB_FUNC( HGET ) { HB_FUNC_EXEC( HB_HGET ); } +HB_FUNC_EXTERN( HB_HSET ) ; HB_FUNC( HSET ) { HB_FUNC_EXEC( HB_HSET ); } +HB_FUNC_EXTERN( HB_HDEL ) ; HB_FUNC( HDEL ) { HB_FUNC_EXEC( HB_HDEL ); } +HB_FUNC_EXTERN( HB_HKEYAT ) ; HB_FUNC( HGETKEYAT ) { HB_FUNC_EXEC( HB_HKEYAT ); } +HB_FUNC_EXTERN( HB_HVALUEAT ) ; HB_FUNC( HGETVALUEAT ) { HB_FUNC_EXEC( HB_HVALUEAT ); } +HB_FUNC_EXTERN( HB_HVALUEAT ) ; HB_FUNC( HSETVALUEAT ) { HB_FUNC_EXEC( HB_HVALUEAT ); } +HB_FUNC_EXTERN( HB_HPAIRAT ) ; HB_FUNC( HGETPAIRAT ) { HB_FUNC_EXEC( HB_HPAIRAT ); } +HB_FUNC_EXTERN( HB_HDELAT ) ; HB_FUNC( HDELAT ) { HB_FUNC_EXEC( HB_HDELAT ); } +HB_FUNC_EXTERN( HB_HKEYS ) ; HB_FUNC( HGETKEYS ) { HB_FUNC_EXEC( HB_HKEYS ); } +HB_FUNC_EXTERN( HB_HVALUES ) ; HB_FUNC( HGETVALUES ) { HB_FUNC_EXEC( HB_HVALUES ); } +HB_FUNC_EXTERN( HB_HFILL ) ; HB_FUNC( HFILL ) { HB_FUNC_EXEC( HB_HFILL ); } +HB_FUNC_EXTERN( HB_HCLONE ) ; HB_FUNC( HCLONE ) { HB_FUNC_EXEC( HB_HCLONE ); } +HB_FUNC_EXTERN( HB_HCOPY ) ; HB_FUNC( HCOPY ) { HB_FUNC_EXEC( HB_HCOPY ); } +HB_FUNC_EXTERN( HB_HMERGE ) ; HB_FUNC( HMERGE ) { HB_FUNC_EXEC( HB_HMERGE ); } +HB_FUNC_EXTERN( HB_HEVAL ) ; HB_FUNC( HEVAL ) { HB_FUNC_EXEC( HB_HEVAL ); } +HB_FUNC_EXTERN( HB_HSCAN ) ; HB_FUNC( HSCAN ) { HB_FUNC_EXEC( HB_HSCAN ); } +HB_FUNC_EXTERN( HB_HALLOCATE ) ; HB_FUNC( HALLOCATE ) { HB_FUNC_EXEC( HB_HALLOCATE ); } +HB_FUNC_EXTERN( HB_HDEFAULT ) ; HB_FUNC( HDEFAULT ) { HB_FUNC_EXEC( HB_HDEFAULT ); } +HB_FUNC_EXTERN( HB_HCASEMATCH ) ; HB_FUNC( HSETCASEMATCH ) { HB_FUNC_EXEC( HB_HCASEMATCH ); hb_itemReturn( hb_param( 1, HB_IT_HASH ) ); } +HB_FUNC_EXTERN( HB_HCASEMATCH ) ; HB_FUNC( HGETCASEMATCH ) { HB_FUNC_EXEC( HB_HCASEMATCH ); } +HB_FUNC_EXTERN( HB_HAUTOADD ) ; HB_FUNC( HSETAUTOADD ) { HB_FUNC_EXEC( HB_HAUTOADD ); hb_itemReturn( hb_param( 1, HB_IT_HASH ) ); } +HB_FUNC_EXTERN( HB_HAUTOADD ) ; HB_FUNC( HGETAUTOADD ) { HB_FUNC_EXEC( HB_HAUTOADD ); hb_retl( hb_parni( -1 ) == HB_HASH_AUTOADD_ALWAYS ); } diff --git a/harbour/contrib/xhb/xhbi18n.c b/harbour/contrib/xhb/xhbi18n.c new file mode 100644 index 0000000000..310013be65 --- /dev/null +++ b/harbour/contrib/xhb/xhbi18n.c @@ -0,0 +1,55 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_I18N_GETTEXT ) ; HB_FUNC( I18N ) { HB_FUNC_EXEC( HB_I18N_GETTEXT ); } diff --git a/harbour/contrib/xhb/xhbinet.c b/harbour/contrib/xhb/xhbinet.c new file mode 100644 index 0000000000..dd4a269264 --- /dev/null +++ b/harbour/contrib/xhb/xhbinet.c @@ -0,0 +1,95 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2007 Przemyslaw Czerpak + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +/* Inet functions */ +HB_FUNC_EXTERN( HB_INETINIT ) ; HB_FUNC( INETINIT ) { HB_FUNC_EXEC( HB_INETINIT ); } +HB_FUNC_EXTERN( HB_INETCLEANUP ) ; HB_FUNC( INETCLEANUP ) { HB_FUNC_EXEC( HB_INETCLEANUP ); } +HB_FUNC_EXTERN( HB_INETCREATE ) ; HB_FUNC( INETCREATE ) { HB_FUNC_EXEC( HB_INETCREATE ); } +HB_FUNC_EXTERN( HB_INETCLOSE ) ; HB_FUNC( INETCLOSE ) { HB_FUNC_EXEC( HB_INETCLOSE ); } +HB_FUNC_EXTERN( HB_INETFD ) ; HB_FUNC( INETFD ) { HB_FUNC_EXEC( HB_INETFD ); } +HB_FUNC_EXTERN( HB_INETSTATUS ) ; HB_FUNC( INETSTATUS ) { HB_FUNC_EXEC( HB_INETSTATUS ); } +HB_FUNC_EXTERN( HB_INETERRORCODE ) ; HB_FUNC( INETERRORCODE ) { HB_FUNC_EXEC( HB_INETERRORCODE ); } +HB_FUNC_EXTERN( HB_INETERRORDESC ) ; HB_FUNC( INETERRORDESC ) { HB_FUNC_EXEC( HB_INETERRORDESC ); } +HB_FUNC_EXTERN( HB_INETCLEARERROR ) ; HB_FUNC( INETCLEARERROR ) { HB_FUNC_EXEC( HB_INETCLEARERROR ); } +HB_FUNC_EXTERN( HB_INETCOUNT ) ; HB_FUNC( INETCOUNT ) { HB_FUNC_EXEC( HB_INETCOUNT ); } +HB_FUNC_EXTERN( HB_INETADDRESS ) ; HB_FUNC( INETADDRESS ) { HB_FUNC_EXEC( HB_INETADDRESS ); } +HB_FUNC_EXTERN( HB_INETPORT ) ; HB_FUNC( INETPORT ) { HB_FUNC_EXEC( HB_INETPORT ); } +HB_FUNC_EXTERN( HB_INETTIMEOUT ) ; HB_FUNC( INETSETTIMEOUT ) { HB_FUNC_EXEC( HB_INETTIMEOUT ); } +HB_FUNC_EXTERN( HB_INETTIMEOUT ) ; HB_FUNC( INETGETTIMEOUT ) { HB_FUNC_EXEC( HB_INETTIMEOUT ); } +HB_FUNC_EXTERN( HB_INETCLEARTIMEOUT ) ; HB_FUNC( INETCLEARTIMEOUT ) { HB_FUNC_EXEC( HB_INETCLEARTIMEOUT ); } +HB_FUNC_EXTERN( HB_INETTIMELIMIT ) ; HB_FUNC( INETSETTIMELIMIT ) { HB_FUNC_EXEC( HB_INETTIMELIMIT ); } +HB_FUNC_EXTERN( HB_INETTIMELIMIT ) ; HB_FUNC( INETGETTIMELIMIT ) { HB_FUNC_EXEC( HB_INETTIMELIMIT ); } +HB_FUNC_EXTERN( HB_INETCLEARTIMELIMIT ) ; HB_FUNC( INETCLEARTIMELIMIT ) { HB_FUNC_EXEC( HB_INETCLEARTIMELIMIT ); } +HB_FUNC_EXTERN( HB_INETPERIODCALLBACK ) ; HB_FUNC( INETSETPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETPERIODCALLBACK ); } +HB_FUNC_EXTERN( HB_INETPERIODCALLBACK ) ; HB_FUNC( INETGETPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETPERIODCALLBACK ); } +HB_FUNC_EXTERN( HB_INETCLEARPERIODCALLBACK ) ; HB_FUNC( INETCLEARPERIODCALLBACK ) { HB_FUNC_EXEC( HB_INETCLEARPERIODCALLBACK ); } +HB_FUNC_EXTERN( HB_INETRECV ) ; HB_FUNC( INETRECV ) { HB_FUNC_EXEC( HB_INETRECV ); } +HB_FUNC_EXTERN( HB_INETRECVALL ) ; HB_FUNC( INETRECVALL ) { HB_FUNC_EXEC( HB_INETRECVALL ); } +HB_FUNC_EXTERN( HB_INETRECVLINE ) ; HB_FUNC( INETRECVLINE ) { HB_FUNC_EXEC( HB_INETRECVLINE ); } +HB_FUNC_EXTERN( HB_INETRECVENDBLOCK ) ; HB_FUNC( INETRECVENDBLOCK ) { HB_FUNC_EXEC( HB_INETRECVENDBLOCK ); } +HB_FUNC_EXTERN( HB_INETDATAREADY ) ; HB_FUNC( INETDATAREADY ) { HB_FUNC_EXEC( HB_INETDATAREADY ); } +HB_FUNC_EXTERN( HB_INETSEND ) ; HB_FUNC( INETSEND ) { HB_FUNC_EXEC( HB_INETSEND ); } +HB_FUNC_EXTERN( HB_INETSENDALL ) ; HB_FUNC( INETSENDALL ) { HB_FUNC_EXEC( HB_INETSENDALL ); } +HB_FUNC_EXTERN( HB_INETGETHOSTS ) ; HB_FUNC( INETGETHOSTS ) { HB_FUNC_EXEC( HB_INETGETHOSTS ); } +HB_FUNC_EXTERN( HB_INETGETALIAS ) ; HB_FUNC( INETGETALIAS ) { HB_FUNC_EXEC( HB_INETGETALIAS ); } +HB_FUNC_EXTERN( HB_INETSERVER ) ; HB_FUNC( INETSERVER ) { HB_FUNC_EXEC( HB_INETSERVER ); } +HB_FUNC_EXTERN( HB_INETACCEPT ) ; HB_FUNC( INETACCEPT ) { HB_FUNC_EXEC( HB_INETACCEPT ); } +HB_FUNC_EXTERN( HB_INETCONNECT ) ; HB_FUNC( INETCONNECT ) { HB_FUNC_EXEC( HB_INETCONNECT ); } +HB_FUNC_EXTERN( HB_INETCONNECTIP ) ; HB_FUNC( INETCONNECTIP ) { HB_FUNC_EXEC( HB_INETCONNECTIP ); } +HB_FUNC_EXTERN( HB_INETDGRAMBIND ) ; HB_FUNC( INETDGRAMBIND ) { HB_FUNC_EXEC( HB_INETDGRAMBIND ); } +HB_FUNC_EXTERN( HB_INETDGRAM ) ; HB_FUNC( INETDGRAM ) { HB_FUNC_EXEC( HB_INETDGRAM ); } +HB_FUNC_EXTERN( HB_INETDGRAMSEND ) ; HB_FUNC( INETDGRAMSEND ) { HB_FUNC_EXEC( HB_INETDGRAMSEND ); } +HB_FUNC_EXTERN( HB_INETDGRAMRECV ) ; HB_FUNC( INETDGRAMRECV ) { HB_FUNC_EXEC( HB_INETDGRAMRECV ); } +HB_FUNC_EXTERN( HB_INETCRLF ) ; HB_FUNC( INETCRLF ) { HB_FUNC_EXEC( HB_INETCRLF ); } +HB_FUNC_EXTERN( HB_INETISSOCKET ) ; HB_FUNC( ISINETSOCKET ) { HB_FUNC_EXEC( HB_INETISSOCKET ); } diff --git a/harbour/contrib/xhb/xhbini.c b/harbour/contrib/xhb/xhbini.c new file mode 100644 index 0000000000..b783157154 --- /dev/null +++ b/harbour/contrib/xhb/xhbini.c @@ -0,0 +1,57 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_INISETCOMMENT ) ; HB_FUNC( HB_SETINICOMMENT ) { HB_FUNC_EXEC( HB_INISETCOMMENT ); } +HB_FUNC_EXTERN( HB_INIREAD ) ; HB_FUNC( HB_READINI ) { HB_FUNC_EXEC( HB_INIREAD ); } +HB_FUNC_EXTERN( HB_INIWRITE ) ; HB_FUNC( HB_WRITEINI ) { HB_FUNC_EXEC( HB_INIWRITE ); } diff --git a/harbour/contrib/xhb/xhbmt.prg b/harbour/contrib/xhb/xhbmt.prg index 3aab4473e6..cf28e92802 100644 --- a/harbour/contrib/xhb/xhbmt.prg +++ b/harbour/contrib/xhb/xhbmt.prg @@ -79,22 +79,6 @@ function SubscribeNow( mtx, nTimeOut, lSubscribed ) return xSubscribed -function hb_MultiThread() - return hb_mtvm() - - -function GetCurrentThread() - return hb_threadSelf() - - -function GetThreadId( pThID ) - return hb_threadId( pThID ) - - -function ThreadGetCurrentInternal() - return hb_threadId() - - function IsSameThread( pThID1, pThID2 ) return hb_threadId( pThID1 ) == iif( pcount() < 2, hb_threadId(), ; hb_threadId( pThID2 ) ) @@ -112,10 +96,6 @@ function IsValidThread( pThID ) return lValid -function JoinThread( pThID ) - return hb_threadJoin( pThID ) - - function KillThread( pThID ) hb_threadQuitRequest( pThID ) return NIL @@ -127,23 +107,10 @@ function StopThread( pThID ) return NIL -function KillAllThreads() - return hb_threadTerminateAll() - - -function WaitForThreads() - return hb_threadWaitForAll() - - function ThreadSleep( nTimeOut ) return hb_idleSleep( nTimeOut / 1000 ) -function DestroyMutex( mtx ) - HB_SYMBOL_UNUSED( mtx ) - return NIL - - function hb_MutexTryLock( mtx ) return hb_mutexLock( mtx, 0 ) @@ -152,17 +119,5 @@ function hb_MutexTimeOutLock( mtx, nTimeOut ) return hb_mutexLock( mtx, IIF( hb_isNumeric( nTimeOut ), nTimeOut / 1000, 0 ) ) -function Notify( mtx, xVal ) - return hb_mutexNotify( mtx, xVal ) - - -function NotifyAll( mtx, xVal ) - return hb_mutexNotifyAll( mtx, xVal ) - - -function ThreadGetCurrent() - return hb_threadId() - - function GetSystemThreadId( pThID ) return iif( PCount() < 1, hb_threadId(), hb_threadId( pThID ) ) diff --git a/harbour/contrib/xhb/xhbmtc.c b/harbour/contrib/xhb/xhbmtc.c new file mode 100644 index 0000000000..45bd806c42 --- /dev/null +++ b/harbour/contrib/xhb/xhbmtc.c @@ -0,0 +1,75 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +/* MT functions */ +HB_FUNC_EXTERN( HB_MTVM ) ; HB_FUNC( HB_MULTITHREAD ) { HB_FUNC_EXEC( HB_MTVM ); } +HB_FUNC_EXTERN( HB_THREADSELF ) ; HB_FUNC( GETCURRENTTHREAD ) { HB_FUNC_EXEC( HB_THREADSELF ); } +HB_FUNC_EXTERN( HB_THREADID ) ; HB_FUNC( GETTHREADID ) { HB_FUNC_EXEC( HB_THREADID ); } +HB_FUNC_EXTERN( HB_THREADID ) ; HB_FUNC( THREADGETCURRENTINTERNAL ) { HB_FUNC_EXEC( HB_THREADID ); } +HB_FUNC_EXTERN( HB_THREADJOIN ) ; HB_FUNC( JOINTHREAD ) { HB_FUNC_EXEC( HB_THREADJOIN ); } +HB_FUNC_EXTERN( HB_THREADTERMINATEALL ) ; HB_FUNC( KILLALLTHREADS ) { HB_FUNC_EXEC( HB_THREADTERMINATEALL ); } +HB_FUNC_EXTERN( HB_THREADWAITFORALL ) ; HB_FUNC( WAITFORTHREADS ) { HB_FUNC_EXEC( HB_THREADWAITFORALL ); } + +HB_FUNC_EXTERN( HB_MUTEXNOTIFY ) ; HB_FUNC( NOTIFY ) { HB_FUNC_EXEC( HB_MUTEXNOTIFY ); } +HB_FUNC_EXTERN( HB_MUTEXNOTIFYALL ) ; HB_FUNC( NOTIFYALL ) { HB_FUNC_EXEC( HB_MUTEXNOTIFYALL ); } + +/* not possible to well replicate xHarbour behavior because it's buggy + these function results are different on different platform, chosen + translation which returns compatible types (numeric) */ +HB_FUNC_EXTERN( HB_THREADID ) ; HB_FUNC( THREADGETCURRENT ) { HB_FUNC_EXEC( HB_THREADID ); } + +HB_FUNC( DESTROYMUTEX ) +{ + /* dummy */ +} diff --git a/harbour/contrib/xhb/xhbproc.c b/harbour/contrib/xhb/xhbproc.c new file mode 100644 index 0000000000..019bb21858 --- /dev/null +++ b/harbour/contrib/xhb/xhbproc.c @@ -0,0 +1,56 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_PROCESSOPEN ) ; HB_FUNC( HB_OPENPROCESS ) { HB_FUNC_EXEC( HB_PROCESSOPEN ); } +HB_FUNC_EXTERN( HB_PROCESSCLOSE ) ; HB_FUNC( HB_CLOSEPROCESS ) { HB_FUNC_EXEC( HB_PROCESSCLOSE ); } diff --git a/harbour/contrib/xhb/xhbregx.c b/harbour/contrib/xhb/xhbregx.c new file mode 100644 index 0000000000..f71171d7fe --- /dev/null +++ b/harbour/contrib/xhb/xhbregx.c @@ -0,0 +1,55 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * xhb compatibility wrappers. + * + * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +#include "hbapi.h" + +HB_FUNC_EXTERN( HB_ISREGEX ) ; HB_FUNC( HB_ISREGEXSTRING ) { HB_FUNC_EXEC( HB_ISREGEX ); }