~ubuntu-branches/ubuntu/utopic/adios/utopic

« back to all changes in this revision

Viewing changes to src/nssi/adios_nssi_args.x

  • Committer: Package Import Robot
  • Author(s): Alastair McKinstry
  • Date: 2013-12-09 15:21:31 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20131209152131-jtd4fpmdv3xnunnm
Tags: 1.5.0-1
* New upstream.
* Standards-Version: 3.9.5
* Include latest config.{sub,guess} 
* New watch file.
* Create libadios-bin for binaries.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -------------------------------------------------------------------------- */
 
2
/**
 
3
 *   @file adios_nessie_args.x
 
4
 *
 
5
 *   @brief XDR argument structures for the adios proxy.
 
6
 *
 
7
 *   @author Todd Kordenbrock (thkorde\@sandia.gov).
 
8
 *
 
9
 */
 
10
 
 
11
/* Extra stuff to put at the beginning of the header file */
 
12
#ifdef RPC_HDR
 
13
/*%#include <sys/syslimits.h>  /* ADIOS_PATH_MAX, ... */
 
14
#endif
 
15
 
 
16
/* Extra stuff to put at the beginning of the C file */
 
17
#ifdef RPC_XDR
 
18
%#include <adios.h>
 
19
%#include "adios_nssi_args.h"
 
20
#endif
 
21
 
 
22
/**
 
23
 * Operation codes for the adios proxy.
 
24
 */
 
25
enum adios_opcode {
 
26
    ADIOS_NULL_OP = 10000,
 
27
    ADIOS_OPEN_OP,
 
28
    ADIOS_GROUP_SIZE_OP,
 
29
    ADIOS_READ_OP,
 
30
    ADIOS_WRITE_OP,
 
31
    ADIOS_END_ITER_OP,
 
32
    ADIOS_START_CALC_OP,
 
33
    ADIOS_STOP_CALC_OP,
 
34
    ADIOS_CLOSE_OP,
 
35
    ADIOS_FINALIZE_OP,
 
36
 
 
37
    ADIOS_READ_FOPEN_OP,
 
38
    ADIOS_READ_FCLOSE_OP,
 
39
    ADIOS_READ_GET_VARTYPE_SIZE_OP,
 
40
    ADIOS_READ_READ_VAR_OP
 
41
};
 
42
 
 
43
 
 
44
enum extra_errcodes {
 
45
    ADIOS_ENOTSUPP = -99
 
46
};
 
47
 
 
48
enum write_type {
 
49
    WRITE_DIRECT,
 
50
    WRITE_AGGREGATE_INDEPENDENT,
 
51
    WRITE_AGGREGATE_COLLECTIVE,
 
52
    WRITE_CACHING_INDEPENDENT,
 
53
    WRITE_CACHING_COLLECTIVE
 
54
};
 
55
 
 
56
enum adios_open_mode {
 
57
    ADIOS_MODE_READ,
 
58
    ADIOS_MODE_WRITE,
 
59
    ADIOS_MODE_APPEND,
 
60
    ADIOS_MODE_UPDATE
 
61
 
 
62
};
 
63
 
 
64
const ADIOS_PATH_MAX = 256;
 
65
const ADIOS_DIM_MAX = 16;
 
66
 
 
67
/* ********* ARGUMENTS FOR STUB FUNCTIONS ************* */
 
68
 
 
69
/**
 
70
 * Argument structure for adios_open
 
71
 */
 
72
struct adios_open_args {
 
73
    string          client_id<ADIOS_PATH_MAX>;
 
74
    string          gname<ADIOS_PATH_MAX>;
 
75
    string          fname<ADIOS_PATH_MAX>;
 
76
    adios_open_mode mode;
 
77
    int8_t          use_single_server;
 
78
};
 
79
 
 
80
/**
 
81
 * Structure for adios_open result
 
82
 */
 
83
struct adios_open_res {
 
84
    int64_t fd;
 
85
};
 
86
 
 
87
/**
 
88
 * Argument structure for adios_group_size
 
89
 */
 
90
struct adios_group_size_args {
 
91
    int64_t  fd;
 
92
    uint64_t data_size;
 
93
};
 
94
 
 
95
struct adios_var {
 
96
    uint8_t  is_anonymous;
 
97
    uint64_t vdata;
 
98
    uint64_t vdatasize;
 
99
    string   vpath<ADIOS_PATH_MAX>;
 
100
    string   vname<ADIOS_PATH_MAX>;
 
101
};
 
102
 
 
103
/**
 
104
 * Marshaled arguments for adios_read
 
105
 */
 
106
struct adios_read_args {
 
107
    int64_t  fd;
 
108
    string   vpath<ADIOS_PATH_MAX>;
 
109
    string   vname<ADIOS_PATH_MAX>;
 
110
    uint64_t max_read;
 
111
    uint16_t is_scalar;
 
112
    struct adios_var offsets<ADIOS_DIM_MAX>;
 
113
    struct adios_var ldims<ADIOS_DIM_MAX>;
 
114
    struct adios_var gdims<ADIOS_DIM_MAX>;
 
115
};
 
