globus_extension.h - Online Linux Manual PageSection : 3
Updated : Tue Jan 26 2021
Source : Version 18.9
Note : globus_common

NAMEglobus_extension.h − Globus Extension Modules​.

SYNOPSIS
#include 'globus_common_include​.h'
#include 'globus_module​.h'
#include 'globus_hashtable​.h'

Macros#define GlobusExtensionDefineModule(name) globus_module_descriptor_t name##_module

Functionsint globus_extension_activate (const char *extension_name)
void * globus_extension_lookup (globus_extension_handle_t *handle, globus_extension_registry_t *registry, void *symbol)
int globus_extension_register_builtin (const char *extension_name, globus_module_descriptor_t *module_descriptor)

Detailed DescriptionGlobus Extension Modules​.

Macro Definition Documentation

#define GlobusExtensionDefineModule(name) globus_module_descriptor_t name##_moduleDeclare your module with the following​. Ex: GlobusExtensionDefineModule(my_module) = { 'my_module', globus_l_my_module_activate, globus_l_my_module_deactivate, NULL, NULL, &local_version };

Function Documentation

int globus_extension_activate (const char * extension_name)loads the shared library 'libextension_name_flavor​.so' from $GLOBUS_LOCATION/lib (or other location in LD_LIBRARY_PATH and activates the module defined within​. In the future, a configuration file will be supported allowing arbitrary extension names to be mapped to a specific library name​. Also, when builtin (compiled in) extensions are supported, this will activate those directly without needing to load the library​. Search order: • extension_name in mappings hash XXX not implemented • mapped name in builtin hash XXX not implemented • mapped name in dll hash XXX not implemented • load mapped name XXX not implemented • extension_name in builtin hash • extension_name in dll hash • load library if(strchr(extension_name, '/')) • concatenate / + dirname(extension_name) + /lib + basename(extension_name) + _<flavor>​.so to $GLOBUS_LOCATION/lib and each search path in mappings file XXX not implemented (eg, for extension_name == wsrf/services/CounterService, load $GLOBUS_LOCATION/lib/wsrf/services/libCounterService_gcc32dbg​.so) • lib + basename(entension_name) + _flavor​.so subject to LD_LIBRARY_PATH else • load libextension_name_build_flavor subject to LD_LIBRARY_PATH

void* globus_extension_lookup (globus_extension_handle_t * handle, globus_extension_registry_t * registry, void * symbol)Get the datum associated with symbol in this registry​. You MUST call globus_extension_release() when you are done using the data​. the lookup() and release() calls handle the reference counting that prevents an extension from being unloaded while things it provides are being used​. Do NOT call release() until you are done accessing the data from * the lookup() call​. release() could potentially block as a result of module deactivation and unloading​. ensuring that globus_extension_deactivate() is not called with outstanding references will prevent that​. symbol is a char * by default​. the key can be changed by calling globus_extension_registry_set_hashing() before it is accessed​.

int globus_extension_register_builtin (const char * extension_name, globus_module_descriptor_t * module_descriptor)hopefully in the future, these functions will only be needed by generated code

AuthorGenerated automatically by Doxygen for globus_common from the source code​.
0
Johanes Gumabo
Data Size   :   14,867 byte
man-GlobusExtensionDefineModule.3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 165,564
Visitor ID   :     :  
Visitor IP   :   3.149.214.28   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.