13 #include <openssl/md5.h>
16 #include "gridftp_hdfs_error.h"
24 #pragma GCC visibility push(hidden)
27 #define default_id 00;
31 extern globus_version_t gridftp_hdfs_local_version;
33 #define HDFS_CKSM_TYPE_CKSUM 1
34 #define HDFS_CKSM_TYPE_CRC32 2
35 #define HDFS_CKSM_TYPE_ADLER32 4
36 #define HDFS_CKSM_TYPE_MD5 8
38 typedef struct globus_l_gfs_hdfs_handle_s
43 globus_off_t file_size;
45 globus_off_t op_length;
50 globus_gfs_operation_t op;
52 globus_off_t * offsets;
56 unsigned int max_buffer_count;
57 unsigned int max_file_buffer_count;
58 unsigned int buffer_count;
59 unsigned int outstanding;
64 unsigned int mount_point_len;
65 unsigned int replicas;
67 char * tmp_file_pattern;
74 unsigned int io_block_size;
75 unsigned long long io_count;
80 const char * cksm_root;
81 unsigned char cksm_types;
83 char md5_output[MD5_DIGEST_LENGTH];
84 char md5_output_human[MD5_DIGEST_LENGTH*2+1];
86 char adler32_human[2*
sizeof(uint32_t)+1];
89 } globus_l_gfs_hdfs_handle_t;
90 typedef globus_l_gfs_hdfs_handle_t hdfs_handle_t;
93 extern char err_msg[MSG_SIZE];
98 globus_gfs_operation_t op,
99 globus_gfs_transfer_info_t * transfer_info,
106 globus_gfs_operation_t op,
107 globus_gfs_transfer_info_t * transfer_info,
113 globus_l_gfs_hdfs_handle_t * hdfs_handle,
120 globus_l_gfs_hdfs_handle_t * hdfs_handle);
123 hdfs_dump_buffer_immed(
124 hdfs_handle_t * hdfs_handle,
131 hdfs_handle_t * hdfs_handle,
136 hdfs_handle_t * hdfs_handle,
141 hdfs_handle_t * hdfs_handle);
145 hdfs_handle_t * hdfs_handle,
150 hdfs_handle_t * hdfs_handle);
156 globus_gfs_operation_t op,
157 globus_gfs_stat_info_t * stat_info,
164 hdfs_handle_t * hdfs_handle,
169 hdfs_handle_t * hdfs_handle,
174 hdfs_handle_t * hdfs_handle);
178 hdfs_handle_t * hdfs_handle);
182 hdfs_parse_checksum_types(
183 hdfs_handle_t * hdfs_handle,
187 hdfs_initialize_checksums(
188 hdfs_handle_t * hdfs_handle);
191 hdfs_update_checksums(
192 hdfs_handle_t * hdfs_handle,
197 hdfs_finalize_checksums(
198 hdfs_handle_t * hdfs_handle);
202 hdfs_handle_t * hdfs_handle);
206 hdfs_handle_t * hdfs_handle,
207 const char * pathname,
208 const char * requested_cksm,
211 #pragma GCC visibility pop