Grid Community Toolkit  6.2.1607800521 (tag: v6.2.20201212)
Data Structures | Macros | Typedefs | Functions | Variables
Attributes

Net Manager Attribute Management Functions. More...

Data Structures

struct  globus_net_manager_attr_s
 Net Manager Attributes. More...
 

Macros

#define GLOBUS_NET_MANAGER_NULL_ATTR
 End of attribute array static initializer.
 

Typedefs

typedef struct globus_net_manager_attr_s globus_net_manager_attr_t
 Net Manager Attributes. More...
 

Functions

globus_result_t globus_net_manager_attr_array_copy (globus_net_manager_attr_t **dest_array, const globus_net_manager_attr_t *src_array)
 Copy an array of Network Manager attributes. More...
 
void globus_net_manager_attr_array_delete (globus_net_manager_attr_t *attrs)
 Destroy an array of Network Manager attributes. More...
 
globus_result_t globus_net_manager_attr_array_from_string (globus_net_manager_attr_t **attr, const char *scope, const char *attr_string)
 Parse an array of Network Manager attributes from a string. More...
 
void globus_net_manager_attr_destroy (globus_net_manager_attr_t *attr)
 Destroy the contents of an attribute. More...
 
globus_result_t globus_net_manager_attr_init (globus_net_manager_attr_t *attr, const char *scope, const char *name, const char *value)
 Initialize the contents of an attribute. More...
 

Variables

const globus_net_manager_attr_t globus_net_manager_null_attr = GLOBUS_NET_MANAGER_NULL_ATTR
 End of array value. More...
 

Detailed Description

Net Manager Attribute Management Functions.

Typedef Documentation

◆ globus_net_manager_attr_t

Net Manager Attributes.

The globus_net_manager_attr_t structure defines a scoped (attribute, value) tuple. The scope in most cases is either the name of the transport driver or the "globus_net_manager" scope, for attributes specific to the network manager implementation.

Function Documentation

◆ globus_net_manager_attr_array_copy()

globus_result_t globus_net_manager_attr_array_copy ( globus_net_manager_attr_t **  dest_array,
const globus_net_manager_attr_t src_array 
)

Copy an array of Network Manager attributes.

This function performs a deep copy of array of net_manager attributes. The new array will be stored in the pointer passed to by the dest_array parameter. It will contain all entries in the array passed as the src_array, ending with the value GLOBUS_NET_MANAGER_NULL_ATTR.

The caller must free the array stored in *dest_array by calling globus_net_manager_attr_array_destroy().

Parameters
[out]dest_arrayA pointer to an array of attributes to be allocated and initialized.
[in]src_arrayAn array of attributes to copy.
Returns
On error, the dest_array is set to NULL and this function returns an error object. Otherwise, this function returns GLOBUS_SUCCESS.

◆ globus_net_manager_attr_array_delete()

void globus_net_manager_attr_array_delete ( globus_net_manager_attr_t attrs)

Destroy an array of Network Manager attributes.

This function deletes an array of Network Manager attributes and all values contained within them. The array must be terminated by the value GLOBUS_NET_MANAGER_NULL_ATTR.

Parameters
[in]attrsA pointer to an array of attributes to be freed.

◆ globus_net_manager_attr_array_from_string()

globus_result_t globus_net_manager_attr_array_from_string ( globus_net_manager_attr_t **  attr,
const char *  scope,
const char *  attr_string 
)

Parse an array of Network Manager attributes from a string.

This function parses a string containing a list of attributes and creates a new array of Network Manager attribute values from it. The array is terminated by globus_net_manager_null_attr.

Attribute strings are formed by the regular expression

    NAME=VALUE(;NAME=VALUE)*

The NAME and VALUE strings may contain any character except ; =, and the carriage return and newline characters.

The caller must free the array stored in *attr by calling globus_net_manager_attr_array_destroy().

Parameters
[out]attrA pointer to an array of attributes to be allocated and initialized.
[in]scopeThe string to be added as the scope value of the attributes.
[in]attr_stringThe string to be parsed.
Returns
On success, this function returns GLOBUS_SUCCESS. Otherwise, an error result is returned to the caller.

◆ globus_net_manager_attr_destroy()

void globus_net_manager_attr_destroy ( globus_net_manager_attr_t attr)

Destroy the contents of an attribute.

This function frees the values contained in attr and reinitializes them to NULL. It does not free attr itself.

Parameters
[in]attrPointer to the attribute to destroy.

◆ globus_net_manager_attr_init()

globus_result_t globus_net_manager_attr_init ( globus_net_manager_attr_t attr,
const char *  scope,
const char *  name,
const char *  value 
)

Initialize the contents of an attribute.

This function initializes attr and with copies of the values passed as the scope, name, and value parameters.

Parameters
[out]attrPointer to the attribute to initialize.
[in]scopeAttribute scope
[in]nameAttribute name
[in]valueAttribute value
Returns
On error, 'attr' is set to NULL and this function returns an error object. Otherwise this function returns 'GLOBUS_SUCCESS'

Variable Documentation

◆ globus_net_manager_null_attr

const globus_net_manager_attr_t globus_net_manager_null_attr = GLOBUS_NET_MANAGER_NULL_ATTR

End of array value.

This value may be assigned to an element in an array of Network Manager attributes to terminate the array.