globus_connect_gridftp_server 16.16~rc1
Loading...
Searching...
No Matches
/build/globus-connect-gridftp-server-16.16~rc1/gfs_i_recv_cache.h
1/*
2 ** Copyright The University of Chicago
3 **
4 ** All Rights Reserved.
5 **/
6
7#if !defined(GFS_RECV_CACHE_H)
8#define GFS_RECV_CACHE_H 1
9
11
12// cache functions
13
14typedef struct gfs_dyncache_handle_s
15{
16 FILE * tmp_file;
17 globus_mutex_t lock;
18 globus_cond_t cond;
19 globus_size_t buffer_length;
20 globus_size_t max_size;
21 globus_bool_t done_reading;
22 globus_result_t result;
23 globus_off_t read_offset;
24
25 globus_off_t file_size;
26} gfs_dyncache_handle_t;
27
28
29globus_result_t
30gfs_dyncache_register_read(
31 gfs_dyncache_handle_t * handle,
32 globus_gfs_operation_t op,
33 globus_byte_t * buffer,
34 globus_size_t length,
35 globus_gridftp_server_read_cb_t callback,
36 void * user_arg);
37
38globus_result_t
39gfs_i_dynhandle_read_blocking(
40 gfs_dyncache_handle_t * dyncache_handle,
41 globus_gfs_operation_t op);
42
43globus_result_t
44gfs_i_dynhandle_init(
45 gfs_dyncache_handle_t * dyncache_handle,
46 globus_off_t max_size);
47
48globus_result_t
49gfs_i_dynhandle_destroy(
50 gfs_dyncache_handle_t * dyncache_handle);
51
52globus_result_t
53globus_i_gridftp_server_real_register_read(
54 globus_gfs_operation_t op,
55 globus_byte_t * buffer,
56 globus_size_t length,
57 globus_gridftp_server_read_cb_t callback,
58 void * user_arg);
59
60#endif