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.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 ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel