GT 6.0 C Common Libraries: Developer’s Guide


Introduction

The C Common Libraries provide an abstraction layer for data types, libc system calls, and data structures used throughout the Globus Toolkit and useful for applications that use the Globus Toolkit.

::numbered:

Chapter 1. Before you begin

1. Feature summary

  • Globus Callback - Portable event handling layer for signal handling and periodic and one-shot events in a single- more multi-threaded environment.
  • Globus Error - An abstraction for providing context-specific information in error response in C.
  • Portable Threading API for POSIX and Windows
  • URL String Parser
  • Configuration handlers for command-line, environment-variable, and configuration file based application configuration.

2. Tested platforms

The C common libraries have been tested on the following platforms

Table 1.1. Tested Platforms

Operating System Distribution Version(s) Architecture(s)

Linux

CentOS

5, 6

i386, x86_64

7

x86_64

Fedora

20, 21, 22

i386, x86_64

Red Hat Enterprise Linux

5, 6

i386, x86_64

7

x86_64

Scientific Linux

5, 6

i386, x86_64

7

x86_64

SUSE Linux Enterprise Server

11SP3

x86_64

Debian

6, 7, 8

i386, amd64

Ubuntu

12.04LTS, 14.04LTS, 14.10, 15.04

i386, amd64

Mac OS X

10.6-10.10

i386, x86_64

Solaris

OmniOS

r151006

x86_64

Windows 7

Cygwin

i386, x86_64

MingW64

i386, x86_64


3. Backward compatibility summary

API changes since GT version 5.2

None.

All of the GT 3.2 API is still functional in GT 6.0.

4. Technology dependencies

None.

4.1. Security Considerations for C Common Libraries

There are no security considerations for the C Common Libraries.

Chapter 2. Usage scenarios

C Common libraries will need to be used if virtually any other toolkit component is used, since many data types are abstract and require the C common libraries to manipulate.

Chapter 3. Architecture and design overview

Not available at this time.

Chapter 4. APIs

Table of Contents

1. Component API

1. Component API

See the C API pages for other API documentation on globus_common.

Chapter 5. Environment variable interface

1. Environment variables for C Common Libraries

GLOBUS_HOSTNAME
Set this variable to the fully qualified name of the local machine’s hostname.
GLOBUS_DOMAIN_NAME
Set this variable to the domain name to be used to qualify the local machine’s hostname.
GLOBUS_ERROR_OUTPUT
Set this variable to 1 to cause Globus libraries to display error information to stderr.
GLOBUS_ERROR_VERBOSE
Set this variable to 1 to enable verbose error messages.
GLOBUS_I18N
Set this variable to 1 to attempt to use localized messages. (Currently not working)
GLOBUS_LOCATION
Set this variable to the path where the Globus Toolkit is installed, so that Globus tools can find libraries and data files. This is only needed if the Globus Toolkit was built with the source installer.
GLOBUS_THREAD_MODEL
Set to the name of a thread model to control the operation of the Globus event driver. Valid values are (depending on the platform) none for non-threaded operation (the default), pthread for POSIX threads, or windows for Windows threads.

Chapter 6. Debugging

General C debugging techniques apply when developing with the C common libraries.

Chapter 7. Troubleshooting

There are no specific troubleshooting techniques for the C common libraries.

Chapter 8. Related Documentation

See the C API Pages for more information about this component.