116
 
 
117
/**
 
118
 * Marshaled arguments for adios_read result
 
119
 */
 
120
struct adios_read_res {
 
121
    uint64_t bytes_read;
 
122
};
 
123
 
 
124
/**
 
125
 * Marshalled argument structure for adios_write
 
126
 */
 
127
struct adios_write_args {
 
128
    int64_t  fd;
 
129
    string   vpath<ADIOS_PATH_MAX>;
 
130
    string   vname<ADIOS_PATH_MAX>;
 
131
    uint64_t vsize;
 
132
    uint64_t atype;
 
133
    uint16_t is_scalar;
 
134
    int64_t  writer_rank;
 
135
    struct adios_var offsets<ADIOS_DIM_MAX>;
 
136
    struct adios_var ldims<ADIOS_DIM_MAX>;
 
137
    struct adios_var gdims<ADIOS_DIM_MAX>;
 
138
};
 
139
 
 
140
/**
 
141
 * Marshaled arguments for adios_write result
 
142
 */
 
143
struct adios_write_res {
 
144
    uint64_t bytes_written;
 
145
};
 
146
 
 
147
/**
 
148
 * Marshalled arguments for adios_end_iteration
 
149
 */
 
150
struct adios_end_iter_args {
 
151
    int64_t fd;
 
152
};
 
153
 
 
154
/**
 
155
 * Marshalled arguments for adios_start_calculation
 
156
 */
 
157
struct adios_start_calc_args {
 
158
    int64_t fd;
 
159
};
 
160
 
 
161
/**
 
162
 * Marshalled arguments for adios_stop_calculation
 
163
 */
 
164
struct adios_stop_calc_args {
 
165
    int64_t fd;
 
166
};
 
167
 
 
168
/**
 
169
 * Marshalled arguments for adios_close
 
170
 */
 
171
struct adios_close_args {
 
172
    string  fname<ADIOS_PATH_MAX>;
 
173
    int64_t fd;
 
174
};
 
175
 
 
176
/**
 
177
 * Marshalled arguments for adios_finalize
 
178
 */
 
179
struct adios_finalize_args {
 
180
    string client_id<ADIOS_PATH_MAX>;
 
181
};
 
182
 
 
183
 
 
184
/**
 
185
 * Argument structure for adios_read_fopen
 
186
 */
 
187
struct adios_read_fopen_args {
 
188
    string client_id<ADIOS_PATH_MAX>;
 
189
    string gname<ADIOS_PATH_MAX>;
 
190
    string fname<ADIOS_PATH_MAX>;
 
191
    uint64_t requested_timestep;
 
192
};
 
193
 
 
194
/**
 
195
 * Structure for adios_read_fopen result
 
196
 */
 
197
struct adios_read_fopen_res {
 
198
    int64_t fd;
 
199
};
 
200
 
 
201
/**
 
202
 * Marshaled arguments for adios_read
 
203
 */
 
204
struct adios_read_read_var_args {
 
205
    int64_t  fd;
 
206
    string   client_id<ADIOS_PATH_MAX>;
 
207
    uint64_t open_timestep;
 
208
    string   vpath<ADIOS_PATH_MAX>;
 
209
    string   vname<ADIOS_PATH_MAX>;
 
210
    uint64_t max_read;
 
211
    uint16_t is_scalar;
 
212
 
 
213
    uint64_t offsets[3];
 
214
    uint64_t counts[3];
 
215
};
 
216
 
 
217
/**
 
218
 * Marshaled arguments for adios_read result
 
219
 */
 
220
struct adios_read_read_var_res {
 
221
    uint64_t bytes_read;
 
222
};
 
223
 
 
224
/**
 
225
 * Marshaled arguments for adios_read
 
226
 */
 
227
struct adios_read_get_vartype_size_args {
 
228
    int64_t  fd;
 
229
    string   client_id<ADIOS_PATH_MAX>;
 
230
    uint64_t open_timestep;
 
231
    string   vpath<ADIOS_PATH_MAX>;
 
232
    string   vname<ADIOS_PATH_MAX>;
 
233
};
 
234
 
 
235
/**
 
236
 * Marshaled arguments for adios_read result
 
237
 */
 
238
struct adios_read_get_vartype_size_res {
 
239
    uint64_t vartype_size;
 
240
};
 
241
 
 
242
/**
 
243
 * Marshalled arguments for adios_fclose
 
244
 */
 
245
struct adios_read_fclose_args {
 
246
    int64_t  fd;
 
247
    uint64_t open_timestep;
 
248
    string   client_id<ADIOS_PATH_MAX>;
 
249
    string   fname<ADIOS_PATH_MAX>;
 
250
};