globus_gram_client.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00026 #ifndef GLOBUS_GRAM_CLIENT_H
00027 #define GLOBUS_GRAM_CLIENT_H
00028 
00029 /* Include header files */
00030 #include "globus_common.h"
00031 #include "globus_io.h"
00032 #include "globus_gram_protocol_constants.h"
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00038 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00039 
00043 #endif
00044 
00052 /******************************************************************************
00053                                Type definitions
00054 ******************************************************************************/
00055 
00056 
00093 typedef void (* globus_gram_client_callback_func_t)(
00094     void *                              user_callback_arg,
00095     char *                              job_contact,
00096     int                                 state,
00097     int                                 errorcode);
00098 
00110 typedef struct globus_gram_client_job_info_s
00111 {
00115     globus_hashtable_t                  extensions;
00119     char *                              job_contact;
00123     int                                 job_state;
00127     int                                 protocol_error_code;
00128 }
00129 globus_gram_client_job_info_t;
00130 
00156 typedef void (* globus_gram_client_info_callback_func_t)(
00157     void *                              user_callback_arg,
00158     const char *                        job_contact,
00159     globus_gram_client_job_info_t *     job_info);
00160 
00170 typedef void * globus_gram_client_attr_t;
00171 
00172 
00182 #define GLOBUS_GRAM_CLIENT_NO_ATTR (globus_gram_client_attr_t) NULL
00183 
00218 typedef void (* globus_gram_client_nonblocking_func_t)(
00219     void *                              user_callback_arg,
00220     globus_gram_protocol_error_t        operation_failure_code,
00221     const char *                        job_contact,
00222     globus_gram_protocol_job_state_t    job_state,
00223     globus_gram_protocol_error_t        job_failure_code);
00224 
00225 
00231 /******************************************************************************
00232                               Function prototypes
00233 ******************************************************************************/
00234 int 
00235 globus_gram_client_callback_allow(
00236     globus_gram_client_callback_func_t  callback_func,
00237     void *                              user_callback_arg,
00238     char **                             callback_contact);
00239 
00240 
00241 int
00242 globus_gram_client_info_callback_allow(
00243     globus_gram_client_info_callback_func_t
00244                                         callback_func,
00245     void *                              user_callback_arg,
00246     char **                             callback_contact);
00247 
00248 int
00249 globus_gram_client_register_job_request(
00250     const char *                        resource_manager_contact,
00251     const char *                        description,
00252     int                                 job_state_mask,
00253     const char *                        callback_contact,
00254     globus_gram_client_attr_t           attr,
00255     globus_gram_client_nonblocking_func_t
00256                                         register_callback,
00257     void *                              register_callback_arg);
00258 
00259 int 
00260 globus_gram_client_job_request(
00261     const char *                        resource_manager_contact,
00262     const char *                        description,
00263     int                                 job_state_mask,
00264     const char *                        callback_contact,
00265     char **                             job_contact);
00266 
00267 int
00268 globus_gram_client_register_job_request_with_info(
00269     const char *                        resource_manager_contact,
00270     const char *                        description,
00271     int                                 job_state_mask,
00272     const char *                        callback_contact,
00273     globus_gram_client_attr_t           attr,
00274     globus_gram_client_info_callback_func_t
00275                                         callback,
00276     void *                              callback_arg);
00277 
00278 int 
00279 globus_gram_client_job_request_with_info(
00280     const char *                        resource_manager_contact,
00281     const char *                        description,
00282     int                                 job_state_mask,
00283     const char *                        callback_contact,
00284     char **                             job_contact,
00285     globus_gram_client_job_info_t *     info);
00286 
00287 int
00288 globus_gram_client_register_job_cancel(
00289     const char *                        job_contact,
00290     globus_gram_client_attr_t           attr,
00291     globus_gram_client_nonblocking_func_t
00292                                         register_callback,
00293     void *                              register_callback_arg);
00294 
00295 int 
00296 globus_gram_client_job_cancel(
00297     const char *                        job_contact);
00298 
00299 int
00300 globus_gram_client_register_job_status(
00301     const char *                        job_contact,
00302     globus_gram_client_attr_t           attr,
00303     globus_gram_client_nonblocking_func_t
00304                                         register_callback,
00305     void *                              register_callback_arg);
00306 
00307 int
00308 globus_gram_client_register_job_status_with_info(
00309     const char *                        job_contact,
00310     globus_gram_client_attr_t           attr,
00311     globus_gram_client_info_callback_func_t
00312                                         info_callback,
00313     void *                              callback_arg);
00314 
00315 
00316 int
00317 globus_gram_client_job_refresh_credentials(
00318     char *                              job_contact,
00319     gss_cred_id_t                       creds);
00320 
00321 int
00322 globus_gram_client_register_job_refresh_credentials(
00323     char *                              job_contact,
00324     gss_cred_id_t                       creds,
00325     globus_gram_client_attr_t           attr,
00326     globus_gram_client_nonblocking_func_t
00327                                         register_callback,
00328     void *                              register_callback_arg);
00329 
00330 int
00331 globus_gram_client_job_status(
00332     const char *                        job_contact,
00333     int *                               job_status,
00334     int *                               failure_code);
00335 
00336 int
00337 globus_gram_client_job_status_with_info(
00338     const char *                        job_contact,
00339     globus_gram_client_job_info_t *     job_info);
00340 
00341 int
00342 globus_gram_client_register_job_signal(
00343     const char *                        job_contact,
00344     globus_gram_protocol_job_signal_t   signal,
00345     const char *                        signal_arg,
00346     globus_gram_client_attr_t           attr,
00347     globus_gram_client_nonblocking_func_t
00348                                         register_callback,
00349     void *                              register_callback_arg);
00350 
00351 int
00352 globus_gram_client_job_signal(
00353     const char *                        job_contact,
00354     globus_gram_protocol_job_signal_t   signal,
00355     const char *                        signal_arg,
00356     int *                               job_status,
00357     int *                               failure_code);
00358 
00359 
00360 int
00361 globus_gram_client_register_job_callback_registration(
00362     const char *                        job_contact,
00363     int                                 job_state_mask,
00364     const char *                        callback_contact,
00365     globus_gram_client_attr_t           attr,
00366     globus_gram_client_nonblocking_func_t
00367                                         register_callback,
00368     void *                              register_callback_arg);
00369 
00370 int
00371 globus_gram_client_job_callback_register(
00372     const char *                        job_contact,
00373     int                                 job_state_mask,
00374     const char *                        callback_contact,
00375     int *                               job_status,
00376     int *                               failure_code);
00377 
00378 int
00379 globus_gram_client_register_job_callback_unregistration(
00380     const char *                        job_contact,
00381     const char *                        callback_contact,
00382     globus_gram_client_attr_t           attr,
00383     globus_gram_client_nonblocking_func_t
00384                                         register_callback,
00385     void *                              register_callback_arg);
00386 
00387 int
00388 globus_gram_client_job_callback_unregister(
00389     const char *                        job_contact,
00390     const char *                        callback_contact,
00391     int *                               job_status,
00392     int *                               failure_code);
00393 
00394 int 
00395 globus_gram_client_callback_disallow(
00396     char *                              callback_contact);
00397 
00398 int 
00399 globus_gram_client_job_contact_free(
00400     char *                              job_contact);
00401 
00402 const char *
00403 globus_gram_client_error_string(
00404     int                                 error_code);
00405 
00406 int
00407 globus_gram_client_version(void);
00408 
00409 int
00410 globus_gram_client_set_credentials(gss_cred_id_t new_credentials);
00411 
00412 int 
00413 globus_gram_client_ping(
00414     const char *                        resource_manager_contact);
00415 
00416 int 
00417 globus_gram_client_register_ping(
00418     const char *                        resource_manager_contact,
00419     globus_gram_client_attr_t           attr,
00420     globus_gram_client_nonblocking_func_t
00421                                         register_callback,
00422     void *                              register_callback_arg);
00423 
00424 int 
00425 globus_gram_client_get_jobmanager_version(
00426     const char *                        resource_manager_contact,
00427     globus_hashtable_t *                extensions);
00428 
00429 int 
00430 globus_gram_client_register_get_jobmanager_version(
00431     const char *                        resource_manager_contact,
00432     globus_gram_client_attr_t           attr,
00433     globus_gram_client_info_callback_func_t
00434                                         info_callback,
00435     void *                              callback_arg);
00436 
00437 void
00438 globus_gram_client_debug(void);
00439 
00444 int
00445 globus_gram_client_attr_init(
00446     globus_gram_client_attr_t *         attr);
00447 int
00448 globus_gram_client_attr_destroy(
00449     globus_gram_client_attr_t *         attr);
00450 
00451 int
00452 globus_gram_client_attr_set_credential(
00453     globus_gram_client_attr_t           attr,
00454     gss_cred_id_t                       credential);
00455 
00456 int
00457 globus_gram_client_attr_get_credential(
00458     globus_gram_client_attr_t           attr,
00459     gss_cred_id_t *                     credential);
00460 
00461 int
00462 globus_gram_client_attr_set_delegation_mode(
00463     globus_gram_client_attr_t           attr,
00464     globus_io_secure_delegation_mode_t  mode);
00465 
00466 int
00467 globus_gram_client_attr_get_delegation_mode(
00468     globus_gram_client_attr_t           attr,
00469     globus_io_secure_delegation_mode_t *mode);
00470 
00471 void
00472 globus_gram_client_job_info_destroy(
00473     globus_gram_client_job_info_t *     info);
00474 
00475 #define GLOBUS_GRAM_CLIENT_MODULE (&globus_gram_client_module)
00476 
00477 extern globus_module_descriptor_t       globus_gram_client_module;
00478 
00479 #ifdef __cplusplus
00480 }
00481 #endif
00482 
00483 #endif /* GLOBUS_GRAM_CLIENT_H */

Generated on 5 Nov 2016 for globus_gram_client by  doxygen 1.4.7