00001
00002
00003
00004
00005
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
00063 struct chirp_audit {
00064 char name[CHIRP_PATH_MAX];
00065 INT64_T nfiles;
00066 INT64_T ndirs;
00067 INT64_T nbytes;
00068 };
00069
00074 typedef enum {
00075 CHIRP_JOB_STATE_BEGIN=0,
00076 CHIRP_JOB_STATE_IDLE=1,
00077 CHIRP_JOB_STATE_RUNNING=2,
00078 CHIRP_JOB_STATE_SUSPENDED=3,
00079 CHIRP_JOB_STATE_COMPLETE=4,
00080 CHIRP_JOB_STATE_FAILED=5,
00081 CHIRP_JOB_STATE_KILLED=6,
00082 } chirp_job_state_t;
00083
00088 const char * chirp_job_state_string( chirp_job_state_t state );
00089
00094 struct chirp_job_state {
00095 INT64_T jobid;
00096 char command[CHIRP_PATH_MAX];
00097 char owner[CHIRP_PATH_MAX];
00098 chirp_job_state_t state;
00099 int exit_code;
00100 time_t submit_time;
00101 time_t start_time;
00102 time_t stop_time;
00103 int pid;
00104 };
00105
00114 typedef void (*chirp_dir_t) ( const char *path, void *arg );
00115
00125 typedef void (*chirp_longdir_t) ( const char *path, struct chirp_stat *info, void *arg );
00126
00135 typedef void (*chirp_joblist_t) ( struct chirp_job_state *state, void *arg );
00136
00137 #endif