Globus Common API

Common Data Structures and Functions. More...

Modules

 Globus Callback
 

Globus Callback Function Interface.


 Globus Error API
 FIFO Queue
 

FIFO Queue Implementation.


 Handle Table for Reference Counting Data
 Hash Table
 Linked List
 Memory Pool
 Module Activation Management
 Priority Queue
 Threading
 

Portable Thread Abstraction.


 Thread Pooling
 URL String Parser
 Globus UUID Generator
 

UUIDs.


Defines

#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 resultMost 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 resultSome 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 objectThe 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 datatypeThis 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

Common Runtime Components

Error Handling

Miscellaneous Utilities


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.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 8 Apr 2015 for globus_common by  doxygen 1.6.1