NAME
globus_io_attr_get_file_type
SYNOPSIS
package require globus_io
globus_io_attr_get_file_type
attr
DESCRIPTION
This command is used to query the file-type attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query.
RETURN VALUE
On success globus_io_attr_get_file_type returns 0 and the file-type attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_file_type $attr ] result file-type
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_secure_authentication_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_authentication_mode
attr
DESCRIPTION
This command is used to query the authentication mode attribute in the specified socket attribute set.
PARAMETERS
attr - The attributes to query.
RETURN VALUE
On success globus_io_attr_get_secure_authentication_mode returns 0 and the values of mode and credential attributes. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_authentication_mode $attr ] result mode credential
BUGS
None
TODO
None
SEE ALSO
globus_io_tcpattr_init, globus_io_secure_authorization_mode_t
NAME
globus_io_attr_get_secure_authorization_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_authorization_mode
attr
DESCRIPTION
This command is used to query the authorization mode attribute in the specified socket attribute set.
PARAMETERS
attr - The attributes to query.
RETURN VALUE
On success globus_io_attr_get_secure_authorization_mode returns 0 and the values of mode and data attributes. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_authorization_mode $attr ] result mode data
BUGS
None
TODO
None
SEE ALSO
globus_io_tcpattr_init, globus_io_secure_authorization_mode_t
NAME
globus_io_attr_get_secure_channel_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_channel_mode
attr
DESCRIPTION
This command is used to get the channel mode attribute in the specified socket attribute set.
This attribute is used to determine if any data wrapping should be done on the socket connection. This is required to use the data protection attribute.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_secure_channel_mode returns 0 and the value of the channel-mode attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_channel_mode $attr ] result channel-mode
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_secure_delegation_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_delegation_mode
attr
DESCRIPTION
This command is used to get the delegation mode attribute in the specified socket attribute set.
This attribute is used to determine if any data delegation should be done on the socket connection.
PARAMETERS
attr - The attribute to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_secure_delegation_mode returns 0 and the value of the delegation-mode attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_delegation_mode $attr ] result delegation-mode
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_secure_extension_oids
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_extension_oids
attr
DESCRIPTION
This command is used to query the extension_oids attribute in the specified attribute set.
PARAMETERS
attr - The attribute to query.
RETURN VALUE
On success globus_io_attr_get_secure_extension_oids returns 0 and the value of the extension_oids attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
TBD
BUGS
None
TODO
None
NAME
globus_io_attr_get_secure_protection_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_protection_mode
attr
DESCRIPTION
This command is used to get the protection mode attribute in the specified socket attribute set.
This attribute is used to determine if any data protection should be done on the socket connection.
PARAMETERS
attr - The attribute to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_secure_protection_mode returns 0 and the value of the protection-mode attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_protection_mode $attr ] result protection-mode
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_secure_proxy_mode
SYNOPSIS
package require globus_io
globus_io_attr_get_secure_proxy_mode
attr
DESCRIPTION
This command is used to get the proxy mode attribute in the specified socket attribute set.
This attribute is used to determine if any data proxy should be done on the socket connection.
PARAMETERS
attr - The attribute to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_secure_proxy_mode returns 0 and the value of the proxy-mode attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_secure_proxy_mode $attr ] result proxy-mode
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_keepalive
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_keepalive
attr
DESCRIPTION
This command is used to query the keepalive attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init and must be destroyed by globus_io_tcpattr_destroy.
RETURN VALUE
On success globus_io_attr_get_socket_keepalive returns 0 and the keepalive attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_keepalive $attr ] result keepalive
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_linger
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_linger
attr
DESCRIPTION
This command is used to query the linger attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_socket_linger returns 0, the value of the linger attribute and the time (in seconds) to block at close time if linger is true and data is queued in the socket buffer. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_linger $attr ] result linger linger_time
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_oobinline
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_oobinline
attr
DESCRIPTION
This command is used to query the oobinline attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_socket_oobinline returns 0 and the value of the oobinline attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_oobinline $attr ] result oobinline
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_rcvbuf
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_rcvbuf
attr
DESCRIPTION
This command is used to query the rcvbuf attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_socket_rcvbuf returns 0 and the value of the rcvbuf attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_rcvbuf $attr ] result rcvbuf
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_reuseaddr
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_reuseaddr
attr
DESCRIPTION
This command is used to query the reuseaddr attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_socket_reuseaddr returns 0 and the reuseaddr attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_reuseaddr $attr ] result reuseaddr
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_socket_sndbuf
SYNOPSIS
package require globus_io
globus_io_attr_get_socket_sndbuf
attr
DESCRIPTION
This command is used to query the sndbuf attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_socket_sndbuf returns 0 and the value of the sndbuf attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_socket_sndbuf $attr ] result sndbuf
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_tcp_interface
SYNOPSIS
package require globus_io
globus_io_attr_get_tcp_interface
attr
DESCRIPTION
This command is used to query the TCP interface attribute in the specified TCP attribute set.
PARAMETERS
attr - The attributes to query.
RETURN VALUE
On success globus_io_attr_get_tcp_interface returns 0 and the value of the interface attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_tcp_interface $attr ] result interface
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_tcp_nodelay
SYNOPSIS
package require globus_io
globus_io_attr_get_tcp_nodelay
attr
DESCRIPTION
This command is used to query the nodelay attribute in the specified attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init.
RETURN VALUE
On success globus_io_attr_get_tcp_nodelay returns 0 and the value of the nodelay attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_tcp_nodelay $attr ] result nodelay
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_get_tcp_restrict_port
SYNOPSIS
package require globus_io
globus_io_attr_get_tcp_restrict_port
attr
DESCRIPTION
This command is used to query the restrict-port attribute in the specified TCP attribute set.
PARAMETERS
attr - The attributes to query. The attr parameter must be initialized by globus_io_tcpattr_init and must be destroyed by calling globus_io_tcpattr_destroy.
RETURN VALUE
On success globus_io_attr_get_tcp_restrict_port returns 0 and the TCP restrict_port attribute. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_get_tcp_restrict_port $attr ] result restrict_port
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_file_type
SYNOPSIS
package require globus_io
globus_io_attr_set_file_type
attr
file_type
DESCRIPTION
This command is used to set the file type attribute in the specified attribute set. This attribute is used to choose whether the file is opened in text or binary mode on systems where those are different. This attribute may not be applied to an existing file handle.
PARAMETERS
attr - The attributes to modify.
file_type - The new value of the file type.
RETURN VALUE
On success globus_io_attr_set_file_type returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_file_type $attr $file_type ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_secure_authentication_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_authentication_mode
attr
mode
credential
DESCRIPTION
This command is used to set the authentication mode attribute in the specified socket attribute set.
This attribute is used to determine whether or not to call the GSSAPI security context establishment functions once a socket connection is established.
If the authentication_mode value is GLOBUS_IO_SECURE_AUTHENTICATION_MODE_NONE, then the channel mode, delegation mode, protection mode, and authorization mode will all be reset to disable all security on the socket attribute set.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
mode - The value of the authentication-mode attribute. The values for mode are described in the documentation for the globus_io_secure_authentication_mode_t type.
credential - A GSSAPI credential to be used when authenticating. If the credential is equal to GSS_C_NO_CREDENTIAL, then Globus I/O will use the process's default credentials.
RETURN VALUE
On success globus_io_attr_set_secure_authentication_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_authentication_mode $attr $GLOBUS_IO_SECURE_AUTHENTICATION_MODE_GSSAPI $gss_c_no_credential ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_tcpattr_init, globus_io_secure_authorization_mode_t
NAME
globus_io_attr_set_secure_authorization_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_authorization_mode
attr
mode
data
DESCRIPTION
This command is used to set the authorization-mode attribute in the specified socket attribute set.
This attribute is used to determine what security identities to authorize as the peer to the security handshake done when making an authenticated connection.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
mode - The new value of the authorization-mode attribute. The values for mode are described in the documentation for the globus_io_secure_authorization_mode_t type.
data - A globus_io_secure_authorization_data_t structure containing any additional information necessary to perform the specified type of authorization.
RETURN VALUE
On success globus_io_attr_set_secure_authorization_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_authorization_mode $attr $GLOBUS_IO_SECURE_AUTHORIZATION_MODE_SELF $auth_data ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_tcpattr_init, globus_io_secure_authorization_mode_t
NAME
globus_io_attr_set_secure_channel_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_channel_mode
attr
mode
DESCRIPTION
This command is used to set the channel mode attribute in the specified socket attribute set.
This attribute is used to determine if any data wrapping should be done on the socket connection. This is required to use the data protection attribute.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
mode - The new value of the channel-mode attribute. The values for mode are described in the globus_io_secure_channel_mode_t type.
RETURN VALUE
On success globus_io_attr_set_secure_channel_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_channel_mode $attr $GLOBUS_IO_SECURE_CHANNEL_MODE_GSI_WRAP ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_secure_delegation_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_delegation_mode
attr
delegation-mode
DESCRIPTION
This command is used to set the delegation mode attribute in the specified socket attribute set.
This attribute is used to determine whether the process's credentials should be delegated to the other side of the connection.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
delegation-mode - The new value of the delegation-mode attribute. The values for mode are described in the globus_io_secure_delegation_mode_t type.
RETURN VALUE
On success globus_io_attr_set_secure_delegation_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_delegation_mode $attr $GLOBUS_IO_SECURE_DELEGATION_MODE_NONE ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_secure_extension_oids
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_extension_oids
attr
extension_oids
DESCRIPTION
This command is used to set the extension OID (Object Identifiers) attribute in the specified attribute set.
PARAMETERS
attr - The attribute to modify.
extension_oids - The new value of the extension_oids attribute.
RETURN VALUE
On success globus_io_attr_set_secure_extension_oids returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
TBD
BUGS
None
TODO
None
NAME
globus_io_attr_set_secure_protection_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_protection_mode
attr
protection-mode
DESCRIPTION
This command is used to set the protection mode attribute in the specified socket attribute set.
This attribute is used to determine if any data protection should be done on the socket connection.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
protection-mode - The new value of the protection-mode attribute. The values for mode are described in the globus_io_secure_protection_mode_t type.
RETURN VALUE
On success globus_io_attr_set_secure_protection_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_protection_mode $attr $GLOBUS_IO_SECURE_PROTECTION_MODE_PRIVATE ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_secure_proxy_mode
SYNOPSIS
package require globus_io
globus_io_attr_set_secure_proxy_mode
attr
proxy-mode
DESCRIPTION
This command is used to set the proxy mode attribute in the specified socket attribute set.
This attribute is used to determine whether the process should accept limited proxy certificates for authentication.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
proxy-mode - The new value of the proxy-mode attribute. The values for mode are described in the globus_io_secure_proxy_mode_t type.
RETURN VALUE
On success globus_io_attr_set_secure_proxy_mode returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_secure_proxy_mode $attr $GLOBUS_IO_SECURE_PROXY_MODE_LIMITED ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_keepalive
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_keepalive
attr
keepalive
DESCRIPTION
This command is used to set the keepalive attribute in the specified attribute set. This attribute is used to determine whether or not to periodically send "keepalive" messages on a connected socket handle. This may enable earlier detection of broken connections.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init and must be destroyed by calling globus_io_tcpattr_destroy.
keepalive - The value of the keepalive attribute, 1 means TRUE and 0 means FALSE.
RETURN VALUE
On success globus_io_attr_set_socket_keepalive returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_keepalive $attr 1 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_linger
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_linger
attr
linger
linger_time
DESCRIPTION
This command is used to set the linger attribute in the specified attribute set. This attribute is used to determine what to do when data is in the socket's buffer when the socket is closed. If linger is set to true, then the close operation will block until the socket buffers are empty, or the linger_time has expired.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
linger - The value of the linger attribute.
linger_time - The time (in seconds) to block at close time if linger is true and data is queued in the socket buffer.
RETURN VALUE
On success globus_io_attr_set_socket_linger returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_linger $attr 1 60 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_oobinline
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_oobinline
attr
oobinline
DESCRIPTION
This command is used to set the oobinline attribute in the specified attribute set. This attribute is used to choose whether out-of-band data is received in the normal data queue, or must be received specially by calling globus_io_recv or globus_io_register_recv with the MSG_OOB flag set to true.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
oobinline - The value of the oobinline attribute.
RETURN VALUE
On success globus_io_attr_set_socket_oobinline returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_oobinline $attr true ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_rcvbuf
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_rcvbuf
attr
rcvbuf
DESCRIPTION
This command is used to set the rcvbuf attribute in the specified attribute set. This attribute is used to choose the size of the send buffer for the socket handle this attribute is applied to. The send buffer is often used by the operating system to choose the appropriate TCP window size.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
rcvbuf - The value of the send buffer in bytes.
RETURN VALUE
On success globus_io_attr_set_socket_rcvbuf returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_rcvbuf $attr 2048 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_reuseaddr
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_reuseaddr
attr
reuseaddr
DESCRIPTION
This command is used to set the reuse-addr attribute in the specified attribute set.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init and must be destroyed by calling globus_io_tcpattr_destroy.
reuseaddr - The value of the reuseaddr attribute, 1 means TRUE and 0 means FALSE.
RETURN VALUE
On success globus_io_attr_set_socket_reuseaddr returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_reuseaddr $attr 1 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_socket_sndbuf
SYNOPSIS
package require globus_io
globus_io_attr_set_socket_sndbuf
attr
sndbuf
DESCRIPTION
This command is used to set the sndbuf attribute in the specified attribute set. This attribute is used to choose the size of the send buffer for the socket handle this attribute is applied to. The send buffer is often used by the operating system to choose the appropriate TCP window size.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
sndbuf - The value of the send buffer in bytes.
RETURN VALUE
On success globus_io_attr_set_socket_sndbuf returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_socket_sndbuf $attr 2048 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_tcp_interface
SYNOPSIS
package require globus_io
globus_io_attr_set_tcp_interface
attr
interface
DESCRIPTION
This command is used to set the TCP interface attribute in the specified TCP attribute set. This attribute is used to determine whether to bind TCP sockets to a particular interface. This attribute must be set before calling globus_io_tcp_create_listener or globus_io_tcp_connect.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
interface - The value of the interface attribute. The interface string must be in dotted-ip format (ie "127.0.0.1").
RETURN VALUE
On success globus_io_attr_set_tcp_interface returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_tcp_interface $attr 127.0.0.1 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_tcp_nodelay
SYNOPSIS
package require globus_io
globus_io_attr_set_tcp_nodelay
attr
nodelay
DESCRIPTION
This command is used to set the nodelay attribute in the specified TCP attribute set. This attribute is used to determine whether or not to disable Nagle's algorithm. If set to true, the socket will send packets as soon as possible with no unnecessary delays introduced.
PARAMETERS
attr - The attribute to modify. The attr parameter must be initialized by globus_io_tcpattr_init.
nodelay - The new value of the nodelay attribute.
RETURN VALUE
On success globus_io_attr_set_tcp_nodelay returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_tcp_nodelay $attr true ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_attr_set_tcp_restrict_port
SYNOPSIS
package require globus_io
globus_io_attr_set_tcp_restrict_port
attr
restrict_port
DESCRIPTION
This command is used to set the restrict-port attribute in the specified TCP attribute set.
PARAMETERS
attr - The attributes to modify. The attr parameter must be initialized by globus_io_tcpattr_init and must be destroyed by calling globus_io_tcpattr_destroy.
restrict_port - The new value of the restrict_port attribute, 1 means TRUE and 0 means FALSE.
RETURN VALUE
On success globus_io_attr_set_tcp_restrict_port returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_attr_set_tcp_restrict_port $attr 1 ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_cancel
SYNOPSIS
package require globus_io
globus_io_cancel
handle
perform_callbacks
DESCRIPTION
This command is used to cancel any outstanding operation registered with the specified handle. This is a blocking form of globus_io_register_cancel(). This function blocks until the cancellation is completely processed.
PARAMETERS
handle - Globus I/O handle to cancel. Any valid handle may be closed by calling this function.
perform_callbacks - If this parameter is set to true, then this function will block until all outstanding callbacks for this handle have been invoked and either completed or reached their conversion point. Otherwise, this will unregister any pending callbacks, and they will not be called.
RETURN VALUE
On success globus_io_cancel returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_cancel $handle true ] result
BUGS
Cancel may succeed without cancelling anything, or causing any callbacks to be invoked. There currently is no way to cancel specific registered callbacks without cancelling every registered operation.
TODO
None
SEE ALSO
globus_io_register_cancel, globus_io_register_close, globus_io_close.
NAME
globus_io_close
SYNOPSIS
package require globus_io
globus_io_close
handle
DESCRIPTION
This command is used to close the file or connection associated with a handle. No further operations may be done on this handle. Any outstanding requests on this handle will be cancelled (globus_io_cancel will be called with perform_callbacks set to true). This may be called for any handle type. This function blocks until any cancelled callbacks have been dispatched and have either reached their thread conversion point or completed.
PARAMETERS
handle - Globus I/O handle to be closed.
RETURN VALUE
On success globus_io_close returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_close $handle ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_register_close, globus_io_register_cancel, globus_io_cancel.
NAME
globus_io_file_create_mode_t
DESCRIPTION
Open mode to pass to the globus_io_file_open() call.
ATTRIBUTES
o GLOBUS_IO_FILE_IRWXU - Read, write, execute: owner.
o GLOBUS_IO_FILE_IRUSR - Read permission: owner.
o GLOBUS_IO_FILE_IWUSR - Write permission: owner.
o GLOBUS_IO_FILE_IXUSR - Execute permission: owner.
o GLOBUS_IO_FILE_IRWXO - Read, write, execute: other users.
o GLOBUS_IO_FILE_IROTH - Read permission: other users.
o GLOBUS_IO_FILE_IWOTH - Write permission: other users.
o GLOBUS_IO_FILE_IXOTH - Execute permission: other users.
o GLOBUS_IO_FILE_IRWXG - Read, write, execute: group members.
o GLOBUS_IO_FILE_IRGRP - Read permission: group members.
o GLOBUS_IO_FILE_IWGRP - Write permission: group members.
o GLOBUS_IO_FILE_IXGRP - Execute permission: group members.
NAME
globus_io_file_flag_t
DESCRIPTION
Flags to pass to the globus_io_file_open call.
ATTRIBUTES
o GLOBUS_IO_FILE_CREAT - Open file with create.
o GLOBUS_IO_FILE_EXCL - Exclusive open.
o GLOBUS_IO_FILE_RDONLY - Read-only open.
o GLOBUS_IO_FILE_WRONLY - Write-only open.
o GLOBUS_IO_FILE_RDWR - Read-write open.
o GLOBUS_IO_FILE_TRUNC - Open and truncate.
o GLOBUS_IO_FILE_APPEND - Open for append.
NAME
globus_io_file_open
SYNOPSIS
package require globus_io
globus_io_file_open
path
flags
mode
attr
handle
DESCRIPTION
This command is used to initialize a Globus I/O handle by opening a file.
PARAMETERS
path - The path to the file to open.
flags - The flags argument consists of a bitwise-or of the values defined by the globus_io_file_flag_t.
mode - The permissions of the file; it consists of a bitwise-or of the values defined by the globus_io_file_create_mode_t. This variable is unused by globus_io_open if the file is opened with the GLOBUS_IO_FILE_CREAT flag.
attr - Globus I/O extensible attribute structure.
handle - Globus I/O file or socket handle.
RETURN VALUE
On success globus_io_file_open returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_open $path $flags $mode $attr $handle ] result
BUGS
None
TODO
None
NAME
globus_io_file_seek
SYNOPSIS
package require globus_io
globus_io_file_seek
handle
offset
whence
DESCRIPTION
This command is used to seek to a new position on an open file.
PARAMETERS
handle - The handle to perform the seek upon.
offset - The new position of the file, relative to the whence parameter.
whence - The whence parameter determines how to interpret the offset.
RETURN VALUE
On success globus_io_file_open returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_file_seek $handle $offset $whence ] result
BUGS
None
TODO
None
NAME
globus_io_file_type_t
DESCRIPTION
Values for the Globus I/O file_type file attribute.
ATTRIBUTES
o GLOBUS_IO_FILE_TYPE_TEXT - Open the file as a text file.
o GLOBUS_IO_FILE_TYPE_BINARY - Open the file as a binary file.
NAME
globus_io_fileattr_destroy
SYNOPSIS
package require globus_io
globus_io_fileattr_destroy
attr
DESCRIPTION
This command is used to destroy a previously allocated file attribute structure.
PARAMETERS
attr - The attribute structure to destroy.
RETURN VALUE
On success globus_io_fileattr_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_fileattr_destroy $attr ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_fileattr_init
SYNOPSIS
package require globus_io
globus_io_fileattr_init
attr
DESCRIPTION
This command is used to initialize a file attribute structure.
PARAMETERS
attr - Attribute to initialize.
RETURN VALUE
On success globus_io_fileattr_init returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_fileattr_init $attr ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_get_handle_type
SYNOPSIS
package require globus_io
globus_io_get_handle_type
handle
DESCRIPTION
This command is used to return the type of the handle. The type will be one of those enumerated in globus_io_handle_type_t. Globus I/O functions do not support all operations on all handle types. This may be called for any handle type.
PARAMETERS
handle - Globus I/O handle.
RETURN VALUE
On success globus_io_get_handle_type returns the type of the handle. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_get_handle_type $handle ] handle_type
BUGS
None
TODO
None
SEE ALSO
globus_io_file_open, globus_io_tcp_connect, globus_io_tcp_accept, globus_io_tcp_create_listener, globus_io_tcp_listen
NAME
globus_io_handle_get_user_pointer
SYNOPSIS
package require globus_io
globus_io_handle_get_user_pointer
handle
DESCRIPTION
This command is used to return the user-specified pointer in the handle structure. This may be called for any handle type.
PARAMETERS
handle - Globus I/O handle.
RETURN VALUE
On success globus_io_handle_get_user_pointer returns 0 and the user-specified pointer in the handle structure. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_handle_get_user_pointer $handle ] result user-pointer
BUGS
None
TODO
None
NAME
globus_io_handle_set_user_pointer
SYNOPSIS
package require globus_io
globus_io_handle_set_user_pointer
handle
DESCRIPTION
This command is used to set the user-specified pointer in the handle structure to user_pointer. This may be called for any handle type.
PARAMETERS
handle - Globus I/O handle.
user-pointer - The user-specified pointer in the handle structure.
RETURN VALUE
On success globus_io_handle_set_user_pointer returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_handle_set_user_pointer $handle $user-pointer] result
BUGS
None
TODO
None
NAME
globus_io_handle_type_t
DESCRIPTION
A file or socket handle.
Globus I/O uses the abstraction of a handle to act as a common data type for multiple I/O media. Currently, Globus I/O provides interfaces to the BSD socket library and the POSIX file I/O library using handles instead of file descriptors or win32 file or HANDLE objects.
A handle is created by calling one of the following functions: globus_io_file_open, globus_io_tcp_create_listener, globus_io_tcp_accept, globus_io_tcp_register_accept, or globus_io_tcp_connect.
Attributes may be bound to a handle at creation time. These provide an interface to socket options, file access options, and security.
ATTRIBUTES
o GLOBUS_IO_HANDLE_TYPE_TCP_LISTENER
o GLOBUS_IO_HANDLE_TYPE_TCP_CONNECTED
o GLOBUS_IO_HANDLE_TYPE_UDSS_LISTENER
o GLOBUS_IO_HANDLE_TYPE_UDSS_CONNECTED
o GLOBUS_IO_HANDLE_TYPE_FILE
o GLOBUS_IO_HANDLE_TYPE_UDP_UNCONNECTED
o GLOBUS_IO_HANDLE_TYPE_UDP_CONNECTED
o GLOBUS_IO_HANDLE_TYPE_UDDS_UNCONNECTED
o GLOBUS_IO_HANDLE_TYPE_UDDS_CONNECTED
o GLOBUS_IO_HANDLE_TYPE_INTERNAL
NAME
globus_io_read
SYNOPSIS
package require globus_io
globus_io_read
handle
buffer_length
waitforbytes
DESCRIPTION
This command is used to script the reading of a block of data from a handle in a blocking mode.
PARAMETERS
handle - Globus I/O handle.
buffer_length - Maximum number of bytes to read.
waitforbytes - Minimum number of bytes to write before invoking the script.
RETURN VALUE
On success globus_io_read returns 0 and a block of data. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_read $handle $buffer_length $waitforbytes ] status buffer
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_register_cancel
SYNOPSIS
package require globus_io
globus_io_register_cancel
handle
perform_callbacks
script
DESCRIPTION
This command is used to cancel any outstanding operation registered with the specified handle. If perform_callbacks is set to TRUE, then any callbacks associated with the registered operation will be called with the result argument indicating that the operation was cancelled. Additionally, the callback function will be called, with arg set to the value of callback_arg, once all outstanding callbacks have been invoked and either completed or reached their conversion point.
If perform_callbacks is not set to TRUE, callbacks will not be performed and callback and callback_arg arg ignored. This may be called for any handle type.
PARAMETERS
handle - Globus I/O handle to cancel. Any valid handle may be cancelled by calling this function.
perform_callbacks - A boolean value to indicate whether the script will be invoked or ignored.
script - TCL script invoked once the operation completes. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_register_cancel returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror mechanism.
EXAMPLE
lassign [ globus_io_register_cancel $handle TRUE [ subst { callback callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_register_close
SYNOPSIS
package require globus_io
globus_io_register_close
handle
callback_script
DESCRIPTION
This command is used to asynchronously close the file or connection described by handle. As soon as the operation completes, the callback script is called.
PARAMETERS
handle - Globus I/O handle to close. Any valid handle may be closed by calling this function.
callback_script - TCL script invoked once the operation completes. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_register_close returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror mechanism.
EXAMPLE
lassign [ globus_io_register_close $handle [ subst { callback callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_register_cancel, globus_io_cancel, globus_io_close
NAME
globus_io_register_read
SYNOPSIS
package require globus_io
globus_io_register_read
handle
buffer_length
waitforbytes
script
DESCRIPTION
This command is used to script the reading of a block of data in the background.
PARAMETERS
handle - Globus I/O handle to read from.
buffer_length - The maximum number of bytes which will be read
waitforbytes - The minimum number of bytes to read before calling the callback function.
script - TCL script invoked to perform actual read. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_register_read returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_register_read $handle $buffer_length $waitforbytes [ subst { callback callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_register_send
SYNOPSIS
package require globus_io
globus_io_register_send
handle
buffer
flags
script
DESCRIPTION
This command is used to script the sending of a block of data on the handle in the background.
PARAMETERS
handle - Globus I/O handle to send.
buffer - The data to be written.
flags - Flags to be passed to the send() call.
script - TCL script invoked to perform actual write. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_register_send returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_register_send $handle $buffer $flags [ subst { callback $callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_register_write
SYNOPSIS
package require globus_io
globus_io_register_write
handle
buffer
script
DESCRIPTION
This command is used to script the writing of a block of data on the handle in the background.
PARAMETERS
handle - Globus I/O handle to write.
buffer - The data to be written.
script - TCL script invoked to perform actual write. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_register_write returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_register_write $handle $buffer [ subst { callback $callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_register_writev
SYNOPSIS
package require globus_io
globus_io_register_writev
handle
list_of_buffer
waitforbytes
data_descriptor
callback_script
DESCRIPTION
This command is used to script the writing of a block of data to multiple non-contiguous data buffers at once in the background.
PARAMETERS
handle - Globus I/O handle to write to.
list_of_buffer_size - TCL list of buffer
script - TCL script invoked to perform actual write. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
EXAMPLE
lassign [ globus_io_register_writev $handle [list $buffer1 $buffer2] [ subst { callback $callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_secure_authentication_mode_t
DESCRIPTION
Globus I/O GSI authentication modes.
ATTRIBUTES
o GLOBUS_IO_SECURE_AUTHENTICATION_MODE_NONE
o GLOBUS_IO_SECURE_AUTHENTICATION_MODE_GSSAPI
o GLOBUS_IO_SECURE_AUTHENTICATION_MODE_MUTUAL
o GLOBUS_IO_SECURE_AUTHENTICATION_MODE_ANONYMOUS
NAME
globus_io_secure_authorization_data_destroy
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_destroy
data
DESCRIPTION
This command is used to free a data structure to hold authorization-mode specific data.
This function must be after the data structure is no longer being used to free memory allocated by setting it's member data.
PARAMETERS
data - The data structure to free. Once this function returns, the data structure must not be used until another call to globus_io_secure_authorization_data_initialize is made with this structure.
RETURN VALUE
On success globus_io_secure_authorization_data_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_secure_authorization_data_destroy $data ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_initialize, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_callback, globus_io_secure_authorization_data_get_identity, globus_io_secure_authorization_data_set_identity
NAME
globus_io_secure_authorization_data_get_callback
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_get_callback
data
DESCRIPTION
This command is used to query the callback and callback-arg members of the authorization-mode specific data structure.
This member is set by a call to the function globus_io_secure_authorization_data_set_callback.
PARAMETERS
data - The data structure previously initialized by a call to globus_io_secure_authorization_data_initialize.
RETURN VALUE
On success globus_io_secure_authorization_data_get_callback returns 0 and the current values of the callback and callback-arg in the data structure. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
TCL sample script to illustrate how to use this command.
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_initialize, globus_io_secure_authorization_data_destroy, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_identity, globus_io_secure_authorization_data_get_identity,
NAME
globus_io_secure_authorization_data_get_identity
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_get_identity
data
DESCRIPTION
This command is used to query the "identity" member of the authorization-mode specific data structure.
This member is set by a call to globus_io_secure_authorization_mode_set_identity.
PARAMETERS
data - The data structure previously initialized by a call to globus_io_secure_authorization_data_initialize.
RETURN VALUE
On success globus_io_secure_authorization_data_set_identity returns 0 and the identity string set in the data structure. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_secure_authorization_data_get_identity $data ] result identity
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_initialize, globus_io_secure_authorization_data_destroy, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_callback, globus_io_secure_authorization_data_set_identity,
NAME
globus_io_secure_authorization_data_initialize
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_initialize
data
DESCRIPTION
This command is used to initialize a data structure to hold authorization-mode specific data.
This function must be called before any of the data accessors for this structure can be used.
PARAMETERS
data - The data structure to initialize.
RETURN VALUE
On success globus_io_secure_authorization_data_initialize returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_secure_authorization_data_initialize $data ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_destroy, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_callback, globus_io_secure_authorization_data_get_identity, globus_io_secure_authorization_data_set_identity
NAME
globus_io_secure_authorization_data_set_callback
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_set_callback
data
callback
callback_arg
DESCRIPTION
This command is used to set the callback and callback_arg members of the authorization-mode specific data structure.
This member is used when setting the authorization-mode attribute of a TCP attribute set to GLOBUS_IO_SECURE_AUTHORIZATION_MODE_CALLBACK in a call to globus_io_attr_set_secure_authorization_mode.
PARAMETERS
data - The data structure previously initialized by a call to globus_io_secure_authorization_data_initialize.
callback - The new value of the callback member.
callback_arg - The new value of the callback_arg member.
RETURN VALUE
On success globus_io_secure_authorization_data_set_callback returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_secure_authorization_data_set_callback $data { callback_proc callback_arg } ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_initialize, globus_io_secure_authorization_data_destroy, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_identity, globus_io_secure_authorization_data_get_identity,
NAME
globus_io_secure_authorization_data_set_identity
SYNOPSIS
package require globus_io
globus_io_secure_authorization_data_set_identity
data
identity
DESCRIPTION
This command is used to set the "identity" member of the authorization-mode specific data structure.
This member should be set to a string containing the security distinguished name of the peer which you will authorize for this connection. The identity is only when the authorization-mode attribute is set to GLOBUS_IO_SECURE_AUTHORIZATION_MODE_IDENTITY.
PARAMETERS
data - The data structure previously initialized by a call to globus_io_secure_authorization_data_initialize.
identity - The string (a specific subject name) naming the security identity to authorize.
RETURN VALUE
On success globus_io_secure_authorization_data_set_identity returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_secure_authorization_data_set_identity $data "/DC=org/DC=doegrids/OU=People/CN=Michael Samidi 288621/CN=2095438022" ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_secure_authorization_data_initialize, globus_io_secure_authorization_data_destroy, globus_io_secure_authorization_data_get_callback, globus_io_secure_authorization_data_set_callback, globus_io_secure_authorization_data_get_identity,
NAME
globus_io_secure_authorization_mode_t
DESCRIPTION
Globus I/O GSI authorization modes.
ATTRIBUTES
o GLOBUS_IO_SECURE_AUTHORIZATION_MODE_NONE - Do not perform any authorization. This will cause an error when used in conjunction with delegation on the init/client side.
o GLOBUS_IO_SECURE_AUTHORIZATION_MODE_SELF - Authorize the peer if the peer has the same identity as ourselves.
o GLOBUS_IO_SECURE_AUTHORIZATION_MODE_IDENTITY - Authorize the peer if the peer identity matches the identity set in the target name.
o GLOBUS_IO_SECURE_AUTHORIZATION_MODE_HOST - Authorize the peer if the identity of the peer matches the identity of the peer hostname.
o GLOBUS_IO_SECURE_AUTHORIZATION_MODE_CALLBACK
NAME
globus_io_secure_channel_mode_t
DESCRIPTION
Globus I/O GSI channel modes.
ATTRIBUTES
o GLOBUS_IO_SECURE_CHANNEL_MODE_CLEAR
o GLOBUS_IO_SECURE_CHANNEL_MODE_GSI_WRAP
o GLOBUS_IO_SECURE_CHANNEL_MODE_SSL_WRAP
NAME
globus_io_secure_delegation_mode_t
DESCRIPTION
Globus I/O GSI delegation modes.
ATTRIBUTES
o GLOBUS_IO_SECURE_DELEGATION_MODE_NONE - No delegation.
o GLOBUS_IO_SECURE_DELEGATION_MODE_LIMITED_PROXY - Delegate a limited proxy.
o GLOBUS_IO_SECURE_DELEGATION_MODE_FULL_PROXY - Delegate a full proxy.
NAME
globus_io_secure_protection_mode_t
DESCRIPTION
Globus I/O GSI protection levels.
ATTRIBUTES
o GLOBUS_IO_SECURE_PROTECTION_MODE_NONE - No security.
o GLOBUS_IO_SECURE_PROTECTION_MODE_SAFE - Messages are signed.
o GLOBUS_IO_SECURE_PROTECTION_MODE_PRIVATE - Messages are signed and encrypted.
NAME
globus_io_secure_proxy_mode_t
DESCRIPTION
Globus I/O GSI proxy modes.
ATTRIBUTES
o GLOBUS_IO_SECURE_PROXY_MODE_NONE - Accept full proxies and limited proxies if they are only limited proxy in the cert chain.
o GLOBUS_IO_SECURE_PROXY_MODE_LIMITED - Accept only full proxies.
o GLOBUS_IO_SECURE_PROXY_MODE_MANY - Accept both full and limited proxies unconditionally.
NAME
globus_io_send
SYNOPSIS
package require globus_io
globus_io_send
handle
buffer
flags
DESCRIPTION
This command is used to perform a blocking send operation on the handle. This will block until the contents of buffer are written to the network, or an error occurs.
PARAMETERS
handle - Globus I/O handle.
buffer - Buffer to send.
flags - Flags to be passed to the send system call.
RESULT On success globus_io_send returns 0 and number of bytes sent. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_send $handle $buffer $flags ] status nbytes_sent
BUGS
In the case of an error during a protected data transfer, the value pointed to by nbytes_sent is not necesarily reliable.
TODO
None
SEE ALSO
NAME
globus_io_send_flags_t
DESCRIPTION
Use this to send a TCP message out of band (Urgent data flag set).
ATTRIBUTES
o GLOBUS_IO_SEND_MSG_OOB - To send a TCP message out of band
NAME
globus_io_tcp_accept
SYNOPSIS
package require globus_io
globus_io_tcp_accept
listener_handle
attr
new_handle
DESCRIPTION
This command is used to perform blocking TCP connection establishment on the specified host/port pair.
PARAMETERS
listener_handle - A Globus I/O handle created by globus_io_tcp_create_listener.
attr - The attributes of the new connection. If this is NULL, than the attributes passed to globus_io_tcp_create_listener will be used. The attributes should be compatible with those passed to that function. Security attributes can not be changed between those two calls.
new_handle - A handle to the new connection. This handle must not be used for any operation until this function returns successfully.
RETURN VALUE
On success globus_io_tcp_accept returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcp_accept $listener_handle $attr $new_handle ] result
BUGS
None
TODO
None
NAME
globus_io_tcp_connect
SYNOPSIS
package require globus_io
globus_io_tcp_connect
host
port
attr
handle
DESCRIPTION
This command is used to perform blocking TCP connection establishment on the specified host/port pair.
PARAMETERS
host - The host to connect to.
port - The TCP port number of the server.
attr - TCP socket attributes. The attr, if non-NULL, should be initialized by a call to globus_io_tcp_attr_init. The attribute settings for the attr structure can be modified by any of the globus_io_tcp attribute accessors. The security attributes must be compatible with those of the server handle.
handle - Globus I/O handle to be initialized when the connection is completed. The application must not use this handle until this function has returned.
RETURN VALUE
On success globus_io_tcp_connect returns 0 and the Globus I/O handle to be initialized when the connection is completed. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcp_connect $host $port $attr $handle ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_tcp_create_listener
SYNOPSIS
package require globus_io
globus_io_tcp_create_listener
port
backlog
attr
handle
DESCRIPTION
This command is used to create a socket handle capable of accepting new TCP connections from other hosts or processes.
In order to actively listen for connections, you must call globus_io_tcp_register_listen or globus_io_tcp_listen with the new handle returned by this function.
PARAMETERS
port - The TCP port that the socket will listen for connections on. If the port number is 0, then an arbitrary TCP port will be selected. If this is true, and the restrict_port attribute is set to TRUE (the default) and the GLOBUS_TCP_PORT_RANGE environment variable was set when Globus I/O was initialized, then the port will be selected from that range. Otherwise, any port number may be chosen.
backlog - The backlog parameter indicates the maximum length of the system's queue of pending connections. Any connection attempts when the queue is full will fail. If backlog is equal to -1, then the system-specific maximum queue length will be used.
attr - The attributes of this server. The attributes will be used as the default for handles created by accepting a connection on this handle.
handle - The new handle which will be created for this server. It can only be used for listening for and establishing connections, and may be closed by calling globus_io_register_close or globus_io_close; other I/O operations on this handle will fail.
RETURN VALUE
On success globus_io_tcp_create_listener returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcp_create_listener 0 -1 $attr $handle ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_tcp_register_listen, globus_io_tcp_listen, globus_io_tcp_register_accept, globus_io_tcp_accept
NAME
globus_io_tcp_get_attr
SYNOPSIS
package require globus_io
globus_io_tcp_get_attr
handle
attr
DESCRIPTION
This command is used to extract the TCP attributes from a Globus I/O handle.
PARAMETERS
handle - The Globus I/O handle to query.
attr - The attribute structure to be initialized to the same attributes as the Globus I/O handle.
RETURN VALUE
On success globus_io_tcp_get_attr returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcp_get_attr $handle $attr ] result
BUGS
None
TODO
None
NAME
globus_io_tcp_get_delegated_credential
SYNOPSIS
package require globus_io
globus_io_tcp_get_delegated_credential
handle
cred
DESCRIPTION
This command is used to retrieve the delegated credential from a a secure TCP connection. If the TCP handle is set to GLOBUS_IO_SECURE_AUTHENTICATION_MODE_NONE or the client did not delegate a credential, the cred value will be set to NULL.
PARAMETERS
handle - The Globus I/O handle to query. This may only be used on handles created by calling globus_io_tcp_register_accept or globus_io_tcp_accept.
cred - The handle's delegated credential will be copied into this parameter. Note that a shallow copy operation is done. If the credential is needed beyond the lifetime of the handle, it should be exported and then re-imported using the GSSAPI. If no security attributes are set on the handle, then this parameter will be set to GSS_C_NO_CREDENTIAL.
RETURN VALUE
On success globus_io_tcp_get_delegated_credential returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
TBD
BUGS
None
TODO
None
NAME
globus_io_tcp_get_local_address
SYNOPSIS
package require globus_io
globus_io_tcp_get_local_address
handle
DESCRIPTION
This command is used to get the IP address associated with a connected TCP socket.
PARAMETERS
handle - Globus I/O TCP connection handle.
RETURN VALUE
This function will return the IP address of the socket associated with this handle. The handle must be already connected, or an error will be returned.
EXAMPLE
lassign [ globus_io_tcp_get_local_address handle ] result ipstring port
BUGS
None
NAME
globus_io_tcp_get_remote_address
SYNOPSIS
package require globus_io
globus_io_tcp_get_remote_address
handle
DESCRIPTION
This command is used to get the IP address associated with the peer of a connected TCP socket.
PARAMETERS
handle - Globus I/O TCP connection handle.
RETURN VALUE
This function will return the IP address of the peer of the socket associated with this handle. The handle must be already connected, or an error will be returned.
EXAMPLE
lassign [ globus_io_tcp_get_remote_address handle ] result ipstring port
BUGS
None
NAME
globus_io_tcp_get_security_context
SYNOPSIS
package require globus_io
globus_io_tcp_get_security_context
handle
context
DESCRIPTION
This command is used to extract the security context from a Globus I/O handle.
PARAMETERS
handle - The Globus I/O handle to query.
context - The handle's context will be copied into this parameter. Note that a shallow copy operation is done. If the context is needed beyond the lifetime of the handle, it should be exported and then re-imported using the GSSAPI. If message integrity is desired it is often easier to use the secure channel modes defined by Globus I/O. If no security attributes are set on the handle, then this parameter will be set to GSS_C_NO_CONTEXT.
RETURN VALUE
On success globus_io_tcp_get_security_context returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
TBD
BUGS
None
TODO
None
NAME
globus_io_tcp_listen
SYNOPSIS
package require globus_io
globus_io_tcp_listen
listener_handle
DESCRIPTION
This command will block until a client connection is pending on the listener_handle. Once this function returns, the user application can call globus_io_tcp_register_accept or globus_io_tcp_accept to create a newly connected handle.
PARAMETERS
listener_handle - The listener handle which will be monitored.
RETURN VALUE
On success globus_io_tcp_listen returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcp_listen $listener_handle ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_tcp_register_listen, globus_io_tcp_register_accept, globus_io_tcp_accept.
NAME
globus_io_tcp_register_accept
SYNOPSIS
package require globus_io
globus_io_tcp_register_accept
listener_handle
attr
new_handle
script
DESCRIPTION
This command is used to post asynchronous server-side TCP connection establishment.
Once the connection has been accepted, the script will be called, with the callback_arg and a newly created, connected, handle argument passed to the script.
PARAMETERS
listener_handle - A Globus I/O handle created by globus_io_tcp_create_listener.
attr - The attributes of the new connection. If this is NULL, than the attributes passed to globus_io_tcp_create_listener will be used. The attributes should be compatible with those passed to that function. Security attributes can not be changed between those two calls.
new_handle - A handle to the new connection. This handle must not be used for any operation until the callback function is called.
script - TCL script invoked when the connection operation is established, and any security exchange has taken place. The "handle" passed to the script will be the "new_handle" passed to this function.The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_tcp_register_accept returns 0 and the new Globus I/O handle to be initialized when the connection is completed. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_tcp_register_accept $listener_handle $attr $new_handle [ subst { callback callback_arg } ] ] result
BUGS
None
TODO
None
NAME
globus_io_tcp_register_connect
SYNOPSIS
package require globus_io
globus_io_tcp_register_connect
host
port
attr
script
DESCRIPTION
This command is used to connect a TCP socket on the specified host/port pair. The connection will be started and a callback will be invoked when the connection is established.
PARAMETERS
host - The host to connect to.
port - The TCP port number of the server.
attr - TCP socket attributes. The attr, if non-NULL, should be initialized by a call to globus_io_tcp_attr_init(). The attribute settings for the attr structure can be modified by any of the globus_io_tcp, globus_io_securesocket, or globus_io_socket attribute accessors. The security attributes must be compatible with those of the server handle.
script - TCL script invoked when the connection operation is completed. For secure connections, this function will called after the security handshake is completed. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_tcp_register_connect returns 0 and when the operation is completed successfully the TCP connection handle will be initialized returned as part of callback script argument. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_tcp_register_connect $host $port $attr [ subst { callback_script callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_tcp_register_listen
SYNOPSIS
package require globus_io
globus_io_tcp_register_listen
handle
script
DESCRIPTION
This command is used to post asynchronous wait until a client connection is pending.
This function will invoke the script when the Globus I/O handle has a connection pending. Calls to this function or globus_io_tcp_listen must be made before each call to globus_io_tcp_accept or globus_io_tcp_register_accept.
PARAMETERS
handle - The listener handle which will be monitored.
script - TCL script invoked when the connection operation is pending. The command will be executed exactly once in global scope. If an error occurs while executing the command, then the bgerror mechanism is used to report the error.
RETURN VALUE
On success globus_io_tcp_register_listen returns 0. On error, this command will raise an error and must be caught using the appropriate bgerror command.
EXAMPLE
lassign [ globus_io_tcp_register_listen $handle [ subst { callback callback_arg } ] ] result
BUGS
None
TODO
None
SEE ALSO
globus_io_tcp_listen, globus_io_tcp_register_accept, globus_io_tcp_accept.
NAME
globus_io_tcpattr_destroy
SYNOPSIS
package require globus_io
globus_io_tcpattr_destroy
attr
DESCRIPTION
This command is used to destroy a previously allocated TCP attribute structure.
PARAMETERS
attr - The attribute structure to destroy.
RETURN VALUE
On success globus_io_tcpattr_destroy returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcpattr_destroy $attr ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_tcpattr_init
SYNOPSIS
package require globus_io
globus_io_tcpattr_init
attr
DESCRIPTION
This command is used to initialize a TCP attribute structure.
PARAMETERS
attr - Attribute to initialize.
RETURN VALUE
On success globus_io_tcpattr_init returns 0. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_tcpattr_init $attr ] result
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_try_read
SYNOPSIS
package require globus_io
globus_io_try_read
handle
buffer_length
DESCRIPTION
This command is used to read whatever data is immediately available up to buffer_length from a handle in a blocking mode.
PARAMETERS
handle - Globus I/O handle.
buffer_length - Maximum number of bytes to read.
RETURN VALUE
On success globus_io_read returns 0 and a block of data. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_try_read $handle $buffer_length ] status buffer
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_try_send
SYNOPSIS
package require globus_io
globus_io_try_send
handle
buffer
flags
DESCRIPTION
This command is used to perform nonblocking TCP or file send whatever data can immediately processed by the operating system.
PARAMETERS
handle - Globus I/O handle.
buffer - Buffer to send.
flags - Flags to be passed to the send system call.
RESULT On success globus_io_try_send returns 0 and number of bytes sent. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_try_send $handle $buffer $flags ] status nbytes_sent
BUGS
This function will always return 0 bytes written for TCP connections which are configured to use GSSAPI or SSL data wrapping.
TODO
None
SEE ALSO
NAME
globus_io_try_write
SYNOPSIS
package require globus_io
globus_io_try_write
handle
buffer
DESCRIPTION
This command is used to write as much as data it can from buffer, in a blocking mode.
PARAMETERS
handle - Globus I/O handle.
buffer - Buffer to write.
RESULT On success globus_io_try_write returns 0 and number of bytes written. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_try_write $handle $buffer ] status nbytes_written
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_whence_t
DESCRIPTION
Type for the "whence" parameter of globus_io_file_seek.
This value is used to interpret the "offset" parameter of globus_io_file_seek.
ATTRIBUTES
o GLOBUS_IO_SEEK_SET - Set the offset of the file handle relative to the beginning of the file.
o GLOBUS_IO_SEEK_CUR - Set the offset of the file handle relative to the current offset.
o GLOBUS_IO_SEEK_END - Set the offset of the file handle relative to the end of the file.
NAME
globus_io_write
SYNOPSIS
package require globus_io
globus_io_write
handle
buffer
DESCRIPTION
This command is used to script the writing of a block of data in blocking mode.
PARAMETERS
handle - Globus I/O handle.
buffer - Buffer to write.
RESULT On success globus_io_write returns 0 and number of bytes written. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_write $handle $buffer ] status nbytes_written
BUGS
None
TODO
None
SEE ALSO
NAME
globus_io_writev
SYNOPSIS
package require globus_io
globus_io_writev
handle
list_of_buffers
DESCRIPTION
This command is used to script the writing of a block of data to several memory addresses at once.
PARAMETERS
handle - Globus I/O handle.
list_of_buffers - TCL list of data buffers.
RETURN VALUE
On success globus_io_writev returns 0 and number of bytes written. On error, this command will raise an error and must be caught using the appropriate catch command.
EXAMPLE
lassign [ globus_io_writev $handle [list $buf1 $buf2] ] status nbytes
BUGS
None
TODO
None
SEE ALSO
globus_io_write, globus_io_try_write, globus_io_register_write