00001 /* 00002 * Copyright 1999-2014 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 00017 #ifndef GLOBUS_NET_MANAGER_ATTR_H 00018 #define GLOBUS_NET_MANAGER_ATTR_H 1 00019 00020 #include "globus_common.h" 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00046 typedef struct globus_net_manager_attr_s 00047 { 00049 char * scope; 00051 char * name; 00053 char * value; 00054 } 00055 globus_net_manager_attr_t; 00056 00062 #define GLOBUS_NET_MANAGER_NULL_ATTR { NULL, NULL, NULL } 00063 00064 extern const globus_net_manager_attr_t globus_net_manager_null_attr; 00065 00066 globus_result_t 00067 globus_net_manager_attr_init( 00068 globus_net_manager_attr_t *attr, 00069 const char *scope, 00070 const char *name, 00071 const char *value); 00072 00073 void 00074 globus_net_manager_attr_destroy( 00075 globus_net_manager_attr_t *attr); 00076 00077 00078 globus_result_t 00079 globus_net_manager_attr_array_from_string( 00080 globus_net_manager_attr_t **attr, 00081 const char *scope, 00082 const char *attr_string); 00083 00084 globus_result_t 00085 globus_net_manager_attr_array_copy( 00086 globus_net_manager_attr_t **dest_array, 00087 const globus_net_manager_attr_t *src_array); 00088 00089 void 00090 globus_net_manager_attr_array_delete( 00091 globus_net_manager_attr_t *attrs); 00092 00093 #ifdef __cplusplus 00094 } 00095 #endif 00096 00097 #endif /* #define GLOBUS_NET_MANAGER_ATTR_H */