xrootd
XrdClientAdmin_c.hh
Go to the documentation of this file.
1 /********************************************************************************/
2 /* X T N e t A d m i n _ c i n t f . h h */
3 /* 2004 */
4 /* Produced by Alvise Dorigo & Fabrizio Furano for INFN padova */
5 /* A C wrapper for XTNetAdmin functionalities */
6 /********************************************************************************/
7 //
8 // $Id$
9 //
10 // Author: Alvise Dorigo, Fabrizio Furano
11 
12 
13 #ifdef SWIG
14 %module XrdClientAdmin
15 %include typemaps.i // Load the typemaps librayr
16 
17  // This tells SWIG to treat an char * argument with name res as
18  // an output value.
19 
20 %typemap(argout) char *OUTPUT {
21  $result = sv_newmortal();
22  sv_setnv($result, arg2);
23  argvi++; /* Increment return count -- important! */
24 }
25 
26 // We don't care what the input value is. Ignore, but set to a temporary variable
27 
28 %typemap(in,numinputs=0) char *OUTPUT(char junk) {
29  $1 = &junk;
30 }
31 
32 %apply char *OUTPUT { char *ans };
33 
34 // For the stat function to return an array containing the
35 // various fields of the answer
36 %apply long *OUTPUT {long *id}; // Make "result" an output parameter
37 %apply long long *OUTPUT {long long *size}; // Make "result" an output parameter
38 %apply long *OUTPUT {long *flags}; // Make "result" an output parameter
39 %apply long *OUTPUT {long *modtime}; // Make "result" an output parameter
40 
41 %{
43  %}
44 
45 #endif
46 
47 extern "C" {
48  // Some prototypes to wrap ctor and dtor
49  // In this version we support only one instance to be handled
50  // by this wrapper. Supporting more than one instance should be no
51  // problem.
52  bool XrdInitialize(const char *url, const char *EnvValues);
53  bool XrdTerminate();
54 
55  // The other functions, slightly modified from the originals
56  char *XrdSysStatX(const char *paths_list);
57 
58  char *XrdExistFiles(const char *filepaths);
59  char *XrdExistDirs(const char *filepaths);
60  char *XrdIsFileOnline(const char *filepaths);
61 
62  bool XrdMv(const char *fileSrc, const char *fileDest);
63  bool XrdMkdir(const char *dir, int user, int group, int other);
64  bool XrdChmod(const char *file, int user, int group, int other);
65  bool XrdRm(const char *file);
66  bool XrdRmdir(const char *path);
67  bool XrdPrepare(const char *filepaths, unsigned char opts, unsigned char prty);
68  char *XrdDirList(const char *dir);
69  char *XrdGetChecksum(const char *path);
70  char *XrdGetCurrentHost();
71 
72  bool XrdStat(const char *fname, long *id, long long *size, long *flags, long *modtime);
73 }