source: trunk/pbs_drmaa/submit.h @ 1

Revision 1, 2.4 KB checked in by mmamonski, 13 years ago (diff)

Torque/PBS DRMAA initial commit

Line 
1/* $Id: submit.h 338 2010-09-28 14:48:45Z mamonski $ */
2/*
3 *  FedStage DRMAA for PBS Pro
4 *  Copyright (C) 2006-2009  FedStage Systems
5 *
6 *  This program is free software: you can redistribute it and/or modify
7 *  it under the terms of the GNU General Public License as published by
8 *  the Free Software Foundation, either version 3 of the License, or
9 *  (at your option) any later version.
10 *
11 *  This program is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 *  GNU General Public License for more details.
15 *
16 *  You should have received a copy of the GNU General Public License
17 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef __PBS_DRMAA__SUBMIT_H
21#define __PBS_DRMAA__SUBMIT_H
22
23#ifdef HAVE_CONFIG_H
24#       include <config.h>
25#endif
26
27#include <drmaa_utils/drmaa_util.h>
28
29typedef struct pbsdrmaa_submit_s pbsdrmaa_submit_t;
30
31pbsdrmaa_submit_t *
32pbsdrmaa_submit_new( fsd_drmaa_session_t *session,
33                const fsd_template_t *job_template, int bulk_idx );
34
35struct pbsdrmaa_submit_s {
36        void (*
37        destroy)( pbsdrmaa_submit_t *self );
38
39        char * (*
40        submit)( pbsdrmaa_submit_t *self );
41
42        void (*
43        eval)( pbsdrmaa_submit_t *self );
44
45        void (*apply_defaults)( pbsdrmaa_submit_t *self );
46        void (*apply_job_script)( pbsdrmaa_submit_t *self );
47        void (*apply_job_state)( pbsdrmaa_submit_t *self );
48        void (*apply_job_files)( pbsdrmaa_submit_t *self );
49        void (*apply_file_staging)( pbsdrmaa_submit_t *self );
50        void (*apply_job_resources)( pbsdrmaa_submit_t *self );
51        void (*apply_job_environment)( pbsdrmaa_submit_t *self );
52        void (*apply_email_notification)( pbsdrmaa_submit_t *self );
53        void (*apply_job_category)( pbsdrmaa_submit_t *self );
54        void (*apply_native_specification)(
55                        pbsdrmaa_submit_t *self, const char *native_specification );
56
57        void (*set)( pbsdrmaa_submit_t *self, const char *pbs_attr,
58                        char *value, unsigned placeholders );
59
60        fsd_drmaa_session_t *session;
61        const fsd_template_t *job_template;
62        char *script_filename;
63        char *destination_queue;
64        fsd_template_t *pbs_job_attributes;
65        fsd_expand_drmaa_ph_t *expand_ph;
66        /* struct attrl *pbs_attribs; */
67        /* uint32_t pbs_attribs_bitset[ PBS_ATTRIBS_BITSET_SIZE ]; */
68};
69
70void pbsdrmaa_submit_apply_native_specification(
71                pbsdrmaa_submit_t *self, const char *native_specification );
72
73#endif /* __PBS_DRMAA__SUBMIT_H */
74
Note: See TracBrowser for help on using the repository browser.