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

Reply via email to