CERN org.glite.Gfal
2.0.1
|
#include <gfal_common_plugin_interface.h>
Data Fields | |
void * | gfal_data |
plugin_handle | handle |
const char *(* | getName )() |
void(* | plugin_delete )(plugin_handle) |
gboolean(* | check_plugin_url )(plugin_handle, const char *url, plugin_mode mode, GError **err) |
int(* | accessG )(plugin_handle, const char *path, int mode, GError **err) |
int(* | chmodG )(plugin_handle, const char *, mode_t, GError **err) |
int(* | renameG )(plugin_handle, const char *, const char *, GError **err) |
int(* | symlinkG )(plugin_handle, const char *, const char *, GError **err) |
int(* | statG )(plugin_handle, const char *, struct stat *buf, GError **err) |
int(* | lstatG )(plugin_handle, const char *, struct stat *buf, GError **err) |
ssize_t(* | readlinkG )(plugin_handle, const char *, char *buff, size_t buffsiz, GError **) |
gfal_file_handle(* | opendirG )(plugin_handle, const char *, GError **) |
int(* | closedirG )(plugin_handle, gfal_file_handle, GError **) |
struct dirent *(* | readdirG )(plugin_handle, gfal_file_handle, GError **) |
int(* | mkdirpG )(plugin_handle, const char *, mode_t, gboolean pflag, GError **) |
int(* | rmdirG )(plugin_handle, const char *, GError **) |
gfal_file_handle(* | openG )(plugin_handle, const char *path, int flag, mode_t mode, GError **) |
int(* | readG )(plugin_handle, gfal_file_handle fd, void *buff, size_t count, GError **) |
int(* | writeG )(plugin_handle, gfal_file_handle fd, void *buff, size_t count, GError **) |
int(* | closeG )(plugin_handle, gfal_file_handle fd, GError **) |
int(* | lseekG )(plugin_handle, gfal_file_handle fd, off_t offset, int whence, GError **err) |
ssize_t(* | preadG )(plugin_handle, gfal_file_handle fd, void *buff, size_t count, off_t offset, GError **) |
ssize_t(* | pwriteG )(plugin_handle, gfal_file_handle fd, const void *buff, size_t count, off_t offset, GError **) |
int(* | unlinkG )(plugin_handle, const char *path, GError **) |
ssize_t(* | getxattrG )(plugin_handle, const char *, const char *, void *buff, size_t s_buff, GError **err) |
ssize_t(* | listxattrG )(plugin_handle, const char *, char *list, size_t s_list, GError **err) |
int(* | setxattrG )(plugin_handle, const char *, const char *, const void *, size_t, int, GError **) |
int(* | is_used_parameter )(plugin_handle, const char *namespacep, const char *key) |
void(* | notify_change_parameter )(plugin_handle, const char *namespacep, const char *key) |
main Interface that MUST be returned the entry point function "gfal_plugin_init" of each GFAL 2.0 plugin. the minimum calls are : getName, plugin_delete, check_plugin_url all the unused function pointers must be set to NULL
int(* _gfal_plugin_interface::accessG)(plugin_handle, const char *path, int mode, GError **err) |
access function for the access for the normal associated url
Referenced by gfal_plugins_accessG(), and gfal_plugin_init().
gboolean(* _gfal_plugin_interface::check_plugin_url)(plugin_handle, const char *url, plugin_mode mode, GError **err) |
Check the url syntax and the operation, return TRUE if the operation is compatible with the plugin, else FALSE. THIS function MUST be implemented in EACH plugin.
Referenced by gfal_plugin_init().
int(* _gfal_plugin_interface::chmodG)(plugin_handle, const char *, mode_t, GError **err) |
function pointer for the access using the guid url
Referenced by gfal_plugin_chmodG(), and gfal_plugin_init().
ssize_t(* _gfal_plugin_interface::getxattrG)(plugin_handle, const char *, const char *, void *buff, size_t s_buff, GError **err) |
getxattr implementation, follow the getxattr behavior but with GError report system.
Referenced by gfal_plugin_getxattrG(), and gfal_plugin_init().
int(* _gfal_plugin_interface::is_used_parameter)(plugin_handle, const char *namespacep, const char *key) |
this function is called to inform plugin of a new parameter must return 1 if this parameter is used by the plugin else return 0
Referenced by gfal_plugins_has_parameter(), and gfal_plugin_init().
ssize_t(* _gfal_plugin_interface::listxattrG)(plugin_handle, const char *, char *list, size_t s_list, GError **err) |
listxattr implementation, follow the listxattr behavior but with GError report system.
Referenced by gfal_plugin_init().
void(* _gfal_plugin_interface::notify_change_parameter)(plugin_handle, const char *namespacep, const char *key) |
called when a change occures on a parameter push the information to the plugins to check the new value associated with the key, call gfal_get_*_parameter functions
Referenced by gfal_plugins_notify_all(), and gfal_plugin_init().
void(* _gfal_plugin_interface::plugin_delete)(plugin_handle) |
Called before the destruction of the plugin interface
Referenced by gfal_plugin_init(), and gfal_plugins_delete().
ssize_t(* _gfal_plugin_interface::preadG)(plugin_handle, gfal_file_handle fd, void *buff, size_t count, off_t offset, GError **) |
Vector operation, similar to the POSIX call pread The vector operation needs to be set to NULL if not implemented Vector operation permits an improvement of the performances. *
Referenced by gfal_plugin_init(), and gfal_plugin_preadG().
int(* _gfal_plugin_interface::setxattrG)(plugin_handle, const char *, const char *, const void *, size_t, int, GError **) |
setxattr implementation, follow the setxattr behavior but with GError report system.
Referenced by gfal_plugin_setxattrG(), and gfal_plugin_init().
int(* _gfal_plugin_interface::unlinkG)(plugin_handle, const char *path, GError **) |
unlink implementation, follow the unlink behavior but with GError report system.
Referenced by gfal_plugin_unlinkG(), and gfal_plugin_init().