source: trunk/pbs_drmaa/submit.h @ 72

Revision 72, 2.4 KB checked in by mmamonski, 12 years ago (diff)

DRMAA submit filter - almost done

  • Property svn:keywords set to Id
Line 
1/* $Id$ */
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
31#define PBSDRMAA_SUBMIT_FILTER_ENV "PBSDRMAA_SUBMIT_FILTER"
32
33pbsdrmaa_submit_t *
34pbsdrmaa_submit_new( fsd_drmaa_session_t *session,
35                const fsd_template_t *job_template, int bulk_idx );
36
37struct pbsdrmaa_submit_s {
38        void (*
39        destroy)( pbsdrmaa_submit_t *self );
40
41        char * (*
42        submit)( pbsdrmaa_submit_t *self );
43
44        void (*
45        eval)( pbsdrmaa_submit_t *self );
46
47        void (*apply_defaults)( pbsdrmaa_submit_t *self );
48        void (*apply_job_script)( pbsdrmaa_submit_t *self );
49        void (*apply_job_state)( pbsdrmaa_submit_t *self );
50        void (*apply_job_files)( pbsdrmaa_submit_t *self );
51        void (*apply_file_staging)( pbsdrmaa_submit_t *self );
52        void (*apply_job_resources)( pbsdrmaa_submit_t *self );
53        void (*apply_job_environment)( pbsdrmaa_submit_t *self );
54        void (*apply_email_notification)( pbsdrmaa_submit_t *self );
55        void (*apply_job_category)( pbsdrmaa_submit_t *self );
56        void (*apply_native_specification)(
57                        pbsdrmaa_submit_t *self, const char *native_specification );
58
59        void (*set)( pbsdrmaa_submit_t *self, const char *pbs_attr,
60                        char *value, unsigned placeholders );
61
62        fsd_drmaa_session_t *session;
63        const fsd_template_t *job_template;
64        char *script_filename;
65        char *destination_queue;
66        fsd_template_t *pbs_job_attributes;
67        fsd_expand_drmaa_ph_t *expand_ph;
68        /* struct attrl *pbs_attribs; */
69        /* uint32_t pbs_attribs_bitset[ PBS_ATTRIBS_BITSET_SIZE ]; */
70};
71
72void pbsdrmaa_submit_apply_native_specification(
73                pbsdrmaa_submit_t *self, const char *native_specification );
74
75#endif /* __PBS_DRMAA__SUBMIT_H */
76
Note: See TracBrowser for help on using the repository browser.