chirp_client.h

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 the GNU General Public License.
00005 See the file COPYING for details.
00006 */
00007 
00008 #ifndef CHIRP_CLIENT_H
00009 #define CHIRP_CLIENT_H
00010 
00011 #include "int_sizes.h"
00012 #include "chirp_protocol.h"
00013 #include "chirp_types.h"
00014 
00015 #include <fcntl.h>
00016 #include <unistd.h>
00017 #include <stdio.h>
00018 #include <time.h>
00019 #include <time.h>
00020 
00021 struct chirp_client * chirp_client_connect( const char *host, int negotiate_auth, time_t stoptime );
00022 struct chirp_client * chirp_client_connect_condor( time_t stoptime );
00023 
00024 void chirp_client_disconnect( struct chirp_client *c );
00025 INT64_T  chirp_client_serial( struct chirp_client *c );
00026 
00027 INT64_T chirp_client_open( struct chirp_client *c, const char *path, INT64_T flags, INT64_T mode, struct chirp_stat *buf, time_t stoptime );
00028 INT64_T chirp_client_close( struct chirp_client *c, INT64_T fd, time_t stoptime );
00029 INT64_T chirp_client_pread( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00030 INT64_T chirp_client_pwrite( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00031 INT64_T chirp_client_sread( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00032 INT64_T chirp_client_swrite( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00033 INT64_T chirp_client_fsync( struct chirp_client *c, INT64_T fd, time_t stoptime );
00034 INT64_T chirp_client_fstat( struct chirp_client *c, INT64_T fd, struct chirp_stat *buf, time_t stoptime );
00035 INT64_T chirp_client_fstatfs( struct chirp_client *c, INT64_T fd, struct chirp_statfs *buf, time_t stoptime );
00036 INT64_T chirp_client_fchown( struct chirp_client *c, INT64_T fd, INT64_T uid, INT64_T gid, time_t stoptime );
00037 INT64_T chirp_client_fchmod( struct chirp_client *c, INT64_T fd, INT64_T mode, time_t stoptime );
00038 INT64_T chirp_client_ftruncate( struct chirp_client *c, INT64_T fd, INT64_T length, time_t stoptime );
00039 
00040 INT64_T chirp_client_getfile( struct chirp_client *c, const char *name, FILE *stream, time_t stoptime );
00041 INT64_T chirp_client_getfile_buffer( struct chirp_client *c, const char *name, char **buffer, time_t stoptime );
00042 INT64_T chirp_client_putfile( struct chirp_client *c, const char *name, FILE *stream, INT64_T mode, INT64_T length, time_t stoptime );
00043 INT64_T chirp_client_putfile_buffer( struct chirp_client *c, const char *name, const char *buffer, INT64_T mode, INT64_T length, time_t stoptime );
00044 INT64_T chirp_client_thirdput( struct chirp_client *c, const char *path, const char *hostname, const char *newpath, time_t stoptime );
00045 
00046 INT64_T chirp_client_getstream( struct chirp_client *c, const char *path, time_t stoptime );
00047 INT64_T chirp_client_getstream_read( struct chirp_client *c, void *buffer, INT64_T length, time_t stoptime );
00048 
00049 INT64_T chirp_client_putstream( struct chirp_client *c, const char *path, time_t stoptime );
00050 INT64_T chirp_client_putstream_write( struct chirp_client *c, const char *data, INT64_T length, time_t stoptime );
00051 
00052 INT64_T chirp_client_cookie( struct chirp_client *c, const char *cookie, time_t stoptime );
00053 INT64_T chirp_client_getlongdir( struct chirp_client *c, const char *path, chirp_longdir_t callback, void *arg, time_t stoptime );
00054 INT64_T chirp_client_getdir( struct chirp_client *c, const char *path, chirp_dir_t callback, void *arg, time_t stoptime );
00055 INT64_T chirp_client_opendir( struct chirp_client *c, const char *path, time_t stoptime );
00056 const char * chirp_client_readdir( struct chirp_client *c, time_t stoptime );
00057 INT64_T chirp_client_getacl( struct chirp_client *c, const char *path, chirp_dir_t callback, void *arg, time_t stoptime );
00058 INT64_T chirp_client_openacl( struct chirp_client *c, const char *path, time_t stoptime );
00059 const char * chirp_client_readacl( struct chirp_client *c, time_t stoptime );
00060 INT64_T chirp_client_setacl( struct chirp_client *c, const char *path, const char *user, const char *acl, time_t stoptime );
00061 INT64_T chirp_client_resetacl( struct chirp_client *c, const char *path, const char *acl, time_t stoptime );
00062 INT64_T chirp_client_locate( struct chirp_client *c, const char *path, chirp_loc_t callback, void *arg, time_t stoptime );
00063 INT64_T chirp_client_whoami( struct chirp_client *c, char *buf, INT64_T length, time_t stoptime );
00064 INT64_T chirp_client_whoareyou( struct chirp_client *c, const char *rhost, char *buffer, INT64_T length, time_t stoptime  );
00065 INT64_T chirp_client_mkfifo( struct chirp_client *c, const char *path, time_t stoptime );
00066 INT64_T chirp_client_unlink( struct chirp_client *c, const char *path, time_t stoptime );
00067 INT64_T chirp_client_rename( struct chirp_client *c, const char *path, const char *newpath, time_t stoptime );
00068 INT64_T chirp_client_link( struct chirp_client *c, const char *path, const char *newpath, time_t stoptime );
00069 INT64_T chirp_client_symlink( struct chirp_client *c, const char *path, const char *newpath, time_t stoptime );
00070 INT64_T chirp_client_readlink( struct chirp_client *c, const char *path, char *buf, INT64_T length, time_t stoptime );
00071 INT64_T chirp_client_mkdir( struct chirp_client *c, char const *path, INT64_T mode, time_t stoptime );
00072 INT64_T chirp_client_rmdir( struct chirp_client *c, char const *path, time_t stoptime );
00073 INT64_T chirp_client_rmall( struct chirp_client *c, char const *path, time_t stoptime );
00074 INT64_T chirp_client_stat( struct chirp_client *c, const char *path, struct chirp_stat *buf, time_t stoptime );
00075 INT64_T chirp_client_lstat( struct chirp_client *c, const char *path, struct chirp_stat *buf, time_t stoptime );
00076 INT64_T chirp_client_statfs( struct chirp_client *c, const char *path, struct chirp_statfs *buf, time_t stoptime );
00077 INT64_T chirp_client_access( struct chirp_client *c, const char *path, INT64_T mode, time_t stoptime );
00078 INT64_T chirp_client_chmod( struct chirp_client *c, const char *path, INT64_T mode, time_t stoptime );
00079 INT64_T chirp_client_chown( struct chirp_client *c, const char *path, INT64_T uid, INT64_T gid, time_t stoptime );
00080 INT64_T chirp_client_lchown( struct chirp_client *c, const char *path, INT64_T uid, INT64_T gid, time_t stoptime );
00081 INT64_T chirp_client_truncate( struct chirp_client *c, const char *path, INT64_T length, time_t stoptime );
00082 INT64_T chirp_client_utime( struct chirp_client *c, const char *path, time_t actime, time_t modtime, time_t stoptime );
00083 INT64_T chirp_client_md5( struct chirp_client *c, const char *path, unsigned char digest[16], time_t stoptime );
00084 INT64_T chirp_client_localpath( struct chirp_client *c, const char *path, char *localpath, int length, time_t stoptime );
00085 INT64_T chirp_client_audit( struct chirp_client *c, const char *path, struct chirp_audit **list, time_t stoptime );
00086 
00087 INT64_T chirp_client_mkalloc( struct chirp_client *c, char const *path, INT64_T size, INT64_T mode, time_t stoptime );
00088 INT64_T chirp_client_lsalloc( struct chirp_client *c, char const *path, char *allocpath, INT64_T *total, INT64_T *inuse, time_t stoptime );
00089 
00090 INT64_T chirp_client_group_create( struct chirp_client *c, char *group, time_t stoptime );
00091 INT64_T chirp_client_group_list( struct chirp_client *c, const char *group, chirp_dir_t callback, void *arg, time_t stoptime );
00092 INT64_T chirp_client_group_add( struct chirp_client *c, char *group, char *user, time_t stoptime );
00093 INT64_T chirp_client_group_remove( struct chirp_client *c, char *group, char *user, time_t stoptime );
00094 INT64_T chirp_client_group_lookup( struct chirp_client *c, const char *group, const char *user, time_t stoptime );
00095 INT64_T chirp_client_group_cache_update( struct chirp_client *c, const char *group, time_t mod_time, time_t stoptime );
00096 INT64_T chirp_client_group_policy_set( struct chirp_client *c, char *group, unsigned long int file_duration, unsigned long int dec_duration, time_t stoptime );
00097 INT64_T chirp_client_group_policy_get( struct chirp_client *c, const char *group, int *policy, int *file_duration, int *dec_duration, time_t stoptime );
00098 
00099 INT64_T chirp_client_job_begin( struct chirp_client *c, const char *cwd, const char *input, const char *output, const char *error, const char *cmdline, time_t stoptime );
00100 INT64_T chirp_client_job_commit( struct chirp_client *c, INT64_T jobid, time_t stoptime );
00101 INT64_T chirp_client_job_wait( struct chirp_client *c, INT64_T jobid, struct chirp_job_state *state, int wait_time, time_t stoptime );
00102 INT64_T chirp_client_job_kill( struct chirp_client *c, INT64_T jobid, time_t stoptime );
00103 INT64_T chirp_client_job_remove( struct chirp_client *c, INT64_T jobid, time_t stoptime );
00104 INT64_T chirp_client_job_list( struct chirp_client *c, chirp_joblist_t callback, void *arg, time_t stoptime );
00105 
00106 INT64_T chirp_client_pread_begin( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00107 INT64_T chirp_client_pread_finish( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00108 INT64_T chirp_client_sread_begin( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00109 INT64_T chirp_client_sread_finish( struct chirp_client *c, INT64_T fd, void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00110 INT64_T chirp_client_pwrite_begin( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00111 INT64_T chirp_client_pwrite_finish( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T offset, time_t stoptime );
00112 INT64_T chirp_client_swrite_begin( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00113 INT64_T chirp_client_swrite_finish( struct chirp_client *c, INT64_T fd, const void *buffer, INT64_T length, INT64_T stride_length, INT64_T stride_skip, INT64_T offset, time_t stoptime );
00114 INT64_T chirp_client_fsync_begin( struct chirp_client *c, INT64_T fd, time_t stoptime );
00115 INT64_T chirp_client_fsync_finish( struct chirp_client *c, INT64_T fd, time_t stoptime );
00116 INT64_T chirp_client_fstat_begin( struct chirp_client *c, INT64_T fd, struct chirp_stat *buf, time_t stoptime );
00117 INT64_T chirp_client_fstat_finish( struct chirp_client *c, INT64_T fd, struct chirp_stat *buf, time_t stoptime );
00118 
00119 #endif

Generated on Fri Jan 8 15:30:02 2010 for cctools by  doxygen 1.6.1