/Home/aooliver/work/stagersvc/org.glite.data.lcg_gfal/src/gfal.h File Reference

#include "gfal_constants.h"

Go to the source code of this file.

Classes

struct  dir_info
struct  proto_ops
struct  xfer_info

Functions

static ssize_t dummysetfilchg ()
static int fnotsup ()
static struct dir_infoalloc_di (DIR *)
static struct xfer_infoalloc_xi (int)
static struct dir_infofind_di (DIR *)
static struct xfer_infofind_xi (int)
static int free_di (struct dir_info *)
static int free_xi (int)
static int mdtomd32 (struct stat64 *, struct stat *)
proto_opsfind_pops (const char *)
char ** get_sup_proto ()
int mapposixerror (struct proto_ops *, int)


Function Documentation

static struct dir_info* alloc_di DIR *   )  [static]
 

static struct xfer_info* alloc_xi int   )  [static]
 

static ssize_t dummysetfilchg  )  [static]
 

static struct dir_info* find_di DIR *   )  [static]
 

struct proto_ops* find_pops const char *   ) 
 

Definition at line 254 of file checkprotolib.c.

References pops_array, and proto_ops::proto_name.

Referenced by deletepfn(), gfal_access(), gfal_chmod(), gfal_lstat(), gfal_lstat64(), gfal_mkdir(), gfal_open(), gfal_opendir(), gfal_rename(), gfal_rmdir(), gfal_stat(), and gfal_stat64().

00255 {
00256         struct proto_ops *pops;
00257         struct proto_ops *tmp;
00258 
00259         for (pops = pops_array; *pops->proto_name; pops++) {
00260                 if (strcmp (protocol, pops->proto_name) == 0)
00261                         break;
00262         }
00263         if (*pops->proto_name) {
00264                 if (pops->libok > 0)
00265                         return (pops);
00266                 if (pops->libok == 0 && pops->checkprotolib (pops) == 0) {
00267                         for (tmp = pops_array; *tmp->proto_name; tmp++) {
00268                                 if (tmp != pops &&
00269                                     tmp->checkprotolib == pops->checkprotolib)
00270                                         memcpy (&tmp->libok, &pops->libok,
00271                                             sizeof(struct proto_ops) - sizeof(char *));
00272                         }
00273                         return (pops);
00274                 }
00275         }
00276         errno = EPROTONOSUPPORT;
00277         return (NULL);
00278 }

static struct xfer_info* find_xi int   )  [static]
 

static int fnotsup  )  [static]
 

static int free_di struct dir_info  )  [static]
 

static int free_xi int   )  [static]
 

char** get_sup_proto  ) 
 

Definition at line 288 of file checkprotolib.c.

References proto_ops::checkprotolib, proto_ops::libok, pops_array, and proto_ops::proto_name.

Referenced by gfal_open(), and turlfromsfn().

00289 {
00290         int i = 0;
00291         struct proto_ops *pops;
00292         static char *supported_protocols[sizeof(pops_array)/sizeof(struct proto_ops)];
00293         struct proto_ops *tmp;
00294 
00295         for (pops = pops_array;; pops++) {
00296                 if (pops->libok < 0) continue;          /* library not accessible */
00297                 if (pops->libok == 0) {
00298                         if (pops->checkprotolib (pops))
00299                                 continue;
00300                         for (tmp = pops_array; *tmp->proto_name; tmp++) {
00301                                 if (tmp != pops &&
00302                                     tmp->checkprotolib == pops->checkprotolib)
00303                                         memcpy (&tmp->libok, &pops->libok,
00304                                             sizeof(struct proto_ops) - sizeof(char *));
00305                         }
00306                 }
00307                 supported_protocols[i++] = pops->proto_name;
00308                 if (*pops->proto_name == '\0') break;
00309         }
00310         return (supported_protocols);
00311 }

int mapposixerror struct proto_ops ,
int 
 

Definition at line 313 of file checkprotolib.c.

00314 {
00315         return (errno);
00316 }

static int mdtomd32 struct stat64 *  ,
struct stat * 
[static]
 


Generated on Fri Sep 8 20:20:47 2006 for GFAL by  doxygen 1.4.6