[77] | 1 | #include <time.h> |
---|
| 2 | |
---|
| 3 | #ifndef DRMAA2_H |
---|
| 4 | #define DRMAA2_H |
---|
| 5 | |
---|
| 6 | typedef enum drmaa2_jstate { |
---|
| 7 | DRMAA2_UNDETERMINED = 0, |
---|
| 8 | DRMAA2_QUEUED = 1, |
---|
| 9 | DRMAA2_QUEUED_HELD = 2, |
---|
| 10 | DRMAA2_RUNNING = 3, |
---|
| 11 | DRMAA2_SUSPENDED = 4, |
---|
| 12 | DRMAA2_REQUEUED = 5, |
---|
| 13 | DRMAA2_REQUEUED_HELD = 6, |
---|
| 14 | DRMAA2_DONE = 7, |
---|
| 15 | DRMAA2_FAILED = 8 |
---|
| 16 | } drmaa2_jstate; |
---|
| 17 | |
---|
| 18 | typedef enum drmaa2_os { |
---|
| 19 | DRMAA2_OTHER_OS = 0, |
---|
| 20 | DRMAA2_AIX = 1, |
---|
| 21 | DRMAA2_BSD = 2, |
---|
| 22 | DRMAA2_LINUX = 3, |
---|
| 23 | DRMAA2_HPUX = 4, |
---|
| 24 | DRMAA2_IRIX = 5, |
---|
| 25 | DRMAA2_MACOS = 6, |
---|
| 26 | DRMAA2_SUNOS = 7, |
---|
| 27 | DRMAA2_TRU64 = 8, |
---|
| 28 | DRMAA2_UNIXWARE = 9, |
---|
| 29 | DRMAA2_WIN = 10, |
---|
| 30 | DRMAA2_WINNT = 11 |
---|
| 31 | } drmaa2_os; |
---|
| 32 | |
---|
| 33 | typedef enum drmaa2_cpu { |
---|
| 34 | DRMAA2_OTHER_CPU = 0, |
---|
| 35 | DRMAA2_ALPHA = 1, |
---|
| 36 | DRMAA2_ARM = 2, |
---|
| 37 | DRMAA2_ARM64 = 3, |
---|
| 38 | DRMAA2_CELL = 4, |
---|
| 39 | DRMAA2_PARISC = 5, |
---|
| 40 | DRMAA2_PARISC64 = 6, |
---|
| 41 | DRMAA2_X86 = 7, |
---|
| 42 | DRMAA2_X64 = 8, |
---|
| 43 | DRMAA2_IA64 = 9, |
---|
| 44 | DRMAA2_MIPS = 10, |
---|
| 45 | DRMAA2_MIPS64 = 11, |
---|
| 46 | DRMAA2_PPC = 12, |
---|
| 47 | DRMAA2_PPC64 = 13, |
---|
| 48 | DRMAA2_SPARC = 14, |
---|
| 49 | DRMAA2_SPARC64 = 15 |
---|
| 50 | } drmaa2_cpu; |
---|
| 51 | |
---|
| 52 | typedef enum drmaa2_limit { |
---|
| 53 | DRMAA2_CORE_FILE_SIZE = 0, |
---|
| 54 | DRMAA2_CPU_TIME = 1, |
---|
| 55 | DRMAA2_DATA_SIZE = 2, |
---|
| 56 | DRMAA2_FILE_SIZE = 3, |
---|
| 57 | DRMAA2_OPEN_FILES = 4, |
---|
| 58 | DRMAA2_STACK_SIZE = 5, |
---|
| 59 | DRMAA2_VIRTUAL_MEMORY = 6, |
---|
| 60 | DRMAA2_WALLCLOCK_TIME = 7 |
---|
| 61 | } drmaa2_limit; |
---|
| 62 | |
---|
| 63 | typedef enum drmaa2_event { |
---|
| 64 | DRMAA2_NEW_STATE = 0, |
---|
| 65 | DRMAA2_MIGRATED = 1, |
---|
| 66 | DRMAA2_ATTRIBUTE_CHANGE = 2 |
---|
| 67 | } drmaa2_event; |
---|
| 68 | |
---|
| 69 | typedef enum drmaa2_capability { |
---|
| 70 | DRMAA2_ADVANCE_RESERVATION = 0, |
---|
| 71 | DRMAA2_RESERVE_SLOTS = 1, |
---|
| 72 | DRMAA2_CALLBACK = 2, |
---|
| 73 | DRMAA2_BULK_JOBS_MAXPARALLEL = 3, |
---|
| 74 | DRMAA2_JT_EMAIL = 4, |
---|
| 75 | DRMAA2_JT_STAGING = 5, |
---|
| 76 | DRMAA2_JT_DEADLINE = 6, |
---|
| 77 | DRMAA2_JT_MAXSLOTS = 7, |
---|
| 78 | DRMAA2_JT_ACCOUNTINGID = 8, |
---|
| 79 | DRMAA2_RT_STARTNOW = 9, |
---|
| 80 | DRMAA2_RT_DURATION = 10, |
---|
| 81 | DRMAA2_RT_MACHINEOS = 11, |
---|
| 82 | DRMAA2_RT_MACHINEARCH = 12 |
---|
| 83 | } drmaa2_capability; |
---|
| 84 | |
---|
| 85 | typedef enum drmaa2_bool { |
---|
| 86 | DRMAA2_FALSE = 0, |
---|
| 87 | DRMAA2_TRUE = 1 |
---|
| 88 | } drmaa2_bool; |
---|
| 89 | |
---|
| 90 | typedef enum drmaa2_error { |
---|
| 91 | DRMAA2_SUCCESS = 0, |
---|
| 92 | DRMAA2_DENIED_BY_DRMS = 1, |
---|
| 93 | DRMAA2_DRM_COMMUNICATION = 2, |
---|
| 94 | DRMAA2_TRY_LATER = 3, |
---|
| 95 | DRMAA2_SESSION_MANAGEMENT = 4, |
---|
| 96 | DRMAA2_TIMEOUT = 5, |
---|
| 97 | DRMAA2_INTERNAL = 6, |
---|
| 98 | DRMAA2_INVALID_ARGUMENT = 7, |
---|
| 99 | DRMAA2_INVALID_SESSION = 8, |
---|
| 100 | DRMAA2_INVALID_STATE = 9, |
---|
| 101 | DRMAA2_OUT_OF_RESOURCE = 10, |
---|
| 102 | DRMAA2_UNSUPPORTED_ATTRIBUTE = 11, |
---|
| 103 | DRMAA2_UNSUPPORTED_OPERATION = 12, |
---|
| 104 | DRMAA2_IMPLEMENTATION_SPECIFIC = 13, |
---|
| 105 | DRMAA2_LASTERROR = 14 |
---|
| 106 | } drmaa2_error; |
---|
| 107 | |
---|
| 108 | typedef char * drmaa2_string; |
---|
| 109 | void drmaa2_string_free(drmaa2_string *); |
---|
| 110 | |
---|
| 111 | drmaa2_error drmaa2_lasterror(void); |
---|
| 112 | drmaa2_string drmaa2_lasterror_text(void); |
---|
| 113 | |
---|
| 114 | struct drmaa2_list_s; /*forward*/ |
---|
| 115 | typedef struct drmaa2_list_s * drmaa2_list; |
---|
| 116 | typedef struct drmaa2_list_s * drmaa2_string_list; |
---|
| 117 | typedef struct drmaa2_list_s * drmaa2_j_list; |
---|
| 118 | typedef struct drmaa2_list_s * drmaa2_queueinfo_list; |
---|
| 119 | typedef struct drmaa2_list_s * drmaa2_machineinfo_list; |
---|
| 120 | typedef struct drmaa2_list_s * drmaa2_slotinfo_list; |
---|
| 121 | typedef struct drmaa2_list_s * drmaa2_r_list; |
---|
| 122 | |
---|
| 123 | typedef enum drmaa2_listtype { |
---|
| 124 | DRMAA2_STRINGLIST, |
---|
| 125 | DRMAA2_JOBLIST, |
---|
| 126 | DRMAA2_QUEUEINFOLIST, |
---|
| 127 | DRMAA2_MACHINEINFOLIST, |
---|
| 128 | DRMAA2_SLOTINFOLIST, |
---|
| 129 | DRMAA2_RESERVATIONLIST |
---|
| 130 | } drmaa2_listtype; |
---|
| 131 | |
---|
| 132 | typedef void (*drmaa2_list_entryfree)(void **value); |
---|
| 133 | drmaa2_list drmaa2_list_create (const drmaa2_listtype t, const drmaa2_list_entryfree callback); |
---|
| 134 | void drmaa2_list_free ( drmaa2_list * l); |
---|
| 135 | const void * drmaa2_list_get (const drmaa2_list l, long pos); |
---|
| 136 | drmaa2_error drmaa2_list_add ( drmaa2_list l, const void * value); |
---|
| 137 | drmaa2_error drmaa2_list_del ( drmaa2_list l, long pos); |
---|
| 138 | long drmaa2_list_size (const drmaa2_list l); |
---|
| 139 | |
---|
| 140 | struct drmaa2_dict_s; /*forward*/ |
---|
| 141 | typedef struct drmaa2_dict_s * drmaa2_dict; |
---|
| 142 | |
---|
| 143 | typedef void (*drmaa2_dict_entryfree)(char **key, char **val); |
---|
| 144 | drmaa2_dict drmaa2_dict_create (const drmaa2_dict_entryfree callback); |
---|
| 145 | void drmaa2_dict_free ( drmaa2_dict * d); |
---|
| 146 | drmaa2_string_list drmaa2_dict_list (const drmaa2_dict d); |
---|
| 147 | drmaa2_bool drmaa2_dict_has (const drmaa2_dict d, const char * key); |
---|
| 148 | const char * drmaa2_dict_get (const drmaa2_dict d, const char * key); |
---|
| 149 | drmaa2_error drmaa2_dict_del ( drmaa2_dict d, const char * key); |
---|
| 150 | drmaa2_error drmaa2_dict_set ( drmaa2_dict d, const char * key, const char * val); |
---|
| 151 | |
---|
| 152 | #define DRMAA2_ZERO_TIME ((time_t) 0) |
---|
| 153 | #define DRMAA2_INFINITE_TIME ((time_t) -1) |
---|
| 154 | #define DRMAA2_NOW ((time_t) -2) |
---|
| 155 | #define DRMAA2_HOME_DIR "$DRMAA2_HOME_DIR$" |
---|
| 156 | #define DRMAA2_WORKING_DIR "$DRMAA2_WORKING_DIR$" |
---|
| 157 | #define DRMAA2_INDEX "$DRMAA2_INDEX$" |
---|
| 158 | |
---|
| 159 | #define DRMAA2_UNSET_BOOL DRMAA2_FALSE |
---|
| 160 | #define DRMAA2_UNSET_STRING NULL |
---|
| 161 | #define DRMAA2_UNSET_NUM -1 |
---|
| 162 | #define DRMAA2_UNSET_ENUM -1 |
---|
| 163 | #define DRMAA2_UNSET_LIST NULL |
---|
| 164 | #define DRMAA2_UNSET_DICT NULL |
---|
| 165 | #define DRMAA2_UNSET_TIME ((time_t) -3) |
---|
| 166 | #define DRMAA2_UNSET_CALLBACK NULL |
---|
| 167 | #define DRMAA2_UNSET_JINFO NULL |
---|
| 168 | |
---|
| 169 | |
---|
| 170 | typedef struct { |
---|
| 171 | drmaa2_string jobId; |
---|
| 172 | int exitStatus; |
---|
| 173 | drmaa2_string terminatingSignal; |
---|
| 174 | drmaa2_string annotation; |
---|
| 175 | drmaa2_jstate jobState; |
---|
| 176 | drmaa2_string jobSubState; |
---|
| 177 | drmaa2_string_list allocatedMachines; |
---|
| 178 | drmaa2_string submissionMachine; |
---|
| 179 | drmaa2_string jobOwner; |
---|
| 180 | long long slots; |
---|
| 181 | drmaa2_string queueName; |
---|
| 182 | time_t wallclockTime; |
---|
| 183 | long long cpuTime; |
---|
| 184 | time_t submissionTime; |
---|
| 185 | time_t dispatchTime; |
---|
| 186 | time_t finishTime; |
---|
| 187 | } drmaa2_jinfo_s; |
---|
| 188 | typedef drmaa2_jinfo_s * drmaa2_jinfo; |
---|
| 189 | |
---|
| 190 | drmaa2_jinfo drmaa2_jinfo_create (void); |
---|
| 191 | void drmaa2_jinfo_free (drmaa2_jinfo * ji); |
---|
| 192 | |
---|
| 193 | typedef struct { |
---|
| 194 | drmaa2_string machineName; |
---|
| 195 | long long slots; |
---|
| 196 | } drmaa2_slotinfo_s; |
---|
| 197 | typedef drmaa2_slotinfo_s * drmaa2_slotinfo; |
---|
| 198 | |
---|
| 199 | void drmaa2_slotinfo_free (drmaa2_slotinfo * si); |
---|
| 200 | |
---|
| 201 | typedef struct { |
---|
| 202 | drmaa2_string reservationId; |
---|
| 203 | drmaa2_string reservationName; |
---|
| 204 | time_t reservedStartTime; |
---|
| 205 | time_t reservedEndTime; |
---|
| 206 | drmaa2_string_list usersACL; |
---|
| 207 | long long reservedSlots; |
---|
| 208 | drmaa2_slotinfo_list reservedMachines; |
---|
| 209 | } drmaa2_rinfo_s; |
---|
| 210 | typedef drmaa2_rinfo_s * drmaa2_rinfo; |
---|
| 211 | |
---|
| 212 | void drmaa2_rinfo_free (drmaa2_rinfo * ri); |
---|
| 213 | |
---|
| 214 | typedef struct { |
---|
| 215 | drmaa2_string remoteCommand; |
---|
| 216 | drmaa2_string_list args; |
---|
| 217 | drmaa2_bool submitAsHold; |
---|
| 218 | drmaa2_bool rerunnable; |
---|
| 219 | drmaa2_dict jobEnvironment; |
---|
| 220 | drmaa2_string workingDirectory; |
---|
| 221 | drmaa2_string jobCategory; |
---|
| 222 | drmaa2_string_list email; |
---|
| 223 | drmaa2_bool emailOnStarted; |
---|
| 224 | drmaa2_bool emailOnTerminated; |
---|
| 225 | drmaa2_string jobName; |
---|
| 226 | drmaa2_string inputPath; |
---|
| 227 | drmaa2_string outputPath; |
---|
| 228 | drmaa2_string errorPath; |
---|
| 229 | drmaa2_bool joinFiles; |
---|
| 230 | drmaa2_string reservationId; |
---|
| 231 | drmaa2_string queueName; |
---|
| 232 | long long minSlots; |
---|
| 233 | long long maxSlots; |
---|
| 234 | long long priority; |
---|
| 235 | drmaa2_string_list candidateMachines; |
---|
| 236 | long long minPhysMemory; |
---|
| 237 | drmaa2_os machineOS; |
---|
| 238 | drmaa2_cpu machineArch; |
---|
| 239 | time_t startTime; |
---|
| 240 | time_t deadlineTime; |
---|
| 241 | drmaa2_dict stageInFiles; |
---|
| 242 | drmaa2_dict stageOutFiles; |
---|
| 243 | drmaa2_dict resourceLimits; |
---|
| 244 | drmaa2_string accountingId; |
---|
| 245 | } drmaa2_jtemplate_s; |
---|
| 246 | typedef drmaa2_jtemplate_s * drmaa2_jtemplate; |
---|
| 247 | |
---|
| 248 | drmaa2_jtemplate drmaa2_jtemplate_create (void); |
---|
| 249 | void drmaa2_jtemplate_free (drmaa2_jtemplate * jt); |
---|
| 250 | |
---|
| 251 | typedef struct { |
---|
| 252 | drmaa2_string reservationName; |
---|
| 253 | time_t startTime; |
---|
| 254 | time_t endTime; |
---|
| 255 | time_t duration; |
---|
| 256 | long long minSlots; |
---|
| 257 | long long maxSlots; |
---|
| 258 | drmaa2_string jobCategory; |
---|
| 259 | drmaa2_string_list usersACL; |
---|
| 260 | drmaa2_string_list candidateMachines; |
---|
| 261 | long long minPhysMemory; |
---|
| 262 | drmaa2_os machineOS; |
---|
| 263 | drmaa2_cpu machineArch; |
---|
| 264 | } drmaa2_rtemplate_s; |
---|
| 265 | typedef drmaa2_rtemplate_s * drmaa2_rtemplate; |
---|
| 266 | |
---|
| 267 | drmaa2_rtemplate drmaa2_rtemplate_create (void); |
---|
| 268 | void drmaa2_rtemplate_free (drmaa2_rtemplate * rt); |
---|
| 269 | |
---|
| 270 | typedef struct { |
---|
| 271 | drmaa2_event event; |
---|
| 272 | drmaa2_string jobId; |
---|
| 273 | drmaa2_string sessionName; |
---|
| 274 | drmaa2_jstate jobState; |
---|
| 275 | } drmaa2_notification_s; |
---|
| 276 | typedef drmaa2_notification_s * drmaa2_notification; |
---|
| 277 | |
---|
| 278 | void drmaa2_notification_free (drmaa2_notification * n); |
---|
| 279 | |
---|
| 280 | typedef struct { |
---|
| 281 | drmaa2_string name; |
---|
| 282 | } drmaa2_queueinfo_s; |
---|
| 283 | typedef drmaa2_queueinfo_s * drmaa2_queueinfo; |
---|
| 284 | |
---|
| 285 | void drmaa2_queueinfo_free (drmaa2_queueinfo * qi); |
---|
| 286 | |
---|
| 287 | typedef struct { |
---|
| 288 | drmaa2_string major; |
---|
| 289 | drmaa2_string minor; |
---|
| 290 | } drmaa2_version_s; |
---|
| 291 | typedef drmaa2_version_s * drmaa2_version; |
---|
| 292 | |
---|
| 293 | void drmaa2_version_free (drmaa2_version * v); |
---|
| 294 | |
---|
| 295 | typedef struct { |
---|
| 296 | drmaa2_string name; |
---|
| 297 | drmaa2_bool available; |
---|
| 298 | long long sockets; |
---|
| 299 | long long coresPerSocket; |
---|
| 300 | long long threadsPerCore; |
---|
| 301 | float load; |
---|
| 302 | long long physMemory; |
---|
| 303 | long long virtMemory; |
---|
| 304 | drmaa2_os machineOS; |
---|
| 305 | drmaa2_version machineOSVersion; |
---|
| 306 | drmaa2_cpu machineArch; |
---|
| 307 | } drmaa2_machineinfo_s; |
---|
| 308 | typedef drmaa2_machineinfo_s * drmaa2_machineinfo; |
---|
| 309 | |
---|
| 310 | void drmaa2_machineinfo_free (drmaa2_machineinfo * mi); |
---|
| 311 | |
---|
| 312 | drmaa2_string_list drmaa2_jtemplate_impl_spec (void); |
---|
| 313 | drmaa2_string_list drmaa2_jinfo_impl_spec (void); |
---|
| 314 | drmaa2_string_list drmaa2_rtemplate_impl_spec (void); |
---|
| 315 | drmaa2_string_list drmaa2_rinfo_impl_spec (void); |
---|
| 316 | drmaa2_string_list drmaa2_queueinfo_impl_spec (void); |
---|
| 317 | drmaa2_string_list drmaa2_machineinfo_impl_spec (void); |
---|
| 318 | drmaa2_string_list drmaa2_notification_impl_spec (void); |
---|
| 319 | |
---|
| 320 | drmaa2_string drmaa2_get_instance_value (const void * instance, const char * name); |
---|
| 321 | drmaa2_string drmaa2_describe_attribute (const void * instance, const char * name); |
---|
| 322 | drmaa2_error drmaa2_set_instance_value ( void * instance, const char * name, const char * value); |
---|
| 323 | |
---|
| 324 | typedef void (*drmaa2_callback)(drmaa2_notification * notification); |
---|
| 325 | |
---|
| 326 | struct drmaa2_jsession_s; /*forward*/ |
---|
| 327 | struct drmaa2_rsession_s; /*forward*/ |
---|
| 328 | struct drmaa2_msession_s; /*forward*/ |
---|
| 329 | struct drmaa2_j_s; /*forward*/ |
---|
| 330 | struct drmaa2_jarray_s; /*forward*/ |
---|
| 331 | struct drmaa2_r_s; /*forward*/ |
---|
| 332 | |
---|
| 333 | typedef struct drmaa2_jsession_s * drmaa2_jsession; |
---|
| 334 | typedef struct drmaa2_rsession_s * drmaa2_rsession; |
---|
| 335 | typedef struct drmaa2_msession_s * drmaa2_msession; |
---|
| 336 | typedef struct drmaa2_j_s * drmaa2_j; |
---|
| 337 | typedef struct drmaa2_jarray_s * drmaa2_jarray; |
---|
| 338 | typedef struct drmaa2_r_s * drmaa2_r; |
---|
| 339 | |
---|
| 340 | void drmaa2_jsession_free(drmaa2_jsession * js); |
---|
| 341 | void drmaa2_rsession_free(drmaa2_rsession * rs); |
---|
| 342 | void drmaa2_msession_free(drmaa2_msession * ms); |
---|
| 343 | void drmaa2_j_free (drmaa2_j * j); |
---|
| 344 | void drmaa2_jarray_free (drmaa2_jarray * ja); |
---|
| 345 | void drmaa2_r_free (drmaa2_r * r); |
---|
| 346 | |
---|
| 347 | drmaa2_string drmaa2_rsession_get_contact (const drmaa2_rsession rs); |
---|
| 348 | drmaa2_string drmaa2_rsession_get_session_name (const drmaa2_rsession rs); |
---|
| 349 | drmaa2_r drmaa2_rsession_get_reservation (const drmaa2_rsession rs, const drmaa2_string reservationId); |
---|
| 350 | drmaa2_r drmaa2_rsession_request_reservation (const drmaa2_rsession rs, const drmaa2_rtemplate rt); |
---|
| 351 | drmaa2_r_list drmaa2_rsession_get_reservations (const drmaa2_rsession rs); |
---|
| 352 | |
---|
| 353 | drmaa2_string drmaa2_r_get_id (const drmaa2_r r); |
---|
| 354 | drmaa2_string drmaa2_r_get_session_name (const drmaa2_r r); |
---|
| 355 | drmaa2_rtemplate drmaa2_r_get_reservation_template (const drmaa2_r r); |
---|
| 356 | drmaa2_rinfo drmaa2_r_get_info (const drmaa2_r r); |
---|
| 357 | drmaa2_error drmaa2_r_terminate (drmaa2_r r); |
---|
| 358 | |
---|
| 359 | drmaa2_string drmaa2_jarray_get_id (const drmaa2_jarray ja); |
---|
| 360 | drmaa2_j_list drmaa2_jarray_get_jobs (const drmaa2_jarray ja); |
---|
| 361 | drmaa2_string drmaa2_jarray_get_session_name (const drmaa2_jarray ja); |
---|
| 362 | drmaa2_jtemplate drmaa2_jarray_get_job_template (const drmaa2_jarray ja); |
---|
| 363 | drmaa2_error drmaa2_jarray_suspend (drmaa2_jarray ja); |
---|
| 364 | drmaa2_error drmaa2_jarray_resume (drmaa2_jarray ja); |
---|
| 365 | drmaa2_error drmaa2_jarray_hold (drmaa2_jarray ja); |
---|
| 366 | drmaa2_error drmaa2_jarray_release (drmaa2_jarray ja); |
---|
| 367 | drmaa2_error drmaa2_jarray_terminate (drmaa2_jarray ja); |
---|
| 368 | |
---|
| 369 | drmaa2_string drmaa2_jsession_get_contact (const drmaa2_jsession js); |
---|
| 370 | drmaa2_string drmaa2_jsession_get_session_name (const drmaa2_jsession js); |
---|
| 371 | drmaa2_string_list drmaa2_jsession_get_job_categories (const drmaa2_jsession js); |
---|
| 372 | drmaa2_j_list drmaa2_jsession_get_jobs (const drmaa2_jsession js, |
---|
| 373 | const drmaa2_jinfo filter); |
---|
| 374 | drmaa2_jarray drmaa2_jsession_get_job_array (const drmaa2_jsession js, |
---|
| 375 | const drmaa2_string jobarrayId); |
---|
| 376 | drmaa2_j drmaa2_jsession_run_job (const drmaa2_jsession js, |
---|
| 377 | const drmaa2_jtemplate jt); |
---|
| 378 | drmaa2_jarray drmaa2_jsession_run_bulk_jobs (const drmaa2_jsession js, |
---|
| 379 | const drmaa2_jtemplate jt, |
---|
| 380 | unsigned long begin_index, |
---|
| 381 | unsigned long end_index, |
---|
| 382 | unsigned long step, |
---|
| 383 | unsigned long max_parallel); |
---|
| 384 | drmaa2_j drmaa2_jsession_wait_any_started (const drmaa2_jsession js, |
---|
| 385 | const drmaa2_j_list l, |
---|
| 386 | const time_t timeout); |
---|
| 387 | drmaa2_j drmaa2_jsession_wait_any_terminated (const drmaa2_jsession js, |
---|
| 388 | const drmaa2_j_list l, |
---|
| 389 | const time_t timeout); |
---|
| 390 | |
---|
| 391 | drmaa2_string drmaa2_j_get_id (const drmaa2_j j); |
---|
| 392 | drmaa2_string drmaa2_j_get_session_name (const drmaa2_j j); |
---|
| 393 | drmaa2_jtemplate drmaa2_j_get_jt (const drmaa2_j j); |
---|
| 394 | drmaa2_error drmaa2_j_suspend (drmaa2_j j); |
---|
| 395 | drmaa2_error drmaa2_j_resume (drmaa2_j j); |
---|
| 396 | drmaa2_error drmaa2_j_hold (drmaa2_j j); |
---|
| 397 | drmaa2_error drmaa2_j_release (drmaa2_j j); |
---|
| 398 | drmaa2_error drmaa2_j_terminate (drmaa2_j j); |
---|
| 399 | drmaa2_jstate drmaa2_j_get_state (const drmaa2_j j, drmaa2_string * substate); |
---|
| 400 | drmaa2_jinfo drmaa2_j_get_info (const drmaa2_j j); |
---|
| 401 | drmaa2_error drmaa2_j_wait_started (const drmaa2_j j, const time_t timeout); |
---|
| 402 | drmaa2_error drmaa2_j_wait_terminated (const drmaa2_j j, const time_t timeout); |
---|
| 403 | |
---|
| 404 | drmaa2_r_list drmaa2_msession_get_all_reservations (const drmaa2_msession ms); |
---|
| 405 | drmaa2_j_list drmaa2_msession_get_all_jobs (const drmaa2_msession ms, |
---|
| 406 | const drmaa2_jinfo filter); |
---|
| 407 | drmaa2_queueinfo_list drmaa2_msession_get_all_queues (const drmaa2_msession ms, |
---|
| 408 | const drmaa2_string_list names); |
---|
| 409 | drmaa2_machineinfo_list drmaa2_msession_get_all_machines (const drmaa2_msession ms, |
---|
| 410 | const drmaa2_string_list names); |
---|
| 411 | |
---|
| 412 | drmaa2_string drmaa2_get_drms_name (void); |
---|
| 413 | drmaa2_version drmaa2_get_drms_version (void); |
---|
| 414 | drmaa2_string drmaa2_get_drmaa_name (void); |
---|
| 415 | drmaa2_version drmaa2_get_drmaa_version (void); |
---|
| 416 | drmaa2_bool drmaa2_supports (const drmaa2_capability c); |
---|
| 417 | drmaa2_jsession drmaa2_create_jsession (const char * session_name, const char * contact); |
---|
| 418 | drmaa2_rsession drmaa2_create_rsession (const char * session_name, const char * contact); |
---|
| 419 | drmaa2_jsession drmaa2_open_jsession (const char * session_name); |
---|
| 420 | drmaa2_rsession drmaa2_open_rsession (const char * session_name); |
---|
| 421 | drmaa2_msession drmaa2_open_msession (const char * session_name); |
---|
| 422 | drmaa2_error drmaa2_close_jsession (drmaa2_jsession js); |
---|
| 423 | drmaa2_error drmaa2_close_rsession (drmaa2_rsession rs); |
---|
| 424 | drmaa2_error drmaa2_close_msession (drmaa2_msession ms); |
---|
| 425 | drmaa2_error drmaa2_destroy_jsession (const char * session_name); |
---|
| 426 | drmaa2_error drmaa2_destroy_rsession (const char * session_name); |
---|
| 427 | drmaa2_string_list drmaa2_get_jsession_names (void); |
---|
| 428 | drmaa2_string_list drmaa2_get_rsession_names (void); |
---|
| 429 | drmaa2_error drmaa2_register_event_notification (const drmaa2_callback callback); |
---|
| 430 | |
---|
| 431 | #endif |
---|