/* $Id$ */ /* * FedStage DRMAA utilities library * Copyright (C) 2006-2008 FedStage Systems * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef __DRMAA_UTILS__DRMAA_BASE_H #define __DRMAA_UTILS__DRMAA_BASE_H #ifdef HAVE_CONFIG_H # include #endif #include #include struct fsd_drmaa_singletone_s { /** Global session object */ fsd_drmaa_session_t *session; fsd_mutex_t session_mutex; fsd_drmaa_session_t *(*new_session)( fsd_drmaa_singletone_t *self, const char *contact ); fsd_template_t *(*new_job_template)( fsd_drmaa_singletone_t *self ); const char* (*get_contact)( fsd_drmaa_singletone_t *self ); void (*get_version)( fsd_drmaa_singletone_t *self, unsigned *major, unsigned *minor ); const char* (*get_DRM_system)( fsd_drmaa_singletone_t *self ); const char* (*get_DRMAA_implementation)( fsd_drmaa_singletone_t *self ); fsd_iter_t * (* get_attribute_names)( fsd_drmaa_singletone_t *self ); fsd_iter_t * (* get_vector_attribute_names)( fsd_drmaa_singletone_t *self ); int (*wifexited)( int *exited, int stat, char *error_diagnosis, size_t error_diag_len ); int (*wexitstatus)( int *exit_status, int stat, char *error_diagnosis, size_t error_diag_len ); int (*wifsignaled)( int *signaled, int stat, char *error_diagnosis, size_t error_diag_len ); int (*wtermsig)( char *signal, size_t signal_len, int stat, char *error_diagnosis, size_t error_diag_len ); int (*wcoredump)( int *core_dumped, int stat, char *error_diagnosis, size_t error_diag_len ); int (*wifaborted)( int *aborted, int stat, char *error_diagnosis, size_t error_diag_len ); }; extern fsd_drmaa_singletone_t _fsd_drmaa_singletone; #endif /* __DRMAA_UTILS__DRMAA_BASE_H */