Index: ossp-pkg/val/val.pod RCS File: /v/ossp/cvs/ossp-pkg/val/val.pod,v rcsdiff -q -kk '-r1.14' '-r1.15' -u '/v/ossp/cvs/ossp-pkg/val/val.pod,v' 2>/dev/null --- val.pod 2003/02/17 13:49:39 1.14 +++ val.pod 2003/02/17 14:27:40 1.15 @@ -32,7 +32,7 @@ =head1 NAME -B - Value Access Library +B - Value Access =head1 SYNOPSIS @@ -88,17 +88,21 @@ In general, this is used for accessing ISO-C variables without having to know the actual symbol/address. The typical use cases are in combination -with flexible configuration parsing and supporting loosly-coupled +with flexible configuration parsing and supporting loosely-coupled DSO-based module architectures. =head1 STRUCTURED NAMES -Whenever the APIs calls for a name, it supports structured names where +Whenever the API calls for a name, it supports structured names where elements are separated by a dot. It is assumed that the leading elements are references to other C structures and only the very last element is a reference to an actual variable. -=head1 API CONSTANTS +=head1 APPLICATION PROGRAMMING INTERFACE (API) + +=head2 API CONSTANTS + +The following constants exist in the B API: =over 4 @@ -111,13 +115,15 @@ Type of value when registering a variable using B() or querying for the type using B(). Most are self-explanatory because -directly correspond to the basic C data types. C is used +directly correspond to the basic ISO-C data types. C is used to mount a C structure into an existing C structure to support structured names (see example section for details). -The following particular types exist: C, C, -C, C, C, C, -C, C +The following particular types exist: C (C), C (C), C (C), +C (C), C (C), +C (C), C (C), +C (C). =item C, CI @@ -134,7 +140,9 @@ =back -=head1 API DATA TYPES +=head2 API DATA TYPES + +The following data types exist in the B API: =over 4 @@ -154,17 +162,20 @@ =back -=head1 API FUNCTIONS +=head2 API FUNCTIONS + +The following functions exist in the B API: =over 4 =item val_rc_t B(val_t **I); -Creates a new value structure and updates the given pointer to reference it. +Creates a new value access structure and updates the given pointer +I to reference it. =item val_rc_t B(val_t *I); -Destroys a I structure. +Destroys the value access structure referenced by I. =item val_rc_t B(val_t *I, const char *I, int I, const char *I, void *I); @@ -173,21 +184,21 @@ queried through B() and is also passed to the callback of B(). The value that belongs to the given I is expected to be found at I. Passing C as I will create -an internal data storage in I so it can only be access through +an internal data storage in I so it can only be accessed through B(), B() or after the actual storage address was queried using B(). =item val_rc_t B(val_t *I, const char *I); -Unregisters the value under I in I. +Unregisters the value under I from I. =item val_rc_t B(val_t *I, const char *I, int *I, char **I, void **I); Queries a value I in I and returns its type, description and -storage address. All of I, I and I are optional and -C can be passed in if this information is not needed. Passing C to -all query result pointers just checks for existence of the value I in -I. +storage address. All of I, I and I are optional +and C can be passed in if this information is not needed. Passing +C to all query result pointers just checks for existence of the +value I in I. =item val_rc_t B(val_t *I, const char *I, ...); @@ -196,21 +207,22 @@ Unless the actual storage address was queried using B() this operation is mandatory for internally stored data. If external storage is used, not the value but a pointer to it is stored in the library, so -the value is allowed to be be modified without notice to the library. +the value is allowed to be be modified without explicit notice to the +library. =item val_rc_t B(val_t *I, const char *I, ...); -Gets the value I in I and stores it whereever the passed variable +Gets the value I in I and stores it wherever the passed variable argument points to. The storage location is expected to be of the I specified at B() time. =item val_rc_t B(val_t *I, const char *I, va_list I); -Exactly like B() but uses a C. +Exactly like B() but uses a C for the variable arguments. =item val_rc_t B(val_t *I, const char *I, va_list I); -Exactly like B() but uses a C. +Exactly like B() but uses a C for the variable arguments. =item val_rc_t B(val_t *I, const char *I, int I, val_cb_t I, void *I); @@ -338,12 +350,15 @@ =head1 HISTORY -B was invented in January 2002 by Thomas Lotterer and Ralf S. -Engelschall for use with the B project. +B was invented in January 2002 by Thomas Lotterer +Ethomas@lotterer.netE and Ralf S. Engelschall +Erse@engelschall.comE for use in the B project. Its +creation was prompted by the requirement to locate values for B based expansions in B. =head1 AUTHORS - Thomas Lotterer + Thomas Lotterer Ralf S. Engelschall =cut