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 00045 typedef struct globus_net_manager_attr_s 00046 { 00048 char * scope; 00050 char * name; 00052 char * value; 00053 } 00054 globus_net_manager_attr_t; 00055 00061 #define GLOBUS_NET_MANAGER_NULL_ATTR { NULL, NULL, NULL } 00062 00063 extern const globus_net_manager_attr_t globus_net_manager_null_attr; 00064 00065 globus_result_t 00066 globus_net_manager_attr_init( 00067 globus_net_manager_attr_t *attr, 00068 const char *scope, 00069 const char *name, 00070 const char *value); 00071 00072 void 00073 globus_net_manager_attr_destroy( 00074 globus_net_manager_attr_t *attr); 00075 00076 00077 globus_result_t 00078 globus_net_manager_attr_array_from_string( 00079 globus_net_manager_attr_t **attr, 00080 const char *scope, 00081 const char *attr_string); 00082 00083 globus_result_t 00084 globus_net_manager_attr_array_copy( 00085 globus_net_manager_attr_t **dest_array, 00086 const globus_net_manager_attr_t *src_array); 00087 00088 void 00089 globus_net_manager_attr_array_delete( 00090 globus_net_manager_attr_t *attrs); 00091 00092 #ifdef __cplusplus 00093 } 00094 #endif 00095 00096 #endif /* #define GLOBUS_NET_MANAGER_ATTR_H */