diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 92d8303579..5c2ff70cfa 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,26 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-21 11:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) + * include/hbdefs.h + + Added HB_EXTERN macro to eventually replace 'extern' keyword. + + * include/hbstack.h + * include/hbsocket.h + * include/hbapicls.h + * contrib/xhb/hbserv.h + * contrib/gtwvg/gtwvg.h + * contrib/hbcairo/hbcairo.h + * examples/gtwvw/gtwvw.c + * examples/gtwvw/hbgtwvw.h + ! Fixed declarations to use 'extern HB_EXPORT' keyword order. + ! Fixed declarations where 'extern' keyword was missing. + + ; TODO: To fix watcom .dll support 'extern HB_EXPORT ' + will have to be changed to 'extern HB_EXPORT ' + or even better to 'HB_EXTERN HB_EXPORT ' to + also stay future-proof. + 2010-05-21 08:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbwin/win_svc.c + WIN_SERVICEINSTALL(): Extended to accept 3rd parameter diff --git a/harbour/contrib/gtwvg/gtwvg.h b/harbour/contrib/gtwvg/gtwvg.h index aeab5fa14c..39c76ae701 100644 --- a/harbour/contrib/gtwvg/gtwvg.h +++ b/harbour/contrib/gtwvg/gtwvg.h @@ -565,28 +565,28 @@ typedef enum #define SWP_NOREDRAW 0 #endif -POINT HB_EXPORT hb_wvt_gtGetXYFromColRow( int col, int row ); +extern HB_EXPORT POINT hb_wvt_gtGetXYFromColRow( int col, int row ); #if ! defined( HB_OS_WIN_CE ) -IPicture HB_EXPORT * hb_wvt_gtLoadPicture( const char * image ); -IPicture HB_EXPORT * hb_wvt_gtLoadPictureFromResource( LPCSTR cResource, LPCSTR cSection ); -HB_BOOL HB_EXPORT hb_wvt_gtRenderPicture( int x1, int y1, int wd, int ht, IPicture * iPicture ); -HB_BOOL HB_EXPORT hb_wvt_gtDestroyPicture( IPicture * iPicture ); +extern HB_EXPORT IPicture * hb_wvt_gtLoadPicture( const char * image ); +extern HB_EXPORT IPicture * hb_wvt_gtLoadPictureFromResource( LPCSTR cResource, LPCSTR cSection ); +extern HB_EXPORT HB_BOOL hb_wvt_gtRenderPicture( int x1, int y1, int wd, int ht, IPicture * iPicture ); +extern HB_EXPORT HB_BOOL hb_wvt_gtDestroyPicture( IPicture * iPicture ); #endif -HB_BOOL HB_EXPORT hb_wvt_DrawImage( HDC hdc, int x1, int y1, int wd, int ht, const char * image ); -void HB_EXPORT hb_wvt_GetStringAttrib( int top, int left, int bottom, int right, HB_BYTE * sBuffer, HB_BYTE * sAttrib ); -void HB_EXPORT hb_wvt_PutStringAttrib( int top, int left, int bottom, int right, HB_BYTE * sBuffer, HB_BYTE * sAttrib ); +extern HB_EXPORT HB_BOOL hb_wvt_DrawImage( HDC hdc, int x1, int y1, int wd, int ht, const char * image ); +extern HB_EXPORT void hb_wvt_GetStringAttrib( int top, int left, int bottom, int right, HB_BYTE * sBuffer, HB_BYTE * sAttrib ); +extern HB_EXPORT void hb_wvt_PutStringAttrib( int top, int left, int bottom, int right, HB_BYTE * sBuffer, HB_BYTE * sAttrib ); -LPWORD HB_EXPORT lpwAlign( LPWORD lpIn ); -int HB_EXPORT nCopyAnsiToWideChar( LPWORD lpWCStr, LPCSTR lpAnsiIn ); -BOOL HB_EXPORT CALLBACK hb_wvt_gtDlgProcMLess( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); -BOOL HB_EXPORT CALLBACK hb_wvt_gtDlgProcModal( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); +extern HB_EXPORT LPWORD lpwAlign( LPWORD lpIn ); +extern HB_EXPORT int nCopyAnsiToWideChar( LPWORD lpWCStr, LPCSTR lpAnsiIn ); +extern HB_EXPORT BOOL CALLBACK hb_wvt_gtDlgProcMLess( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); +extern HB_EXPORT BOOL CALLBACK hb_wvt_gtDlgProcModal( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); -void HB_EXPORT hb_wvt_wvtCore( void ); -void HB_EXPORT hb_wvt_wvtUtils( void ); +extern HB_EXPORT void hb_wvt_wvtCore( void ); +extern HB_EXPORT void hb_wvt_wvtUtils( void ); -PHB_GTWVT HB_EXPORT hb_wvt_gtGetWVT( void ); +extern HB_EXPORT PHB_GTWVT hb_wvt_gtGetWVT( void ); -void HB_EXPORT hb_gt_wvt_PaintGObjects( PHB_GTWVT pWVT, RECT *uRect ); +extern HB_EXPORT void hb_gt_wvt_PaintGObjects( PHB_GTWVT pWVT, RECT *uRect ); /*----------------------------------------------------------------------*/ diff --git a/harbour/contrib/hbcairo/hbcairo.h b/harbour/contrib/hbcairo/hbcairo.h index 48475b38bd..bb121c6fe7 100644 --- a/harbour/contrib/hbcairo/hbcairo.h +++ b/harbour/contrib/hbcairo/hbcairo.h @@ -59,20 +59,20 @@ HB_EXTERN_BEGIN -HB_EXPORT cairo_t * hb_cairoItemGet( PHB_ITEM pItem ); -HB_EXPORT PHB_ITEM hb_cairoItemPut( PHB_ITEM pItem, cairo_t * pCairo ); -HB_EXPORT cairo_t * hb_cairo_param( int iParam ); -HB_EXPORT void hb_cairo_ret( cairo_t * ); +extern HB_EXPORT cairo_t * hb_cairoItemGet( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_cairoItemPut( PHB_ITEM pItem, cairo_t * pCairo ); +extern HB_EXPORT cairo_t * hb_cairo_param( int iParam ); +extern HB_EXPORT void hb_cairo_ret( cairo_t * ); -HB_EXPORT cairo_surface_t * hb_cairoSurfaceItemGet( PHB_ITEM pItem ); -HB_EXPORT PHB_ITEM hb_cairoSurfaceItemPut( PHB_ITEM pItem, cairo_surface_t * pSurface ); -HB_EXPORT cairo_surface_t * hb_cairo_surface_param( int iParam ); -HB_EXPORT void hb_cairo_surface_ret( cairo_surface_t * pSurface ); +extern HB_EXPORT cairo_surface_t * hb_cairoSurfaceItemGet( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_cairoSurfaceItemPut( PHB_ITEM pItem, cairo_surface_t * pSurface ); +extern HB_EXPORT cairo_surface_t * hb_cairo_surface_param( int iParam ); +extern HB_EXPORT void hb_cairo_surface_ret( cairo_surface_t * pSurface ); -HB_EXPORT cairo_path_t * hb_cairoPathItemGet( PHB_ITEM pItem ); -HB_EXPORT PHB_ITEM hb_cairoPathItemPut( PHB_ITEM pItem, cairo_path_t * pPath ); -HB_EXPORT cairo_path_t * hb_cairo_path_param( int iParam ); -HB_EXPORT void hb_cairo_path_ret( cairo_path_t * pPath ); +extern HB_EXPORT cairo_path_t * hb_cairoPathItemGet( PHB_ITEM pItem ); +extern HB_EXPORT PHB_ITEM hb_cairoPathItemPut( PHB_ITEM pItem, cairo_path_t * pPath ); +extern HB_EXPORT cairo_path_t * hb_cairo_path_param( int iParam ); +extern HB_EXPORT void hb_cairo_path_ret( cairo_path_t * pPath ); HB_EXTERN_END diff --git a/harbour/contrib/xhb/hbserv.h b/harbour/contrib/xhb/hbserv.h index d7b0971d5d..1a903eabb5 100644 --- a/harbour/contrib/xhb/hbserv.h +++ b/harbour/contrib/xhb/hbserv.h @@ -56,7 +56,7 @@ #include "hbserv.ch" #endif HB_EXTERN_BEGIN -HB_EXPORT HB_BOOL hb_isService( void ); -HB_EXPORT void hb_serviceExit( void ); +extern HB_EXPORT HB_BOOL hb_isService( void ); +extern HB_EXPORT void hb_serviceExit( void ); HB_EXTERN_END #endif diff --git a/harbour/examples/gtwvw/gtwvw.c b/harbour/examples/gtwvw/gtwvw.c index 3f34cf33b5..61e1adc0d2 100644 --- a/harbour/examples/gtwvw/gtwvw.c +++ b/harbour/examples/gtwvw/gtwvw.c @@ -518,7 +518,7 @@ static void hb_gt_wvw_Init( PHB_GT pGT, HB_FHANDLE hFilenoStdin, HB_FHANDLE hFil /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwDestroyPicture( IPicture * iPicture ) +HB_EXPORT BOOL hb_gt_wvwDestroyPicture( IPicture * iPicture ) { BOOL bResult = FALSE; @@ -7130,14 +7130,14 @@ static BOOL hb_gt_wvwSetCodePage( UINT usWinNum, int iCodePage ) /*-------------------------------------------------------------------*/ -int HB_EXPORT hb_gt_wvwGetLastMenuEvent( UINT usWinNum ) +HB_EXPORT int hb_gt_wvwGetLastMenuEvent( UINT usWinNum ) { return( s_pWvwData->s_pWindows[usWinNum]->LastMenuEvent ); } /*-------------------------------------------------------------------*/ -int HB_EXPORT hb_gt_wvwSetLastMenuEvent( UINT usWinNum, int iLastMenuEvent ) +HB_EXPORT int hb_gt_wvwSetLastMenuEvent( UINT usWinNum, int iLastMenuEvent ) { int iRetval = s_pWvwData->s_pWindows[usWinNum]->LastMenuEvent; s_pWvwData->s_pWindows[usWinNum]->LastMenuEvent = iLastMenuEvent; @@ -7220,14 +7220,14 @@ static HICON hb_gt_wvwSetWindowIconFromFile( UINT usWinNum, const char *icon ) /*-------------------------------------------------------------------*/ -int HB_EXPORT hb_gt_wvwGetWindowTitle( UINT usWinNum, char *title, int length ) +HB_EXPORT int hb_gt_wvwGetWindowTitle( UINT usWinNum, char *title, int length ) { return( GetWindowText( s_pWvwData->s_pWindows[usWinNum]->hWnd, title, length ) ); } /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwSetFont( UINT usWinNum, const char *fontFace, int height, int width, int Bold, int Quality ) +HB_EXPORT BOOL hb_gt_wvwSetFont( UINT usWinNum, const char *fontFace, int height, int width, int Bold, int Quality ) { int size; BOOL bResult = FALSE ; @@ -7281,21 +7281,21 @@ BOOL HB_EXPORT hb_gt_wvwSetFont( UINT usWinNum, const char *fontFace, int height /*-------------------------------------------------------------------*/ -HWND HB_EXPORT hb_gt_wvwGetWindowHandle( UINT usWinNum ) +HB_EXPORT HWND hb_gt_wvwGetWindowHandle( UINT usWinNum ) { return( s_pWvwData->s_pWindows[usWinNum]->hWnd ); } /*-------------------------------------------------------------------*/ -void HB_EXPORT hb_gt_wvwPostMessage( UINT usWinNum, int message ) +HB_EXPORT void hb_gt_wvwPostMessage( UINT usWinNum, int message ) { SendMessage( s_pWvwData->s_pWindows[usWinNum]->hWnd, WM_CHAR,message, 0 ); } /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwSetWindowPos( UINT usWinNum, int left, int top ) +HB_EXPORT BOOL hb_gt_wvwSetWindowPos( UINT usWinNum, int left, int top ) { RECT wi = { 0 }; @@ -7305,7 +7305,7 @@ BOOL HB_EXPORT hb_gt_wvwSetWindowPos( UINT usWinNum, int left, int top ) /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwSetAltF4Close( BOOL bCanClose ) +HB_EXPORT BOOL hb_gt_wvwSetAltF4Close( BOOL bCanClose ) { BOOL bWas; @@ -7316,7 +7316,7 @@ BOOL HB_EXPORT hb_gt_wvwSetAltF4Close( BOOL bCanClose ) /*-------------------------------------------------------------------*/ -void HB_EXPORT hb_gt_wvwDoProcessMessages( UINT usWinNum ) +HB_EXPORT void hb_gt_wvwDoProcessMessages( UINT usWinNum ) { /*NOTE: despite the parameter, the following will actually process messages for all windows*/ hb_gt_wvwProcessMessages( s_pWvwData->s_pWindows[ usWinNum ] ); @@ -7324,7 +7324,7 @@ void HB_EXPORT hb_gt_wvwDoProcessMessages( UINT usWinNum ) /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwSetMouseMove( UINT usWinNum, BOOL bHandleEvent ) +HB_EXPORT BOOL hb_gt_wvwSetMouseMove( UINT usWinNum, BOOL bHandleEvent ) { BOOL bWas = s_pWvwData->s_pWindows[usWinNum]->MouseMove; s_pWvwData->s_pWindows[usWinNum]->MouseMove = bHandleEvent; @@ -7333,7 +7333,7 @@ BOOL HB_EXPORT hb_gt_wvwSetMouseMove( UINT usWinNum, BOOL bHandleEvent ) /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwEnableShortCuts( UINT usWinNum, BOOL bEnable ) +HB_EXPORT BOOL hb_gt_wvwEnableShortCuts( UINT usWinNum, BOOL bEnable ) { BOOL bWas = s_pWvwData->s_pWindows[usWinNum]->EnableShortCuts; s_pWvwData->s_pWindows[usWinNum]->EnableShortCuts = bEnable; @@ -7479,7 +7479,7 @@ static void DrawTransparentBitmap(HDC hdc, HBITMAP hBitmap, short xStart, is never closed. TODO: make it an option. */ -BOOL HB_EXPORT hb_gt_wvwDrawImage( UINT usWinNum, int x1, int y1, int wd, int ht, const char * image, +HB_EXPORT BOOL hb_gt_wvwDrawImage( UINT usWinNum, int x1, int y1, int wd, int ht, const char * image, BOOL bTransparent ) { HBITMAP hBitmap; @@ -7618,7 +7618,7 @@ IPicture * hb_gt_wvwLoadPicture( const char * image ) /*-------------------------------------------------------------------*/ -BOOL HB_EXPORT hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, +HB_EXPORT BOOL hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, BOOL bTransp ) { LONG lWidth,lHeight; diff --git a/harbour/examples/gtwvw/hbgtwvw.h b/harbour/examples/gtwvw/hbgtwvw.h index 08516680c9..57adef9498 100644 --- a/harbour/examples/gtwvw/hbgtwvw.h +++ b/harbour/examples/gtwvw/hbgtwvw.h @@ -635,8 +635,8 @@ extern WIN_DATA * hb_gt_wvw_GetWindowsData( UINT iWin ) ; extern WVW_DATA * hb_getWvwData( void ) ; extern char * hb_gt_wvw_GetAppName( void ); extern void hb_gt_wvwResetWindow( UINT usWinNum ); -extern int HB_EXPORT hb_gt_wvwGetLastMenuEvent( UINT usWinNum ); -extern int HB_EXPORT hb_gt_wvwSetLastMenuEvent( UINT usWinNum, int iLastMenuEvent ); +extern HB_EXPORT int hb_gt_wvwGetLastMenuEvent( UINT usWinNum ); +extern HB_EXPORT int hb_gt_wvwSetLastMenuEvent( UINT usWinNum, int iLastMenuEvent ); extern BOOL hb_gt_wvwSetMenuKeyEvent( UINT usWinNum, int iMenuKeyEvent ); /* bitmap caching functions: */ extern HBITMAP FindBitmapHandle(const char * szFileName, int * piWidth, int * piHeight); @@ -654,15 +654,15 @@ extern HB_EXPORT void hb_gt_wvwDrawBoxRaised( UINT usWinNum, int iTop, int iLeft extern HB_EXPORT void hb_gt_wvwDrawBoxRecessed( UINT usWinNum, int iTop, int iLeft, int iBottom, int iRight, BOOL bTight ); -extern BOOL HB_EXPORT hb_gt_wvwDrawImage( UINT usWinNum, int x1, int y1, int wd, int ht, const char * image, +extern HB_EXPORT BOOL hb_gt_wvwDrawImage( UINT usWinNum, int x1, int y1, int wd, int ht, const char * image, BOOL bTransparent ); extern HB_EXPORT void hb_gt_wvwDrawOutline( UINT usWinNum, int iTop, int iLeft, int iBottom, int iRight ); extern DWORD hb_gt_wvwGetColorData( int iIndex ); -extern BOOL HB_EXPORT hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, +extern HB_EXPORT BOOL hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, BOOL bTransp ); -extern BOOL GetImageDimension(const char * image, int * pWidth, int * pHeight); -extern BOOL GetIPictDimension(IPicture * pPic, int * pWidth, int * pHeight); -extern BOOL HB_EXPORT hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, +extern BOOL GetImageDimension(const char * image, int * pWidth, int * pHeight); +extern BOOL GetIPictDimension(IPicture * pPic, int * pWidth, int * pHeight); +extern HB_EXPORT BOOL hb_gt_wvwRenderPicture( UINT usWinNum, int x1, int y1, int wd, int ht, IPicture * iPicture, BOOL bTransp ); extern HB_EXPORT IPicture * rr_LoadPictureFromResource(const char * resname,UINT iresimage,LONG *lwidth,LONG *lheight); extern HB_EXPORT IPicture * rr_LoadPicture(const char * filename,LONG * lwidth,LONG * lheight); @@ -702,7 +702,7 @@ extern USHORT hb_gt_wvwColOfs( UINT usWinNum ); extern HB_EXPORT BOOL CALLBACK hb_gt_wvwDlgProcModal( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); extern HB_EXPORT BOOL CALLBACK hb_gt_wvwDlgProcMLess( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ); extern IPicture * hb_gt_wvwLoadPicture( const char * image ); -extern BOOL HB_EXPORT hb_gt_wvwDestroyPicture( IPicture * iPicture ); +extern HB_EXPORT BOOL hb_gt_wvwDestroyPicture( IPicture * iPicture ); extern int nCopyAnsiToWideChar( LPWORD lpWCStr, LPSTR lpAnsiIn ); extern LPWORD lpwAlign( LPWORD lpIn ); HB_EXTERN_END diff --git a/harbour/include/hbapicls.h b/harbour/include/hbapicls.h index dc18b8f1a0..46b871c75d 100644 --- a/harbour/include/hbapicls.h +++ b/harbour/include/hbapicls.h @@ -111,25 +111,25 @@ extern void hb_mthAddTime( HB_ULONG ); /* profiler from classes.c */ #endif /* _HB_API_INTERNAL_ */ /* class management */ -HB_EXPORT extern const char * hb_clsName( HB_USHORT uiClass ); -HB_EXPORT extern const char * hb_clsFuncName( HB_USHORT uiClass ); -HB_EXPORT extern const char * hb_clsMethodName( HB_USHORT uiClass, HB_USHORT uiMethod ); -HB_EXPORT extern HB_BOOL hb_clsIsParent( HB_USHORT uiClass, const char * szParentName ); /* is a class handle inherited from szParentName Class ? */ -HB_EXPORT extern HB_USHORT hb_clsFindClass( const char * szClass, const char * szFunc ); +extern HB_EXPORT const char * hb_clsName( HB_USHORT uiClass ); +extern HB_EXPORT const char * hb_clsFuncName( HB_USHORT uiClass ); +extern HB_EXPORT const char * hb_clsMethodName( HB_USHORT uiClass, HB_USHORT uiMethod ); +extern HB_EXPORT HB_BOOL hb_clsIsParent( HB_USHORT uiClass, const char * szParentName ); /* is a class handle inherited from szParentName Class ? */ +extern HB_EXPORT HB_USHORT hb_clsFindClass( const char * szClass, const char * szFunc ); /* object management */ -HB_EXPORT extern HB_USHORT hb_objGetClass( PHB_ITEM pItem ); /* get object class handle */ -HB_EXPORT extern HB_USHORT hb_objSetClass( PHB_ITEM pItem, const char * szClass, const char * szFunc ); /* get object class handle using class name and class function name */ -HB_EXPORT extern const char * hb_objGetClsName( PHB_ITEM pObject ); /* retrieves an object class name */ -HB_EXPORT extern const char * hb_objGetRealClsName( PHB_ITEM pObject, const char * szString ); /* retrieves an object class name for a specific message */ +extern HB_EXPORT HB_USHORT hb_objGetClass( PHB_ITEM pItem ); /* get object class handle */ +extern HB_EXPORT HB_USHORT hb_objSetClass( PHB_ITEM pItem, const char * szClass, const char * szFunc ); /* get object class handle using class name and class function name */ +extern HB_EXPORT const char * hb_objGetClsName( PHB_ITEM pObject ); /* retrieves an object class name */ +extern HB_EXPORT const char * hb_objGetRealClsName( PHB_ITEM pObject, const char * szString ); /* retrieves an object class name for a specific message */ -HB_EXPORT extern HB_BOOL hb_objHasMsg( PHB_ITEM pObject, const char * szString ); /* returns HB_TRUE/HB_FALSE whether szString is an existing message for object */ -HB_EXPORT extern HB_BOOL hb_objHasMessage( PHB_ITEM pObject, PHB_DYNS pMessage ); -HB_EXPORT extern PHB_ITEM hb_objSendMsg( PHB_ITEM pObj, const char *sMsg, HB_ULONG ulArg, ... ); -HB_EXPORT extern PHB_ITEM hb_objSendMessage( PHB_ITEM pObj, PHB_DYNS pMessage, HB_ULONG ulArg, ... ); +extern HB_EXPORT HB_BOOL hb_objHasMsg( PHB_ITEM pObject, const char * szString ); /* returns HB_TRUE/HB_FALSE whether szString is an existing message for object */ +extern HB_EXPORT HB_BOOL hb_objHasMessage( PHB_ITEM pObject, PHB_DYNS pMessage ); +extern HB_EXPORT PHB_ITEM hb_objSendMsg( PHB_ITEM pObj, const char *sMsg, HB_ULONG ulArg, ... ); +extern HB_EXPORT PHB_ITEM hb_objSendMessage( PHB_ITEM pObj, PHB_DYNS pMessage, HB_ULONG ulArg, ... ); /* send message which allows to set execution context for debugger */ -HB_EXPORT extern void hb_dbg_objSendMessage( int iProcLevel, PHB_ITEM pObject, PHB_ITEM pMessage, int iParamOffset ); +extern HB_EXPORT void hb_dbg_objSendMessage( int iProcLevel, PHB_ITEM pObject, PHB_ITEM pMessage, int iParamOffset ); /* Harbour equivalent for Clipper internal __mdCreate() */ HB_USHORT hb_clsCreate( HB_USHORT usSize, const char * szClassName ); diff --git a/harbour/include/hbdefs.h b/harbour/include/hbdefs.h index 4154b2e737..63693eaf8f 100644 --- a/harbour/include/hbdefs.h +++ b/harbour/include/hbdefs.h @@ -1495,6 +1495,8 @@ typedef HB_U32 HB_FATTR; #define HB_DLL_ENTRY_POINT DllEntryPoint #endif +#define HB_EXTERN extern + #if defined( __RSXNT__ ) /* RSXNT does not support any type of export keyword. Exported (i.e., public) names can be obtained via diff --git a/harbour/include/hbsocket.h b/harbour/include/hbsocket.h index 9f8d31d131..b0ff0333f8 100644 --- a/harbour/include/hbsocket.h +++ b/harbour/include/hbsocket.h @@ -68,51 +68,51 @@ typedef HB_SOCKET ( * HB_SOCKET_FUNC )( PHB_ITEM ); #define HB_NO_SOCKET ( ( HB_SOCKET ) -1 ) -HB_EXPORT extern int hb_socketInit( void ); -HB_EXPORT extern void hb_socketCleanup( void ); -HB_EXPORT extern int hb_socketGetError( void ); -HB_EXPORT extern int hb_socketGetOsError( void ); -HB_EXPORT extern const char * hb_socketErrorStr( int iError ); -HB_EXPORT extern int hb_socketGetAddrFamilly( const void * pSockAddr, unsigned len ); -HB_EXPORT extern HB_BOOL hb_socketLocalAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr ); -HB_EXPORT extern HB_BOOL hb_socketInetAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); -HB_EXPORT extern HB_BOOL hb_socketInet6Addr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); -HB_EXPORT extern char * hb_socketAddrGetName( const void * pSockAddr, unsigned len ); -HB_EXPORT extern HB_BOOL hb_socketResolveInetAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); -HB_EXPORT extern char * hb_socketResolveAddr( const char * szAddr, int af ); -HB_EXPORT extern PHB_ITEM hb_socketGetHosts( const char * szAddr, int af ); -HB_EXPORT extern PHB_ITEM hb_socketGetAliases( const char * szAddr, int af ); -HB_EXPORT extern PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases ); -HB_EXPORT extern int hb_socketAddrGetPort( const void * pSockAddr, unsigned len ); -HB_EXPORT extern HB_BOOL hb_socketAddrFromItem( void ** pSockAddr, unsigned * puiLen, PHB_ITEM pAddrItm ); -HB_EXPORT extern PHB_ITEM hb_socketAddrToItem( const void * pSockAddr, unsigned len ); -HB_EXPORT extern int hb_socketGetSockName( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen ); -HB_EXPORT extern int hb_socketGetPeerName( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen ); -HB_EXPORT extern HB_SOCKET hb_socketOpen( int domain, int type, int protocol ); -HB_EXPORT extern int hb_socketClose( HB_SOCKET sd ); -HB_EXPORT extern int hb_socketShutdown( HB_SOCKET sd, int iMode ); -HB_EXPORT extern int hb_socketBind( HB_SOCKET sd, const void * pSockAddr, unsigned uiLen ); -HB_EXPORT extern int hb_socketListen( HB_SOCKET sd, int iBacklog ); -HB_EXPORT extern HB_SOCKET hb_socketAccept( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen, HB_MAXINT timeout ); -HB_EXPORT extern int hb_socketConnect( HB_SOCKET sd, const void * pSockAddr, unsigned uiLen, HB_MAXINT timeout ); -HB_EXPORT extern long hb_socketSend( HB_SOCKET sd, const void * data, long len, int flags, HB_MAXINT timeout ); -HB_EXPORT extern long hb_socketSendTo( HB_SOCKET sd, const void * data, long len, int flags, const void * pSockAddr, unsigned uiSockLen, HB_MAXINT timeout ); -HB_EXPORT extern long hb_socketRecv( HB_SOCKET sd, void * data, long len, int flags, HB_MAXINT timeout ); -HB_EXPORT extern long hb_socketRecvFrom( HB_SOCKET sd, void * data, long len, int flags, void ** pSockAddr, unsigned * puiSockLen, HB_MAXINT timeout ); -HB_EXPORT extern int hb_socketSetBlockingIO( HB_SOCKET sd, HB_BOOL fBlocking ); -HB_EXPORT extern int hb_socketSetNoDelay( HB_SOCKET sd, HB_BOOL fNoDelay ); -HB_EXPORT extern int hb_socketSetReuseAddr( HB_SOCKET sd, HB_BOOL fReuse ); -HB_EXPORT extern int hb_socketSetKeepAlive( HB_SOCKET sd, HB_BOOL fKeepAlive ); -HB_EXPORT extern int hb_socketSetBroadcast( HB_SOCKET sd, HB_BOOL fBroadcast ); -HB_EXPORT extern int hb_socketSetSndBufSize( HB_SOCKET sd, int iSize ); -HB_EXPORT extern int hb_socketSetRcvBufSize( HB_SOCKET sd, int iSize ); -HB_EXPORT extern int hb_socketGetRcvBufSize( HB_SOCKET sd, int * piSize ); -HB_EXPORT extern int hb_socketGetSndBufSize( HB_SOCKET sd, int * piSize ); -HB_EXPORT extern int hb_socketSetMulticast( HB_SOCKET sd, int af, const char * szAddr ); -HB_EXPORT extern int hb_socketSelectRead( HB_SOCKET sd, HB_MAXINT timeout ); -HB_EXPORT extern int hb_socketSelectWrite( HB_SOCKET sd, HB_MAXINT timeout ); -HB_EXPORT extern int hb_socketSelectWriteEx( HB_SOCKET sd, HB_MAXINT timeout ); -HB_EXPORT extern int hb_socketSelect( PHB_ITEM pArrayRD, HB_BOOL fSetRD, +extern HB_EXPORT int hb_socketInit( void ); +extern HB_EXPORT void hb_socketCleanup( void ); +extern HB_EXPORT int hb_socketGetError( void ); +extern HB_EXPORT int hb_socketGetOsError( void ); +extern HB_EXPORT const char * hb_socketErrorStr( int iError ); +extern HB_EXPORT int hb_socketGetAddrFamilly( const void * pSockAddr, unsigned len ); +extern HB_EXPORT HB_BOOL hb_socketLocalAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr ); +extern HB_EXPORT HB_BOOL hb_socketInetAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); +extern HB_EXPORT HB_BOOL hb_socketInet6Addr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); +extern HB_EXPORT char * hb_socketAddrGetName( const void * pSockAddr, unsigned len ); +extern HB_EXPORT HB_BOOL hb_socketResolveInetAddr( void ** pSockAddr, unsigned * puiLen, const char * szAddr, int iPort ); +extern HB_EXPORT char * hb_socketResolveAddr( const char * szAddr, int af ); +extern HB_EXPORT PHB_ITEM hb_socketGetHosts( const char * szAddr, int af ); +extern HB_EXPORT PHB_ITEM hb_socketGetAliases( const char * szAddr, int af ); +extern HB_EXPORT PHB_ITEM hb_socketGetIFaces( int af, HB_BOOL fNoAliases ); +extern HB_EXPORT int hb_socketAddrGetPort( const void * pSockAddr, unsigned len ); +extern HB_EXPORT HB_BOOL hb_socketAddrFromItem( void ** pSockAddr, unsigned * puiLen, PHB_ITEM pAddrItm ); +extern HB_EXPORT PHB_ITEM hb_socketAddrToItem( const void * pSockAddr, unsigned len ); +extern HB_EXPORT int hb_socketGetSockName( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen ); +extern HB_EXPORT int hb_socketGetPeerName( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen ); +extern HB_EXPORT HB_SOCKET hb_socketOpen( int domain, int type, int protocol ); +extern HB_EXPORT int hb_socketClose( HB_SOCKET sd ); +extern HB_EXPORT int hb_socketShutdown( HB_SOCKET sd, int iMode ); +extern HB_EXPORT int hb_socketBind( HB_SOCKET sd, const void * pSockAddr, unsigned uiLen ); +extern HB_EXPORT int hb_socketListen( HB_SOCKET sd, int iBacklog ); +extern HB_EXPORT HB_SOCKET hb_socketAccept( HB_SOCKET sd, void ** pSockAddr, unsigned * puiLen, HB_MAXINT timeout ); +extern HB_EXPORT int hb_socketConnect( HB_SOCKET sd, const void * pSockAddr, unsigned uiLen, HB_MAXINT timeout ); +extern HB_EXPORT long hb_socketSend( HB_SOCKET sd, const void * data, long len, int flags, HB_MAXINT timeout ); +extern HB_EXPORT long hb_socketSendTo( HB_SOCKET sd, const void * data, long len, int flags, const void * pSockAddr, unsigned uiSockLen, HB_MAXINT timeout ); +extern HB_EXPORT long hb_socketRecv( HB_SOCKET sd, void * data, long len, int flags, HB_MAXINT timeout ); +extern HB_EXPORT long hb_socketRecvFrom( HB_SOCKET sd, void * data, long len, int flags, void ** pSockAddr, unsigned * puiSockLen, HB_MAXINT timeout ); +extern HB_EXPORT int hb_socketSetBlockingIO( HB_SOCKET sd, HB_BOOL fBlocking ); +extern HB_EXPORT int hb_socketSetNoDelay( HB_SOCKET sd, HB_BOOL fNoDelay ); +extern HB_EXPORT int hb_socketSetReuseAddr( HB_SOCKET sd, HB_BOOL fReuse ); +extern HB_EXPORT int hb_socketSetKeepAlive( HB_SOCKET sd, HB_BOOL fKeepAlive ); +extern HB_EXPORT int hb_socketSetBroadcast( HB_SOCKET sd, HB_BOOL fBroadcast ); +extern HB_EXPORT int hb_socketSetSndBufSize( HB_SOCKET sd, int iSize ); +extern HB_EXPORT int hb_socketSetRcvBufSize( HB_SOCKET sd, int iSize ); +extern HB_EXPORT int hb_socketGetRcvBufSize( HB_SOCKET sd, int * piSize ); +extern HB_EXPORT int hb_socketGetSndBufSize( HB_SOCKET sd, int * piSize ); +extern HB_EXPORT int hb_socketSetMulticast( HB_SOCKET sd, int af, const char * szAddr ); +extern HB_EXPORT int hb_socketSelectRead( HB_SOCKET sd, HB_MAXINT timeout ); +extern HB_EXPORT int hb_socketSelectWrite( HB_SOCKET sd, HB_MAXINT timeout ); +extern HB_EXPORT int hb_socketSelectWriteEx( HB_SOCKET sd, HB_MAXINT timeout ); +extern HB_EXPORT int hb_socketSelect( PHB_ITEM pArrayRD, HB_BOOL fSetRD, PHB_ITEM pArrayWR, HB_BOOL fSetWR, PHB_ITEM pArrayEX, HB_BOOL fSetEX, HB_MAXINT timeout, HB_SOCKET_FUNC pFunc ); diff --git a/harbour/include/hbstack.h b/harbour/include/hbstack.h index 5852894644..bd14b01408 100644 --- a/harbour/include/hbstack.h +++ b/harbour/include/hbstack.h @@ -274,15 +274,16 @@ typedef struct #endif /* _HB_API_INTERNAL_ */ -HB_EXPORT extern void * hb_stackId( void ); -HB_EXPORT extern HB_ITEM_PTR hb_stackItemFromTop( int nFromTop ); -HB_EXPORT extern HB_ITEM_PTR hb_stackItemFromBase( int nFromBase ); -HB_EXPORT extern HB_ITEM_PTR hb_stackBaseItem( void ); -HB_EXPORT extern HB_ITEM_PTR hb_stackSelfItem( void ); /* returns Self object at C function level */ -HB_EXPORT extern HB_ITEM_PTR hb_stackReturnItem( void ); /* returns RETURN Item from stack */ +extern HB_EXPORT void * hb_stackId( void ); +extern HB_EXPORT HB_ITEM_PTR hb_stackItemFromTop( int nFromTop ); +extern HB_EXPORT HB_ITEM_PTR hb_stackItemFromBase( int nFromBase ); +extern HB_EXPORT HB_ITEM_PTR hb_stackBaseItem( void ); +extern HB_EXPORT HB_ITEM_PTR hb_stackSelfItem( void ); /* returns Self object at C function level */ +extern HB_EXPORT HB_ITEM_PTR hb_stackReturnItem( void ); /* returns RETURN Item from stack */ + +extern HB_EXPORT HB_ITEM_PTR hb_stackAllocItem( void ); /* allocates new item on the top of stack, returns pointer to it */ +extern HB_EXPORT void hb_stackPop( void ); /* pops an item from the stack */ -HB_EXPORT extern HB_ITEM_PTR hb_stackAllocItem( void ); /* allocates new item on the top of stack, returns pointer to it */ -HB_EXPORT extern void hb_stackPop( void ); /* pops an item from the stack */ extern void hb_stackPush( void ); /* pushes an item on to the stack */ extern void hb_stackPushReturn( void ); extern void hb_stackPopReturn( void ); @@ -295,8 +296,9 @@ extern HB_ITEM_PTR hb_stackItem( long iItemPos ); extern char * hb_stackDateBuffer( void ); /* stack management functions */ -HB_EXPORT extern int hb_stackCallDepth( void ); -HB_EXPORT extern void hb_stackBaseProcInfo( char * szProcName, HB_USHORT * puiProcLine ); /* get current .prg function name and line number */ +extern HB_EXPORT int hb_stackCallDepth( void ); +extern HB_EXPORT void hb_stackBaseProcInfo( char * szProcName, HB_USHORT * puiProcLine ); /* get current .prg function name and line number */ + extern HB_LONG hb_stackBaseProcOffset( int iLevel ); extern void hb_stackDispCall( void ); extern void hb_stackFree( void ); /* releases all memory used by the stack */ @@ -304,17 +306,17 @@ extern void hb_stackInit( void ); /* initializes the stack */ extern void hb_stackIncrease( void ); /* increase the stack size */ /* thread specific data */ -HB_EXPORT extern void * hb_stackGetTSD( PHB_TSD pTSD ); -HB_EXPORT extern void * hb_stackTestTSD( PHB_TSD pTSD ); -HB_EXPORT extern void hb_stackReleaseTSD( PHB_TSD pTSD ); +extern HB_EXPORT void * hb_stackGetTSD( PHB_TSD pTSD ); +extern HB_EXPORT void * hb_stackTestTSD( PHB_TSD pTSD ); +extern HB_EXPORT void hb_stackReleaseTSD( PHB_TSD pTSD ); -extern char * hb_stackDirBuffer( void ); +extern char * hb_stackDirBuffer( void ); extern PHB_IOERRORS hb_stackIOErrors( void ); -extern void * hb_stackGetGT( void ); -extern void hb_stackSetGT( void * ); +extern void * hb_stackGetGT( void ); +extern void hb_stackSetGT( void * ); extern PHB_STACKRDD hb_stackRDD( void ); -extern void ** hb_stackDebugInfo( void ); +extern void ** hb_stackDebugInfo( void ); #ifdef _HB_API_INTERNAL_ extern void hb_stackDecrease( HB_ULONG ulItems );