CERN org.glite.Gfal
2.0.1
|
00001 #pragma once 00002 #ifndef _GFAL_PROTOTYPES_H 00003 #define _GFAL_PROTOTYPES_H 00004 /* 00005 * Copyright (c) Members of the EGEE Collaboration. 2004. 00006 * See http://www.eu-egee.org/partners/ for details on the copyright holders. 00007 * 00008 * Licensed under the Apache License, Version 2.0 (the "License"); 00009 * you may not use this file except in compliance with the License. 00010 * You may obtain a copy of the License at 00011 * 00012 * http://www.apache.org/licenses/LICENSE-2.0 00013 * 00014 * Unless required by applicable law or agreed to in writing, software 00015 * distributed under the License is distributed on an "AS IS" BASIS, 00016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00017 * See the License for the specific language governing permissions and 00018 * limitations under the License. 00019 */ 00020 00021 00029 #include <glib.h> 00030 00031 00032 #ifdef __cplusplus 00033 extern "C" 00034 { 00035 #endif 00036 00037 // globals enums list 00038 // plugin check type 00039 typedef enum _plugin_mode{ 00040 GFAL_PLUGIN_ALL=0, 00041 GFAL_PLUGIN_ACCESS, 00042 GFAL_PLUGIN_CHMOD, 00043 GFAL_PLUGIN_RENAME, 00044 GFAL_PLUGIN_SYMLINK, 00045 GFAL_PLUGIN_STAT, 00046 GFAL_PLUGIN_LSTAT, 00047 GFAL_PLUGIN_MKDIR, 00048 GFAL_PLUGIN_RMDIR, 00049 GFAL_PLUGIN_OPENDIR, // concat of opendir readdir, closedir 00050 GFAL_PLUGIN_OPEN, // concat of open read, close 00051 GFAL_PLUGIN_RESOLVE_GUID, 00052 GFAL_PLUGIN_GETXATTR, 00053 GFAL_PLUGIN_SETXATTR, 00054 GFAL_PLUGIN_LISTXATTR, 00055 GFAL_PLUGIN_READLINK, 00056 GFAL_PLUGIN_UNLINK 00057 00058 } plugin_mode; 00059 00060 typedef enum _gfal_url2_check{ 00061 GFAL_FILE_COPY 00062 00063 } gfal_url2_check; 00064 00065 enum _GFAL_TYPE { GFAL_TYPE_INT=0, GFAL_TYPE_STRING=1 }; 00066 00067 enum _GFAL_PARAM_FUNC{ GFAL_PARAM_SET=0, GFAL_PARAM_GET=1 }; 00068 00069 // plugin 00070 typedef struct _plugin_opts plugin_opts; 00071 typedef struct _gfal_plugin_interface gfal_plugin_interface; 00072 typedef gpointer plugin_handle; 00073 00074 00075 // file descrisptor 00076 typedef struct _gfal_file_descriptor_container *gfal_fdesc_container_handle; 00077 //typedef enum _gfal_type_desc gfal_type_desc; 00078 00079 // dir part file descriptor 00080 typedef struct _gfal_file_handle_* gfal_file_handle; 00081 00082 // main 00083 typedef struct gfal_handle_* gfal_handle; 00084 typedef struct _gfal_descriptors_container gfal_descriptors_container; 00085 typedef struct _gfal_conf_container gfal_conf_container; 00086 00087 00088 typedef enum _GFAL_TYPE GFAL_TYPE; 00089 typedef enum _GFAL_PARAM_FUNC GFAL_PARAM_FUNC; 00090 00091 00092 00093 #ifdef __cplusplus 00094 } 00095 #endif 00096 00097 #endif