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 <type> <func()>'
          will have to be changed to 'extern <type> HB_EXPORT <func()>'
          or even better to 'HB_EXTERN <type> HB_EXPORT <func()>' to
          also stay future-proof.
This commit is contained in:
Viktor Szakats
2010-05-21 09:47:48 +00:00
parent 55af9daf4b
commit a98d098119
10 changed files with 152 additions and 128 deletions

View File

@@ -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 <type> <func()>'
will have to be changed to 'extern <type> HB_EXPORT <func()>'
or even better to 'HB_EXTERN <type> HB_EXPORT <func()>' 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

View File

@@ -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 );
/*----------------------------------------------------------------------*/

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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 );

View File

@@ -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

View File

@@ -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 );

View File

@@ -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 );