cctools
chirp_types.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
3 Copyright (C) 2005- The University of Notre Dame
4 This software is distributed under the GNU General Public License.
5 See the file COPYING for details.
6 */
7 
12 #ifndef CHIRP_TYPES_H
13 #define CHIRP_TYPES_H
14 
15 #include "int_sizes.h"
16 #include "chirp_protocol.h"
17 
18 #include <sys/types.h>
19 #include <time.h>
20 #include <fcntl.h>
21 
29 struct chirp_stat {
30  INT64_T cst_dev;
31  INT64_T cst_ino;
32  INT64_T cst_mode;
33  INT64_T cst_nlink;
34  INT64_T cst_uid;
35  INT64_T cst_gid;
36  INT64_T cst_rdev;
37  INT64_T cst_size;
38  INT64_T cst_blksize;
39  INT64_T cst_blocks;
40  INT64_T cst_atime;
41  INT64_T cst_mtime;
42  INT64_T cst_ctime;
43 };
44 
49 struct chirp_statfs {
50  INT64_T f_type;
51  INT64_T f_blocks;
52  INT64_T f_bavail;
53  INT64_T f_bsize;
54  INT64_T f_bfree;
55  INT64_T f_files;
56  INT64_T f_ffree;
57 };
58 
61 struct chirp_dirent {
62  char *name;
63  struct chirp_stat info;
64  struct chirp_dirent *next;
65 };
66 
69 typedef enum {
77 
82 struct chirp_bulkio {
84  struct chirp_file *file;
85  struct chirp_stat *info;
86  void *buffer;
87  INT64_T length;
88  INT64_T stride_length;
89  INT64_T stride_skip;
90  INT64_T offset;
91  INT64_T result;
92  INT64_T errnum;
93 };
94 
99 struct chirp_audit {
101  INT64_T nfiles;
102  INT64_T ndirs;
103  INT64_T nbytes;
104 };
105 
114 typedef void (*chirp_dir_t) (const char *path, void *arg);
115 
125 typedef void (*chirp_longdir_t) (const char *path, struct chirp_stat * info, void *arg);
126 
135 typedef void (*chirp_loc_t) (const char *location, void *arg);
136 
137 #endif