Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

chirp_types.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
00003 Copyright (C) 2005- The University of Notre Dame
00004 This software is distributed under a BSD-style license.
00005 See the file COPYING for details.
00006 */
00007 
00012 #ifndef CHIRP_TYPES_H
00013 #define CHIRP_TYPES_H
00014 
00015 #include "int_sizes.h"
00016 #include "chirp_protocol.h"
00017 
00018 #include <sys/types.h>
00019 #include <time.h>
00020 #include <fcntl.h>
00021 
00029 struct chirp_stat {
00030         INT64_T cst_dev;        
00031         INT64_T cst_ino;        
00032         INT64_T cst_mode;       
00033         INT64_T cst_nlink;      
00034         INT64_T cst_uid;        
00035         INT64_T cst_gid;        
00036         INT64_T cst_rdev;       
00037         INT64_T cst_size;       
00038         INT64_T cst_blksize;    
00039         INT64_T cst_blocks;     
00040         INT64_T cst_atime;      
00041         INT64_T cst_mtime;      
00042         INT64_T cst_ctime;      
00043 };
00044 
00049 struct chirp_statfs {
00050         INT64_T f_type;         
00051         INT64_T f_blocks;       
00052         INT64_T f_bavail;       
00053         INT64_T f_bsize;        
00054         INT64_T f_bfree;        
00055         INT64_T f_files;        
00056         INT64_T f_ffree;        
00057 };
00058 
00061 typedef enum {
00062         CHIRP_BULKIO_PREAD,  
00063         CHIRP_BULKIO_PWRITE, 
00064         CHIRP_BULKIO_SREAD,  
00065         CHIRP_BULKIO_SWRITE, 
00066         CHIRP_BULKIO_FSTAT,  
00067         CHIRP_BULKIO_FSYNC,   
00068 } chirp_bulkio_t;
00069 
00074 struct chirp_bulkio {
00075         chirp_bulkio_t type;       
00076         struct chirp_file *file;   
00077         struct chirp_stat *info;   
00078         void   *buffer;            
00079         INT64_T length;            
00080         INT64_T stride_length;     
00081         INT64_T stride_skip;       
00082         INT64_T offset;            
00083         INT64_T result;            
00084         INT64_T errnum;            
00085 };
00086 
00091 struct chirp_audit {
00092         char    name[CHIRP_PATH_MAX];   
00093         INT64_T nfiles;                 
00094         INT64_T ndirs;                  
00095         INT64_T nbytes;                 
00096 };
00097 
00102 typedef enum {
00103         CHIRP_JOB_STATE_BEGIN=0,        
00104         CHIRP_JOB_STATE_IDLE=1,         
00105         CHIRP_JOB_STATE_RUNNING=2,      
00106         CHIRP_JOB_STATE_SUSPENDED=3,    
00107         CHIRP_JOB_STATE_COMPLETE=4,     
00108         CHIRP_JOB_STATE_FAILED=5,       
00109         CHIRP_JOB_STATE_KILLED=6,       
00110 } chirp_job_state_t; 
00111 
00116 const char * chirp_job_state_string( chirp_job_state_t state );
00117 
00122 struct chirp_job_state {
00123         INT64_T jobid;                          
00124         char    command[CHIRP_PATH_MAX];        
00125         char    owner[CHIRP_PATH_MAX];          
00126         chirp_job_state_t state;                
00127         int     exit_code;                      
00128         time_t  submit_time;                    
00129         time_t  start_time;                     
00130         time_t  stop_time;                      
00131         int     pid;                            
00132 };
00133 
00142 typedef void (*chirp_dir_t) ( const char *path, void *arg );
00143 
00153 typedef void (*chirp_longdir_t) ( const char *path, struct chirp_stat *info, void *arg );
00154 
00163 typedef void (*chirp_joblist_t) ( struct chirp_job_state *state, void *arg );
00164 
00165 #endif

Generated on Thu Sep 11 10:01:22 2008 for cctools by  doxygen 1.3.9.1