00-README.conf | 18 ++++++++++++++++++ osaf/libs/saf/include/saAis.h | 4 ++++ osaf/libs/saf/include/saAis_B_5_14.h | 17 +++++++++++++++++ 3 files changed, 39 insertions(+), 0 deletions(-)
Add declarations of saAisNameLend() and saAisNameBorrow() to saAis_B_5_14.h. Update 00-README.conf with description of how to enable the extended SaNameT type. diff --git a/00-README.conf b/00-README.conf --- a/00-README.conf +++ b/00-README.conf @@ -447,3 +447,21 @@ Note: The OpenSAF default implemetation Earlier default implementation of the command (which was never called from SMF) requires a bundle name as input parameter. From OpenSAF 4.4 the input parameter shall be the DN of the bundle to check. + +Extended SaNameT type +========================================================================= +The SaNameT type is deprecated will be replaced with string parameters in new +SAF APIs. As an intermediate solution, the extended format of the SaNameT type +can be used to pass string parameters to and from old SAF APIs as well, by +tunneling them through the SaNameT type. To enable the extended SaNameT +format, the application source code has to be compiled with the +SA_EXTENDED_NAME_SOURCE preprocessor macro defined, and the environment +variable SA_ENABLE_EXTENDED_NAMES must be set to the value 1 before the first +call to any SAF API function. + +When the extended SaNameT format is enabled, the SA_MAX_NAME_LENGTH constant +must not be used, and the application must treat the SaNameT type as opaque +and not access any of its members directly. Instead, the saAisNameLend() and +saAisNameBorrow() access functions shall be used. The +SA_MAX_UNEXTENDED_NAME_LENGTH constant can be used to refer to the maximum +string length that can be stored in the unextended SaNameT type. diff --git a/osaf/libs/saf/include/saAis.h b/osaf/libs/saf/include/saAis.h --- a/osaf/libs/saf/include/saAis.h +++ b/osaf/libs/saf/include/saAis.h @@ -70,7 +70,9 @@ typedef SaUint64T SaSelectio #define SA_TIME_ONE_DAY 86400000000000LL #define SA_TIME_MAX SA_TIME_END +#ifndef SA_EXTENDED_NAME_SOURCE #define SA_MAX_NAME_LENGTH 256 +#endif /* SA_EXTENDED_NAME_SOURCE */ #define SA_TRACK_CURRENT 0x01 #define SA_TRACK_CHANGES 0x02 @@ -156,10 +158,12 @@ typedef struct { SaUint8T *bufferAddr; } SaAnyT; +#ifndef SA_EXTENDED_NAME_SOURCE typedef struct { SaUint16T length; SaUint8T value[SA_MAX_NAME_LENGTH]; } SaNameT; +#endif /* SA_EXTENDED_NAME_SOURCE */ typedef struct { SaUint8T releaseCode; diff --git a/osaf/libs/saf/include/saAis_B_5_14.h b/osaf/libs/saf/include/saAis_B_5_14.h --- a/osaf/libs/saf/include/saAis_B_5_14.h +++ b/osaf/libs/saf/include/saAis_B_5_14.h @@ -31,6 +31,23 @@ extern "C" { typedef const char* SaConstStringT; +#ifdef SA_EXTENDED_NAME_SOURCE +#define SA_MAX_UNEXTENDED_NAME_LENGTH 256 + +typedef struct { + SaUint16T _opaque[129]; +} SaNameT; + +extern void +saAisNameLend( + SaConstStringT value, + SaNameT* name); + +extern SaConstStringT +saAisNameBorrow( + const SaNameT* name); +#endif /* SA_EXTENDED_NAME_SOURCE */ + #ifdef __cplusplus } #endif ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://www.hpccsystems.com _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel