void hb_fileItemClear( PHB_ITEM pItem ) { PHB_FILE * fileHolder = ( PHB_FILE * ) hb_itemGetPtrGC( pItem, &s_gcFileFuncs ); if( fileHolder ) * fileHolder = NULL; }
HB_BOOL hb_znetInetInitialize( PHB_ITEM pItem, PHB_ZNETSTREAM pStream, HB_INET_RDFUNC recvFunc, HB_INET_WRFUNC sendFunc, HB_INET_FLFUNC flushFunc, HB_INET_CLFUNC cleanFunc, HB_INET_ERFUNC errorFunc, HB_INET_ESFUNC errstrFunc ) { PHB_SOCKET_STRUCT socket = ( PHB_SOCKET_STRUCT ) hb_itemGetPtrGC( pItem, &s_gcInetFuncs ); if( socket ) { hb_inetCloseStream( socket ); socket->recvFunc = recvFunc; socket->sendFunc = sendFunc; socket->flushFunc = flushFunc; socket->cleanFunc = cleanFunc; socket->errorFunc = errorFunc; socket->errstrFunc = errstrFunc; socket->stream = pStream; return HB_TRUE; } hb_inetErrRT(); return HB_FALSE; }
PHB_REGEX hb_regexGet( PHB_ITEM pRegExItm, int iFlags ) { PHB_REGEX pRegEx = NULL; HB_BOOL fArgError = HB_TRUE; if( pRegExItm ) { if( HB_IS_POINTER( pRegExItm ) ) { pRegEx = ( PHB_REGEX ) hb_itemGetPtrGC( pRegExItm, &s_gcRegexFuncs ); if( pRegEx ) fArgError = HB_FALSE; } else if( HB_IS_STRING( pRegExItm ) ) { HB_SIZE nLen = hb_itemGetCLen( pRegExItm ); const char * szRegEx = hb_itemGetCPtr( pRegExItm ); if( nLen > 0 ) { fArgError = HB_FALSE; pRegEx = hb_regexCompile( szRegEx, nLen, iFlags ); } } } if( fArgError ) hb_errRT_BASE_SubstR( EG_ARG, 3012, NULL, HB_ERR_FUNCNAME, 1, pRegExItm ); else if( ! pRegEx ) /* hb_regexCompile() failed */ hb_errRT_BASE_SubstR( EG_ARG, 3015, NULL, HB_ERR_FUNCNAME, 1, pRegExItm ); return pRegEx; }
HB_BOOL hb_libFree( PHB_ITEM pDynLib ) { HB_BOOL fResult = HB_FALSE; void ** pDynLibPtr = ( void ** ) hb_itemGetPtrGC( pDynLib, &s_gcDynlibFuncs ); if( pDynLibPtr && *pDynLibPtr && hb_vmLockModuleSymbols() ) { void * hDynLib = *pDynLibPtr; if( hDynLib ) { *pDynLibPtr = NULL; hb_vmExitSymbolGroup( hDynLib ); #if defined( HB_OS_WIN ) fResult = FreeLibrary( ( HMODULE ) hDynLib ); #elif defined( HB_OS_OS2 ) fResult = DosFreeModule( ( HMODULE ) hDynLib ) == NO_ERROR; #elif defined( HB_HAS_DLFCN ) fResult = dlclose( hDynLib ) == 0; #elif defined( HB_CAUSEWAY_DLL ) FreeLibrary( hDynLib ); fResult = HB_TRUE; #endif } hb_vmUnlockModuleSymbols(); } return fResult; }
void hb_sockexItemClear( PHB_ITEM pItem ) { PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); if( pSockPtr && *pSockPtr ) *pSockPtr = NULL; }
void hb_socketItemClear( PHB_ITEM pItem ) { HB_SOCKET * pSocket = ( HB_SOCKET * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); if( pSocket ) *pSocket = HB_NO_SOCKET; }
void hb_socketItemClear( PHB_ITEM pItem ) { PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); if( pSockPtr && *pSockPtr ) { hb_sockexClose( *pSockPtr, HB_FALSE ); *pSockPtr = NULL; } }
HB_MAXINT hb_znetInetTimeout( PHB_ITEM pItem, HB_BOOL fError ) { PHB_SOCKET_STRUCT socket = ( PHB_SOCKET_STRUCT ) hb_itemGetPtrGC( pItem, &s_gcInetFuncs ); if( socket ) return socket->iTimeout; /* socket->pPeriodicBlock ? socket->iTimeLimit */ else if( fError ) hb_inetErrRT(); return -1; }
HB_SOCKET hb_znetInetFD( PHB_ITEM pItem, HB_BOOL fError ) { PHB_SOCKET_STRUCT socket = ( PHB_SOCKET_STRUCT ) hb_itemGetPtrGC( pItem, &s_gcInetFuncs ); if( socket ) return socket->sd; else if( fError ) hb_inetErrRT(); return HB_NO_SOCKET; }
HB_BOOL hb_sockexItemSetFilter( PHB_ITEM pItem, const char * pszFilter, PHB_ITEM pParams ) { PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); if( pSockPtr && *pSockPtr ) { PHB_SOCKEX pSock = *pSockPtr; if( pszFilter == NULL ? pSock->pFilter == &s_sockFilter : ! hb_stricmp( pSock->pFilter->pszName, pszFilter ) ) return HB_TRUE; else { PHB_SOCKEX pSockNew = hb_sockexNext( pSock, pszFilter, pParams ); if( pSockNew ) { *pSockPtr = pSockNew; return HB_TRUE; } } } return HB_FALSE; }
cairo_pattern_t * hb_cairoPatternItemGet( PHB_ITEM pItem ) { cairo_pattern_t ** ppPattern = ( cairo_pattern_t ** ) hb_itemGetPtrGC( pItem, &s_gcPatternFuncs ); return ppPattern ? *ppPattern : NULL; }
void * hb_libHandle( PHB_ITEM pDynLib ) { void ** pDynLibPtr = ( void ** ) hb_itemGetPtrGC( pDynLib, &s_gcDynlibFuncs ); return pDynLibPtr ? *pDynLibPtr : NULL; }
HB_SOCKET hb_socketItemGet( PHB_ITEM pItem ) { HB_SOCKET * pSocket = ( HB_SOCKET * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); return pSocket ? *pSocket : HB_NO_SOCKET; }
PHB_FILE hb_fileItemGet( PHB_ITEM pItem ) { PHB_FILE * fileHolder = ( PHB_FILE * ) hb_itemGetPtrGC( pItem, &s_gcFileFuncs ); return fileHolder ? *fileHolder : NULL; }
cairo_t * hb_cairoItemGet( PHB_ITEM pItem ) { cairo_t ** ppCairo = ( cairo_t ** ) hb_itemGetPtrGC( pItem, hb_cairo_destructor ); return ppCairo ? *ppCairo : NULL; }
cairo_surface_t * hb_cairoSurfaceItemGet( PHB_ITEM pItem ) { cairo_surface_t ** ppSurface = ( cairo_surface_t ** ) hb_itemGetPtrGC( pItem, hb_cairo_surface_destructor ); return ppSurface ? *ppSurface : NULL; }
PHB_SOCKEX hb_sockexItemGet( PHB_ITEM pItem ) { PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); return pSockPtr ? *pSockPtr : NULL; }
HB_SOCKET hb_socketItemGet( PHB_ITEM pItem ) { PHB_SOCKEX * pSockPtr = ( PHB_SOCKEX * ) hb_itemGetPtrGC( pItem, &s_gcSocketFuncs ); return pSockPtr && *pSockPtr ? ( *pSockPtr )->sd : HB_NO_SOCKET; }
SSL_CTX * hb_SSL_CTX_itemGet( PHB_ITEM pItem ) { void ** ph = ( void ** ) hb_itemGetPtrGC( pItem, &s_gcSSL_CTX_funcs ); return ph ? ( SSL_CTX * ) *ph : NULL; }
cairo_path_t * hb_cairoPathItemGet( PHB_ITEM pItem ) { cairo_path_t ** ppPath = ( cairo_path_t ** ) hb_itemGetPtrGC( pItem, hb_cairo_path_destructor ); return ppPath ? *ppPath : NULL; }
HB_BOOL hb_regexIs( PHB_ITEM pItem ) { return hb_itemGetPtrGC( pItem, &s_gcRegexFuncs ) != NULL; }
LPDBTRANSINFO hb_dbTransInfoGet( PHB_ITEM pItem ) { LPDBTRANSINFO * pHolder = ( LPDBTRANSINFO * ) hb_itemGetPtrGC( pItem, &s_gcTransInfo ); return pHolder ? * pHolder : NULL; }
static PHB_SQLHDBC hb_SQLHDBC_get( PHB_ITEM pItem ) { return ( PHB_SQLHDBC ) hb_itemGetPtrGC( pItem, &s_gcSQLHDBCFuncs ); }