diff --git a/harbour/ChangeLog b/harbour/ChangeLog index af4f18c3f5..366742d2b4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,18 @@ 2002-12-01 23:12 UTC+0100 Foo Bar */ +2004-04-16 13:55 UTC+0300 Alexander Kresin + * include/hbstack.h + * source/vm/hvm.c + * source/vm/itemapi.c + * source/vm/estack.c + * source/vm/dynsym.c + * source/rtl/dates.c + * source/rtl/file.c + * source/rtl/filesys.c + * HB_EXPORT is added to ITEM API, FILE API and some other function + definitions to make it possible to call them when they are in the dll. + 2004-04-14 19:05 UTC-0800 Luis Krause Mantilla * harbour/contrib/rdd_ads/adsfunc.c Added adsGetConnectionType() provided by Randy Portnoff diff --git a/harbour/include/hbstack.h b/harbour/include/hbstack.h index 71139b400c..01d79dbf5a 100644 --- a/harbour/include/hbstack.h +++ b/harbour/include/hbstack.h @@ -81,6 +81,8 @@ typedef struct char szDate[ 9 ]; /* last returned date from _pards() yyyymmdd format */ } HB_STACK; +HB_STACK HB_EXPORT hb_GetStack( void ); + extern HB_STACK hb_stack; typedef struct diff --git a/harbour/source/rtl/dates.c b/harbour/source/rtl/dates.c index a5cd7f7950..76160f4ada 100644 --- a/harbour/source/rtl/dates.c +++ b/harbour/source/rtl/dates.c @@ -78,7 +78,7 @@ #include "hbapi.h" #include "hbdate.h" -long hb_dateEncode( long lYear, long lMonth, long lDay ) +long HB_EXPORT hb_dateEncode( long lYear, long lMonth, long lDay ) { HB_TRACE(HB_TR_DEBUG, ("hb_dateEncode(%ld, %ld, %ld)", lYear, lMonth, lDay)); @@ -108,7 +108,7 @@ long hb_dateEncode( long lYear, long lMonth, long lDay ) return 0; } -void hb_dateDecode( long lJulian, long * plYear, long * plMonth, long * plDay ) +void HB_EXPORT hb_dateDecode( long lJulian, long * plYear, long * plMonth, long * plDay ) { HB_TRACE(HB_TR_DEBUG, ("hb_dateDecode(%ld, %p, %p, %p)", lJulian, plYear, plMonth, plDay)); @@ -136,7 +136,7 @@ void hb_dateDecode( long lJulian, long * plYear, long * plMonth, long * plDay ) } } -void hb_dateStrPut( char * szDate, long lYear, long lMonth, long lDay ) +void HB_EXPORT hb_dateStrPut( char * szDate, long lYear, long lMonth, long lDay ) { HB_TRACE(HB_TR_DEBUG, ("hb_dateStrPut(%p, %ld, %ld, %ld)", szDate, lYear, lMonth, lDay)); diff --git a/harbour/source/rtl/file.c b/harbour/source/rtl/file.c index 9722ad6cf3..b5c2609fe1 100644 --- a/harbour/source/rtl/file.c +++ b/harbour/source/rtl/file.c @@ -53,7 +53,7 @@ #include "hbapi.h" #include "hbapifs.h" -BOOL hb_fsFile( BYTE * pFilename ) +BOOL HB_EXPORT hb_fsFile( BYTE * pFilename ) { PHB_FFIND ffind; diff --git a/harbour/source/rtl/filesys.c b/harbour/source/rtl/filesys.c index efeb1e90ae..6276ef357a 100644 --- a/harbour/source/rtl/filesys.c +++ b/harbour/source/rtl/filesys.c @@ -531,7 +531,7 @@ FHANDLE hb_fsPOpen( BYTE * pFilename, BYTE * pMode ) return hFileHandle; } -FHANDLE hb_fsOpen( BYTE * pFilename, USHORT uiFlags ) +FHANDLE HB_EXPORT hb_fsOpen( BYTE * pFilename, USHORT uiFlags ) { FHANDLE hFileHandle; @@ -658,7 +658,7 @@ FHANDLE hb_fsOpen( BYTE * pFilename, USHORT uiFlags ) return hFileHandle; } -FHANDLE hb_fsCreate( BYTE * pFilename, USHORT uiAttr ) +FHANDLE HB_EXPORT hb_fsCreate( BYTE * pFilename, USHORT uiAttr ) { FHANDLE hFileHandle; int oflag; @@ -726,7 +726,7 @@ FHANDLE hb_fsCreate( BYTE * pFilename, USHORT uiAttr ) [vszakats] */ -FHANDLE hb_fsCreateEx( BYTE * pFilename, USHORT uiAttr, USHORT uiFlags ) +FHANDLE HB_EXPORT hb_fsCreateEx( BYTE * pFilename, USHORT uiAttr, USHORT uiFlags ) { FHANDLE hFileHandle; int oflag; @@ -762,7 +762,7 @@ FHANDLE hb_fsCreateEx( BYTE * pFilename, USHORT uiAttr, USHORT uiFlags ) return hFileHandle; } -void hb_fsClose( FHANDLE hFileHandle ) +void HB_EXPORT hb_fsClose( FHANDLE hFileHandle ) { HB_TRACE(HB_TR_DEBUG, ("hb_fsClose(%p)", hFileHandle)); @@ -850,7 +850,7 @@ BOOL hb_fsSetDevMode( FHANDLE hFileHandle, USHORT uiDevMode ) return bResult; } -USHORT hb_fsRead( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) +USHORT HB_EXPORT hb_fsRead( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) { USHORT uiRead; @@ -886,7 +886,7 @@ USHORT hb_fsRead( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) return uiRead; } -USHORT hb_fsWrite( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) +USHORT HB_EXPORT hb_fsWrite( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) { USHORT uiWritten; @@ -930,7 +930,7 @@ USHORT hb_fsWrite( FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount ) return uiWritten; } -ULONG hb_fsReadLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) +ULONG HB_EXPORT hb_fsReadLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) { ULONG ulRead; @@ -1001,7 +1001,7 @@ ULONG hb_fsReadLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) return ulRead; } -ULONG hb_fsWriteLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) +ULONG HB_EXPORT hb_fsWriteLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) { ULONG ulWritten; @@ -1084,7 +1084,7 @@ ULONG hb_fsWriteLarge( FHANDLE hFileHandle, BYTE * pBuff, ULONG ulCount ) return ulWritten; } -ULONG hb_fsSeek( FHANDLE hFileHandle, LONG lOffset, USHORT uiFlags ) +ULONG HB_EXPORT hb_fsSeek( FHANDLE hFileHandle, LONG lOffset, USHORT uiFlags ) { ULONG ulPos; USHORT Flags; @@ -1179,7 +1179,7 @@ ULONG hb_fsSeek( FHANDLE hFileHandle, LONG lOffset, USHORT uiFlags ) return ulPos; } -ULONG hb_fsTell( FHANDLE hFileHandle ) +ULONG HB_EXPORT hb_fsTell( FHANDLE hFileHandle ) { ULONG ulPos; @@ -1207,7 +1207,7 @@ ULONG hb_fsTell( FHANDLE hFileHandle ) return ulPos; } -USHORT hb_fsError( void ) +USHORT HB_EXPORT hb_fsError( void ) { HB_TRACE(HB_TR_DEBUG, ("hb_fsError()")); @@ -1221,7 +1221,7 @@ void hb_fsSetError( USHORT uiError ) s_uiErrorLast = uiError; } -BOOL hb_fsDelete( BYTE * pFilename ) +BOOL HB_EXPORT hb_fsDelete( BYTE * pFilename ) { BOOL bResult; @@ -1261,7 +1261,7 @@ BOOL hb_fsDelete( BYTE * pFilename ) return bResult; } -BOOL hb_fsRename( BYTE * pOldName, BYTE * pNewName ) +BOOL HB_EXPORT hb_fsRename( BYTE * pOldName, BYTE * pNewName ) { BOOL bResult; @@ -1296,7 +1296,7 @@ BOOL hb_fsRename( BYTE * pOldName, BYTE * pNewName ) return bResult; } -BOOL hb_fsLock ( FHANDLE hFileHandle, ULONG ulStart, +BOOL HB_EXPORT hb_fsLock ( FHANDLE hFileHandle, ULONG ulStart, ULONG ulLength, USHORT uiMode ) { BOOL bResult; @@ -1477,7 +1477,7 @@ BOOL hb_fsLock ( FHANDLE hFileHandle, ULONG ulStart, return bResult; } -void hb_fsCommit( FHANDLE hFileHandle ) +void HB_EXPORT hb_fsCommit( FHANDLE hFileHandle ) { HB_TRACE(HB_TR_DEBUG, ("hb_fsCommit(%p)", hFileHandle)); @@ -1545,7 +1545,7 @@ void hb_fsCommit( FHANDLE hFileHandle ) #endif } -BOOL hb_fsMkDir( BYTE * pDirname ) +BOOL HB_EXPORT hb_fsMkDir( BYTE * pDirname ) { BOOL bResult; @@ -1587,7 +1587,7 @@ BOOL hb_fsMkDir( BYTE * pDirname ) return bResult; } -BOOL hb_fsChDir( BYTE * pDirname ) +BOOL HB_EXPORT hb_fsChDir( BYTE * pDirname ) { BOOL bResult; @@ -1623,7 +1623,7 @@ BOOL hb_fsChDir( BYTE * pDirname ) return bResult; } -BOOL hb_fsRmDir( BYTE * pDirname ) +BOOL HB_EXPORT hb_fsRmDir( BYTE * pDirname ) { BOOL bResult; @@ -1662,7 +1662,7 @@ BOOL hb_fsRmDir( BYTE * pDirname ) /* NOTE: This is not thread safe function, it's there for compatibility. */ /* NOTE: 0 = current drive, 1 = A, 2 = B, 3 = C, etc. */ -BYTE * hb_fsCurDir( USHORT uiDrive ) +BYTE * HB_EXPORT hb_fsCurDir( USHORT uiDrive ) { static BYTE s_byDirBuffer[ _POSIX_PATH_MAX + 1 ]; @@ -1676,7 +1676,7 @@ BYTE * hb_fsCurDir( USHORT uiDrive ) /* NOTE: Thread safe version of hb_fsCurDir() */ /* NOTE: 0 = current drive, 1 = A, 2 = B, 3 = C, etc. */ -USHORT hb_fsCurDirBuff( USHORT uiDrive, BYTE * pbyBuffer, ULONG ulLen ) +USHORT HB_EXPORT hb_fsCurDirBuff( USHORT uiDrive, BYTE * pbyBuffer, ULONG ulLen ) { HB_TRACE(HB_TR_DEBUG, ("hb_fsCurDirBuff(%hu)", uiDrive)); @@ -1738,7 +1738,7 @@ USHORT hb_fsCurDirBuff( USHORT uiDrive, BYTE * pbyBuffer, ULONG ulLen ) /* NOTE: 0=A:, 1=B:, 2=C:, 3=D:, ... */ -USHORT hb_fsChDrv( BYTE nDrive ) +USHORT HB_EXPORT hb_fsChDrv( BYTE nDrive ) { USHORT uiResult; @@ -1808,7 +1808,7 @@ USHORT hb_fsChDrv( BYTE nDrive ) the drive before checking. hb_fsIsDrv only returns TRUE if there is a disk in the drive. */ -USHORT hb_fsIsDrv( BYTE nDrive ) +USHORT HB_EXPORT hb_fsIsDrv( BYTE nDrive ) { USHORT uiResult; @@ -1871,7 +1871,7 @@ USHORT hb_fsIsDrv( BYTE nDrive ) return uiResult; } -BOOL hb_fsIsDevice( FHANDLE hFileHandle ) +BOOL HB_EXPORT hb_fsIsDevice( FHANDLE hFileHandle ) { BOOL bResult; @@ -1896,7 +1896,7 @@ BOOL hb_fsIsDevice( FHANDLE hFileHandle ) /* NOTE: 0=A:, 1=B:, 2=C:, 3=D:, ... */ -BYTE hb_fsCurDrv( void ) +BYTE HB_EXPORT hb_fsCurDrv( void ) { USHORT uiResult; diff --git a/harbour/source/vm/dynsym.c b/harbour/source/vm/dynsym.c index ca7ef6c276..0399834464 100644 --- a/harbour/source/vm/dynsym.c +++ b/harbour/source/vm/dynsym.c @@ -77,7 +77,7 @@ void hb_dynsymLog( void ) printf( "%i %s\n", uiPos + 1, s_pDynItems[ uiPos ].pDynSym->pSymbol->szName ); } -PHB_SYMB hb_symbolNew( char * szName ) /* Create a new symbol */ +PHB_SYMB HB_EXPORT hb_symbolNew( char * szName ) /* Create a new symbol */ { PHB_SYMB pSymbol; @@ -93,7 +93,7 @@ PHB_SYMB hb_symbolNew( char * szName ) /* Create a new symbol */ return pSymbol; } -PHB_DYNS hb_dynsymNew( PHB_SYMB pSymbol ) /* creates a new dynamic symbol */ +PHB_DYNS HB_EXPORT hb_dynsymNew( PHB_SYMB pSymbol ) /* creates a new dynamic symbol */ { PHB_DYNS pDynSym; @@ -155,7 +155,7 @@ PHB_DYNS hb_dynsymNew( PHB_SYMB pSymbol ) /* creates a new dynamic symbol */ return pDynSym; } -PHB_DYNS hb_dynsymGet( char * szName ) /* finds and creates a symbol if not found */ +PHB_DYNS HB_EXPORT hb_dynsymGet( char * szName ) /* finds and creates a symbol if not found */ { PHB_DYNS pDynSym; char szUprName[ HB_SYMBOL_NAME_LEN + 1 ]; @@ -200,7 +200,7 @@ PHB_DYNS hb_dynsymGet( char * szName ) /* finds and creates a symbol if not fou return pDynSym; } -PHB_DYNS hb_dynsymFindName( char * szName ) /* finds a symbol */ +PHB_DYNS HB_EXPORT hb_dynsymFindName( char * szName ) /* finds a symbol */ { char szUprName[ HB_SYMBOL_NAME_LEN + 1 ]; @@ -240,7 +240,7 @@ PHB_DYNS hb_dynsymFindName( char * szName ) /* finds a symbol */ return hb_dynsymFind( szUprName ); } -PHB_DYNS hb_dynsymFind( char * szName ) +PHB_DYNS HB_EXPORT hb_dynsymFind( char * szName ) { HB_TRACE(HB_TR_DEBUG, ("hb_dynsymFind(%s)", szName)); diff --git a/harbour/source/vm/estack.c b/harbour/source/vm/estack.c index d531636b24..78aa70141a 100644 --- a/harbour/source/vm/estack.c +++ b/harbour/source/vm/estack.c @@ -71,6 +71,11 @@ HB_STACK hb_stack; +HB_STACK HB_EXPORT hb_GetStack( void ) +{ + return hb_stack; +} + /* ------------------------------- */ void hb_stackPop( void ) diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index a253c60513..b8fb89d08c 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -3263,7 +3263,7 @@ static void hb_vmSwapAlias( void ) /* Execution */ /* ------------------------------- */ -void hb_vmDo( USHORT uiParams ) +void HB_EXPORT hb_vmDo( USHORT uiParams ) { PHB_ITEM pItem; PHB_SYMB pSym; @@ -3459,7 +3459,7 @@ void hb_vmDo( USHORT uiParams ) s_ulProcLevel--; } -void hb_vmSend( USHORT uiParams ) +void HB_EXPORT hb_vmSend( USHORT uiParams ) { PHB_ITEM pItem; PHB_SYMB pSym; @@ -3926,7 +3926,7 @@ static void hb_vmDebuggerShowLine( USHORT uiLine ) /* makes the debugger shows a /* Push */ /* ------------------------------- */ -void hb_vmPush( PHB_ITEM pItem ) +void HB_EXPORT hb_vmPush( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_vmPush(%p)", pItem)); @@ -3934,7 +3934,7 @@ void hb_vmPush( PHB_ITEM pItem ) hb_stackPush(); } -void hb_vmPushNil( void ) +void HB_EXPORT hb_vmPushNil( void ) { HB_TRACE(HB_TR_DEBUG, ("hb_vmPushNil()")); @@ -3942,7 +3942,7 @@ void hb_vmPushNil( void ) hb_stackPush(); } -void hb_vmPushLogical( BOOL bValue ) +void HB_EXPORT hb_vmPushLogical( BOOL bValue ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -3953,12 +3953,12 @@ void hb_vmPushLogical( BOOL bValue ) hb_stackPush(); } -void hb_vmPushNumber( double dNumber, int iDec ) +void HB_EXPORT hb_vmPushNumber( double dNumber, int iDec ) { hb_vmPushNumType( dNumber, iDec, 0, 0 ); } -void hb_vmPushNumType( double dNumber, int iDec, int iType1, int iType2 ) +void HB_EXPORT hb_vmPushNumType( double dNumber, int iDec, int iType1, int iType2 ) { HB_TRACE(HB_TR_DEBUG, ("hb_vmPushNumber(%lf, %d)", dNumber, iDec)); @@ -3975,7 +3975,7 @@ void hb_vmPushNumType( double dNumber, int iDec, int iType1, int iType2 ) hb_vmPushDouble( dNumber, hb_set.HB_SET_DECIMALS ); } -void hb_vmPushInteger( int iNumber ) +void HB_EXPORT hb_vmPushInteger( int iNumber ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -3987,7 +3987,7 @@ void hb_vmPushInteger( int iNumber ) hb_stackPush(); } -void hb_vmPushLong( long lNumber ) +void HB_EXPORT hb_vmPushLong( long lNumber ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -4018,7 +4018,7 @@ void hb_vmPushLongConst( long lNumber ) hb_stackPush(); } -void hb_vmPushDouble( double dNumber, int iDec ) +void HB_EXPORT hb_vmPushDouble( double dNumber, int iDec ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -4089,7 +4089,7 @@ static void hb_vmPushDoubleConst( double dNumber, int iWidth, int iDec ) hb_stackPush(); } -void hb_vmPushDate( long lDate ) +void HB_EXPORT hb_vmPushDate( long lDate ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -4100,7 +4100,7 @@ void hb_vmPushDate( long lDate ) hb_stackPush(); } -void hb_vmPushPointer( void * pPointer ) +void HB_EXPORT hb_vmPushPointer( void * pPointer ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -4111,7 +4111,7 @@ void hb_vmPushPointer( void * pPointer ) hb_stackPush(); } -void hb_vmPushString( char * szText, ULONG length ) +void HB_EXPORT hb_vmPushString( char * szText, ULONG length ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); @@ -4158,7 +4158,7 @@ void hb_vmPushStringPcode( char * szText, ULONG length ) hb_stackPush(); } -void hb_vmPushSymbol( PHB_SYMB pSym ) +void HB_EXPORT hb_vmPushSymbol( PHB_SYMB pSym ) { PHB_ITEM pStackTopItem = hb_stackTopItem(); diff --git a/harbour/source/vm/itemapi.c b/harbour/source/vm/itemapi.c index 7adb8e0dd9..d5191aef60 100644 --- a/harbour/source/vm/itemapi.c +++ b/harbour/source/vm/itemapi.c @@ -106,14 +106,14 @@ extern char *hb_vm_acAscii[256]; /* DJGPP can sprintf a float that is almost 320 digits long */ #define HB_MAX_DOUBLE_LENGTH 320 -PHB_ITEM hb_itemNew( PHB_ITEM pNull ) +PHB_ITEM HB_EXPORT hb_itemNew( PHB_ITEM pNull ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemNew(%p)", pNull)); return hb_gcGripGet( pNull ); } -PHB_ITEM hb_itemParam( USHORT uiParam ) +PHB_ITEM HB_EXPORT hb_itemParam( USHORT uiParam ) { PHB_ITEM pNew; PHB_ITEM pItem; @@ -131,21 +131,21 @@ PHB_ITEM hb_itemParam( USHORT uiParam ) /* Internal Item API. Use this with care. */ -PHB_ITEM hb_itemParamPtr( USHORT uiParam, int iMask ) +PHB_ITEM HB_EXPORT hb_itemParamPtr( USHORT uiParam, int iMask ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemParamPtr(%hu, %d)", uiParam, iMask)); return hb_param( ( int ) uiParam, iMask ); } -USHORT hb_itemPCount( void ) +USHORT HB_EXPORT hb_itemPCount( void ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPCount()")); return ( USHORT ) hb_pcount(); } -BOOL hb_itemRelease( PHB_ITEM pItem ) +BOOL HB_EXPORT hb_itemRelease( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemRelease(%p)", pItem)); @@ -158,7 +158,7 @@ BOOL hb_itemRelease( PHB_ITEM pItem ) return FALSE; } -PHB_ITEM hb_itemArrayNew( ULONG ulLen ) +PHB_ITEM HB_EXPORT hb_itemArrayNew( ULONG ulLen ) { PHB_ITEM pItem; @@ -171,7 +171,7 @@ PHB_ITEM hb_itemArrayNew( ULONG ulLen ) return pItem; } -PHB_ITEM hb_itemArrayGet( PHB_ITEM pArray, ULONG ulIndex ) +PHB_ITEM HB_EXPORT hb_itemArrayGet( PHB_ITEM pArray, ULONG ulIndex ) { PHB_ITEM pItem; @@ -185,7 +185,7 @@ PHB_ITEM hb_itemArrayGet( PHB_ITEM pArray, ULONG ulIndex ) return pItem; } -PHB_ITEM hb_itemArrayPut( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ) +PHB_ITEM HB_EXPORT hb_itemArrayPut( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemArrayPut(%p, %lu, %p)", pArray, ulIndex, pItem)); @@ -195,7 +195,7 @@ PHB_ITEM hb_itemArrayPut( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ) return pArray; } -PHB_ITEM hb_itemPutC( PHB_ITEM pItem, char * szText ) +PHB_ITEM HB_EXPORT hb_itemPutC( PHB_ITEM pItem, char * szText ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutC(%p, %s)", pItem, szText)); @@ -231,7 +231,7 @@ PHB_ITEM hb_itemPutC( PHB_ITEM pItem, char * szText ) return pItem; } -PHB_ITEM hb_itemPutCConst( PHB_ITEM pItem, char * szText ) +PHB_ITEM HB_EXPORT hb_itemPutCConst( PHB_ITEM pItem, char * szText ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCConst(%p, %s)", pItem, szText)); @@ -257,7 +257,7 @@ PHB_ITEM hb_itemPutCConst( PHB_ITEM pItem, char * szText ) return pItem; } -PHB_ITEM hb_itemPutCL( PHB_ITEM pItem, char * szText, ULONG ulLen ) +PHB_ITEM HB_EXPORT hb_itemPutCL( PHB_ITEM pItem, char * szText, ULONG ulLen ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCL(%p, %s, %lu)", pItem, szText, ulLen)); @@ -298,7 +298,7 @@ PHB_ITEM hb_itemPutCL( PHB_ITEM pItem, char * szText, ULONG ulLen ) return pItem; } -PHB_ITEM hb_itemPutCPtr( PHB_ITEM pItem, char * szText, ULONG ulLen ) +PHB_ITEM HB_EXPORT hb_itemPutCPtr( PHB_ITEM pItem, char * szText, ULONG ulLen ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutCPtr(%p, %s, %lu)", pItem, szText, ulLen)); @@ -318,7 +318,7 @@ PHB_ITEM hb_itemPutCPtr( PHB_ITEM pItem, char * szText, ULONG ulLen ) return pItem; } -void hb_itemSetCMemo( PHB_ITEM pItem ) +void HB_EXPORT hb_itemSetCMemo( PHB_ITEM pItem ) { if( pItem && HB_IS_STRING( pItem ) ) pItem->type |= HB_IT_MEMOFLAG; @@ -326,7 +326,7 @@ void hb_itemSetCMemo( PHB_ITEM pItem ) /* NOTE: The caller should free the pointer if it's not NULL. [vszakats] */ -char * hb_itemGetC( PHB_ITEM pItem ) +char * HB_EXPORT hb_itemGetC( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetC(%p)", pItem)); @@ -345,7 +345,7 @@ char * hb_itemGetC( PHB_ITEM pItem ) /* NOTE: Caller should not modify the buffer returned by this function. [vszakats] */ -char * hb_itemGetCPtr( PHB_ITEM pItem ) +char * HB_EXPORT hb_itemGetCPtr( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetCPtr(%p)", pItem)); @@ -355,7 +355,7 @@ char * hb_itemGetCPtr( PHB_ITEM pItem ) return ""; } -ULONG hb_itemGetCLen( PHB_ITEM pItem ) +ULONG HB_EXPORT hb_itemGetCLen( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetCLen(%p)", pItem)); @@ -365,7 +365,7 @@ ULONG hb_itemGetCLen( PHB_ITEM pItem ) return 0; } -ULONG hb_itemCopyC( PHB_ITEM pItem, char * szBuffer, ULONG ulLen ) +ULONG HB_EXPORT hb_itemCopyC( PHB_ITEM pItem, char * szBuffer, ULONG ulLen ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemCopyC(%p, %s, %lu)", pItem, szBuffer, ulLen)); @@ -382,7 +382,7 @@ ULONG hb_itemCopyC( PHB_ITEM pItem, char * szBuffer, ULONG ulLen ) return 0; } -BOOL hb_itemFreeC( char * szText ) +BOOL HB_EXPORT hb_itemFreeC( char * szText ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemFreeC(%s)", szText)); @@ -402,7 +402,7 @@ BOOL hb_itemFreeC( char * szText ) The correct buffer size is 9 bytes: char szDate[ 9 ] [vszakats] */ -char * hb_itemGetDS( PHB_ITEM pItem, char * szDate ) +char * HB_EXPORT hb_itemGetDS( PHB_ITEM pItem, char * szDate ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetDS(%p, %s)", szDate)); @@ -412,7 +412,7 @@ char * hb_itemGetDS( PHB_ITEM pItem, char * szDate ) return hb_dateDecStr( szDate, 0 ); } -long hb_itemGetDL( PHB_ITEM pItem ) +long HB_EXPORT hb_itemGetDL( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetDL(%p)", pItem)); @@ -422,7 +422,7 @@ long hb_itemGetDL( PHB_ITEM pItem ) return 0; } -BOOL hb_itemGetL( PHB_ITEM pItem ) +BOOL HB_EXPORT hb_itemGetL( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetL(%p)", pItem)); @@ -447,7 +447,7 @@ BOOL hb_itemGetL( PHB_ITEM pItem ) return FALSE; } -double hb_itemGetND( PHB_ITEM pItem ) +double HB_EXPORT hb_itemGetND( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetND(%p)", pItem)); @@ -469,7 +469,7 @@ double hb_itemGetND( PHB_ITEM pItem ) return 0; } -int hb_itemGetNI( PHB_ITEM pItem ) +int HB_EXPORT hb_itemGetNI( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetNI(%p)", pItem)); @@ -491,7 +491,7 @@ int hb_itemGetNI( PHB_ITEM pItem ) return 0; } -long hb_itemGetNL( PHB_ITEM pItem ) +long HB_EXPORT hb_itemGetNL( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetNL(%p)", pItem)); @@ -516,7 +516,7 @@ long hb_itemGetNL( PHB_ITEM pItem ) return 0; } -void * hb_itemGetPtr( PHB_ITEM pItem ) +void * HB_EXPORT hb_itemGetPtr( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetPtr(%p)", pItem)); @@ -526,7 +526,7 @@ void * hb_itemGetPtr( PHB_ITEM pItem ) return NULL; } -PHB_ITEM hb_itemReturn( PHB_ITEM pItem ) +PHB_ITEM HB_EXPORT hb_itemReturn( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemReturn(%p)", pItem)); @@ -538,14 +538,14 @@ PHB_ITEM hb_itemReturn( PHB_ITEM pItem ) /* Internal Item API. Use this with care. */ -PHB_ITEM hb_itemReturnPtr( void ) +PHB_ITEM HB_EXPORT hb_itemReturnPtr( void ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemReturnPtr()")); return &hb_stack.Return; } -PHB_ITEM hb_itemPutDS( PHB_ITEM pItem, char * szDate ) +PHB_ITEM HB_EXPORT hb_itemPutDS( PHB_ITEM pItem, char * szDate ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutDS(%p, %s)", pItem, szDate)); @@ -560,7 +560,7 @@ PHB_ITEM hb_itemPutDS( PHB_ITEM pItem, char * szDate ) return pItem; } -PHB_ITEM hb_itemPutD( PHB_ITEM pItem, long lYear, long lMonth, long lDay ) +PHB_ITEM HB_EXPORT hb_itemPutD( PHB_ITEM pItem, long lYear, long lMonth, long lDay ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutD(%p, %04i, %02i, %02i)", pItem, lYear, lMonth, lDay)); @@ -575,7 +575,7 @@ PHB_ITEM hb_itemPutD( PHB_ITEM pItem, long lYear, long lMonth, long lDay ) return pItem; } -PHB_ITEM hb_itemPutDL( PHB_ITEM pItem, long lJulian ) +PHB_ITEM HB_EXPORT hb_itemPutDL( PHB_ITEM pItem, long lJulian ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutDL(%p, %ld)", pItem, lJulian)); @@ -590,7 +590,7 @@ PHB_ITEM hb_itemPutDL( PHB_ITEM pItem, long lJulian ) return pItem; } -PHB_ITEM hb_itemPutL( PHB_ITEM pItem, BOOL bValue ) +PHB_ITEM HB_EXPORT hb_itemPutL( PHB_ITEM pItem, BOOL bValue ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutL(%p, %d)", pItem, (int) bValue)); @@ -605,7 +605,7 @@ PHB_ITEM hb_itemPutL( PHB_ITEM pItem, BOOL bValue ) return pItem; } -PHB_ITEM hb_itemPutND( PHB_ITEM pItem, double dNumber ) +PHB_ITEM HB_EXPORT hb_itemPutND( PHB_ITEM pItem, double dNumber ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutND(%p, %lf)", pItem, dNumber)); @@ -622,7 +622,7 @@ PHB_ITEM hb_itemPutND( PHB_ITEM pItem, double dNumber ) return pItem; } -PHB_ITEM hb_itemPutNI( PHB_ITEM pItem, int iNumber ) +PHB_ITEM HB_EXPORT hb_itemPutNI( PHB_ITEM pItem, int iNumber ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNI(%p, %d)", pItem, iNumber)); @@ -638,7 +638,7 @@ PHB_ITEM hb_itemPutNI( PHB_ITEM pItem, int iNumber ) return pItem; } -PHB_ITEM hb_itemPutNL( PHB_ITEM pItem, long lNumber ) +PHB_ITEM HB_EXPORT hb_itemPutNL( PHB_ITEM pItem, long lNumber ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNL(%p, %ld)", pItem, lNumber)); @@ -654,7 +654,7 @@ PHB_ITEM hb_itemPutNL( PHB_ITEM pItem, long lNumber ) return pItem; } -PHB_ITEM hb_itemPutNLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) +PHB_ITEM HB_EXPORT hb_itemPutNLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNLen(%p, %lf, %d, %d)", pItem, dNumber, iWidth, iDec)); @@ -674,7 +674,7 @@ PHB_ITEM hb_itemPutNLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) return hb_itemPutNDLen( pItem, dNumber, iWidth, 0 ); } -PHB_ITEM hb_itemPutNDLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) +PHB_ITEM HB_EXPORT hb_itemPutNDLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNDLen(%p, %lf, %d, %d)", pItem, dNumber, iWidth, iDec)); @@ -707,7 +707,7 @@ PHB_ITEM hb_itemPutNDLen( PHB_ITEM pItem, double dNumber, int iWidth, int iDec ) return pItem; } -PHB_ITEM hb_itemPutNILen( PHB_ITEM pItem, int iNumber, int iWidth ) +PHB_ITEM HB_EXPORT hb_itemPutNILen( PHB_ITEM pItem, int iNumber, int iWidth ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNILen(%p, %d, %d)", pItem, iNumber, iWidth)); @@ -726,7 +726,7 @@ PHB_ITEM hb_itemPutNILen( PHB_ITEM pItem, int iNumber, int iWidth ) return pItem; } -PHB_ITEM hb_itemPutNLLen( PHB_ITEM pItem, long lNumber, int iWidth ) +PHB_ITEM HB_EXPORT hb_itemPutNLLen( PHB_ITEM pItem, long lNumber, int iWidth ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutNLLen(%p, %ld, %d)", pItem, lNumber, iWidth)); @@ -745,7 +745,7 @@ PHB_ITEM hb_itemPutNLLen( PHB_ITEM pItem, long lNumber, int iWidth ) return pItem; } -PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) +PHB_ITEM HB_EXPORT hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemPutPtr(%p, %p)", pItem, pValue)); @@ -760,7 +760,7 @@ PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) return pItem; } -void hb_itemGetNLen( PHB_ITEM pItem, int * piWidth, int * piDecimal ) +void HB_EXPORT hb_itemGetNLen( PHB_ITEM pItem, int * piWidth, int * piDecimal ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemGetNLen(%p, %p, %p)", pItem, piWidth, piDecimal)); @@ -790,7 +790,7 @@ void hb_itemGetNLen( PHB_ITEM pItem, int * piWidth, int * piDecimal ) } } -ULONG hb_itemSize( PHB_ITEM pItem ) +ULONG HB_EXPORT hb_itemSize( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemSize(%p)", pItem)); @@ -809,7 +809,7 @@ ULONG hb_itemSize( PHB_ITEM pItem ) return 0; } -USHORT hb_itemType( PHB_ITEM pItem ) +USHORT HB_EXPORT hb_itemType( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemType(%p)", pItem)); @@ -819,7 +819,7 @@ USHORT hb_itemType( PHB_ITEM pItem ) return HB_IT_NIL; } -char * hb_itemTypeStr( PHB_ITEM pItem ) +char * HB_EXPORT hb_itemTypeStr( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemTypeStr(%p)", pItem)); @@ -854,7 +854,7 @@ char * hb_itemTypeStr( PHB_ITEM pItem ) /* Internal API, not standard Clipper */ -void hb_itemInit( PHB_ITEM pItem ) +void HB_EXPORT hb_itemInit( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemInit(%p)", pItem)); @@ -862,7 +862,7 @@ void hb_itemInit( PHB_ITEM pItem ) pItem->type = HB_IT_NIL; } -void hb_itemClear( PHB_ITEM pItem ) +void HB_EXPORT hb_itemClear( PHB_ITEM pItem ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemClear(%p)", pItem)); @@ -897,7 +897,7 @@ void hb_itemClear( PHB_ITEM pItem ) /* Internal API, not standard Clipper */ -void hb_itemCopy( PHB_ITEM pDest, PHB_ITEM pSource ) +void HB_EXPORT hb_itemCopy( PHB_ITEM pDest, PHB_ITEM pSource ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemCopy(%p, %p)", pDest, pSource)); @@ -926,7 +926,7 @@ void hb_itemCopy( PHB_ITEM pDest, PHB_ITEM pSource ) hb_memvarValueIncRef( pSource->item.asMemvar.value ); } -void hb_itemMove( PHB_ITEM pDest, PHB_ITEM pSource ) +void HB_EXPORT hb_itemMove( PHB_ITEM pDest, PHB_ITEM pSource ) { HB_TRACE(HB_TR_DEBUG, ("hb_itemCopy(%p, %p)", pDest, pSource)); @@ -941,7 +941,7 @@ void hb_itemMove( PHB_ITEM pDest, PHB_ITEM pSource ) } -void hb_itemSwap( PHB_ITEM pItem1, PHB_ITEM pItem2 ) +void HB_EXPORT hb_itemSwap( PHB_ITEM pItem1, PHB_ITEM pItem2 ) { HB_ITEM temp; @@ -1034,7 +1034,7 @@ PHB_ITEM hb_itemUnRefOnce( PHB_ITEM pItem ) /* Internal API, not standard Clipper */ /* Check whether two strings are equal (0), smaller (-1), or greater (1) */ -int hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ) +int HB_EXPORT hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ) { char * szFirst; char * szSecond; @@ -1107,7 +1107,7 @@ int hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ) /* converts a numeric to a string with optional width & precision. */ -BOOL hb_itemStrBuf( char *szResult, PHB_ITEM pNumber, int iSize, int iDec ) +BOOL HB_EXPORT hb_itemStrBuf( char *szResult, PHB_ITEM pNumber, int iSize, int iDec ) { int iBytes; @@ -1269,7 +1269,7 @@ BOOL hb_itemStrBuf( char *szResult, PHB_ITEM pNumber, int iSize, int iDec ) buffer, but ONLY if the return value is not a NULL pointer! (If a NULL pointer is returned, then there was a conversion error.) */ -char * hb_itemStr( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ) +char * HB_EXPORT hb_itemStr( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ) { char * szResult = NULL; @@ -1348,7 +1348,7 @@ char * hb_itemStr( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ) As a side effect the caller should never modify the returned buffer since it may point to a constant value. [vszakats] */ -char * hb_itemString( PHB_ITEM pItem, ULONG * ulLen, BOOL * bFreeReq ) +char * HB_EXPORT hb_itemString( PHB_ITEM pItem, ULONG * ulLen, BOOL * bFreeReq ) { char * buffer; @@ -1468,7 +1468,7 @@ char * hb_itemPadConv( PHB_ITEM pItem, char * buffer, ULONG * pulSize ) return szText; } -PHB_ITEM hb_itemValToStr( PHB_ITEM pItem ) +PHB_ITEM HB_EXPORT hb_itemValToStr( PHB_ITEM pItem ) { PHB_ITEM pResult; char * buffer;