Scroll to navigation

globus_common(3) Library Functions Manual globus_common(3)

NAME

globus_common - Globus Common API


- Common Data Structures and Functions.

SYNOPSIS

Modules


Globus Callback
Globus Callback Function Interface. Globus Error API
Globus Error API. FIFO Queue
FIFO Queue Implementation. Handle Table for Reference Counting Data
Handle Table for Reference Counting Data. Hash Table
Hash Table. Linked List
Linked List. Memory Pool
Memory Pool. Module Activation Management
Module Activation Management. Priority Queue
Priority Queue. Threading
Portable Thread Abstraction. Thread Pooling
Thread Pooling. URL String Parser
URL String Parser. Globus UUID Generator
UUID Generator.

Macros


#define GLOBUS_COMMON_MODULE (&globus_i_common_module)
Globus Common Module Descriptor. #define GLOBUS_TILDE_EXPAND
Expand ~. #define GLOBUS_TILDE_USER_EXPAND
Expand ~user. #define GLOBUS_TRUE 1
True value for globus_bool_t. #define GLOBUS_FALSE 0
False value for globus_bool_t. #define GLOBUS_SUCCESS 0
Generic success result

Most Globus API functions return this value to indicate success, or some error constant or globus_result_t to indicate an error. " #define GLOBUS_FAILURE -1
Generic failure result

Some Globus API functions without good error handling return this value to indicate some undetermined error occurred. "

Typedefs


typedef size_t globus_size_t
Standard size of memory object

The globus_size_t is the size of a memory object. It is identical to size_t in all cases and doesn't need to be used ever. " typedef socklen_t globus_socklen_t
Size of a socket length parameter. typedef unsigned char globus_byte_t
Unsigned byte datatype

This is used for byte-addressable arrays of arbitrary data which is not subject to sign extension. " typedef int globus_bool_t
Boolean type. typedef uint32_t globus_result_t

Functions


globus_result_t globus_eval_path (const char *pathstring, char **bufp)
int globus_tilde_expand (unsigned long options, globus_bool_t url_form, char *inpath, char **outpath)
Expand ~ and/or ~user in path strings.

Detailed Description

Common Data Structures and Functions.

Container Data Types

  • Linked List
  • FIFO Queue
  • Handle Table for Reference Counting Data
  • Hash Table
  • Priority Queue

Common Runtime Components

  • Threading
  • Globus Callback
  • Memory Pool
  • Module Activation Management

Error Handling

Globus Error API

Miscellaneous Utilities

  • Globus UUID Generator
  • URL String Parser

Typedef Documentation

typedef int globus_bool_t

Boolean type. Set values to either the constant GLOBUS_TRUE and GLOBUS_FALSE

typedef uint32_t globus_result_t

Weak pointer to a Globus Error object, or the special value GLOBUS_SUCCESS

typedef socklen_t globus_socklen_t

Size of a socket length parameter. The globus_socklen_t type is part of the POSIX socket interface and is also available in winsock2.h. In older UNIX implementations, this was variously a size_t or an int.

Function Documentation

globus_result_t globus_eval_path (const char * pathstring, char ** bufp)

Parameters

pathstring A string containing any number of variable path references using the syntax ${PATH-NAME} Supported path elements are
  • prefix
  • exec_prefix
  • sbindir
  • bindir
  • libdir
  • libexecdir
  • includedir
  • datarootdir
  • datadir
  • mandir
  • sysconfdir
  • sharedstatedir
  • localstatedir
  • perlmoduledir These strings are based on the parameters passed to this package configure script, but modified so that if GLOBUS_LOCATION is set in the environment, it is used instead of the configured path.

bufp Pointer to be set to a newly allocated string that has recursively resolved all substitution paths.

int globus_tilde_expand (unsigned long options, globus_bool_t url_form, char * inpath, char ** outpath)

Expand ~ and/or ~user in path strings. Expand the leading ~ (or ~user) characters from inpath to the home directory path of the current user (or user specified in ~user); the result is stored in a newly allocated buffer *outpath (which will need to be freed by a call to globus_free.) The string following the ~/or ~user/ is copied verbatim to the output string.

Parameters

options The expansion is conditioned by the options as defined in globus_tilde_expand.h:
  • GLOBUS_TILDE_EXPAND: expand ~
  • GLOBUS_TILDE_USER_EXPAND: expand ~user Otherwise, the corresponding form is not expanded (just copied int the output path)

url_form True if the inpath follows an URL format (/~) Used when expanding an url (for : <scheme>://host[:port][/path] were /path can be of the form /~[user][/...]. Otherwise, the form ~[user][/...] is expected.
inpath Input string to expand.
outpath Output string; Need to be freed when not used anymore.

Author

Generated automatically by Doxygen for globus_common from the source code.

Version 18.14 globus_common