Hi Vu,

Some (minor) comments:

The osaf_secutil.h needs the following for the _GNU_SOURCE define
#ifndef _GNU_SOURCE
#define  _GNU_SOURCE
#endif

The #1527 patch is now pushed.
There are changes in this patch that that change things that's also changed in 
the #1527 patch. This gives merge conflicts.
This patch cannot be pushed and the original #1527 patch shall/can not be used.

Thanks
Lennart

> -----Original Message-----
> From: Vu Minh Nguyen [mailto:vu.m.ngu...@dektech.com.au]
> Sent: den 8 december 2015 13:33
> To: mathi.naic...@oracle.com; Lennart Lund; Anders Widell
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] log: switching to use the C++ compiler [#1624]
> 
>  osaf/services/saf/logsv/lgs/Makefile.am    |   34 ++++---
>  osaf/services/saf/logsv/lgs/lgs.h          |   10 ++-
>  osaf/services/saf/logsv/lgs/lgs_amf.c      |    4 +-
>  osaf/services/saf/logsv/lgs/lgs_cb.h       |    8 +
>  osaf/services/saf/logsv/lgs/lgs_config.c   |  113 ++++++++++++++------------
>  osaf/services/saf/logsv/lgs/lgs_config.h   |    4 +-
>  osaf/services/saf/logsv/lgs/lgs_evt.c      |   17 ++-
>  osaf/services/saf/logsv/lgs/lgs_evt.h      |    9 ++
>  osaf/services/saf/logsv/lgs/lgs_file.c     |   45 ++++++----
>  osaf/services/saf/logsv/lgs/lgs_filehdl.c  |   22 +++--
>  osaf/services/saf/logsv/lgs/lgs_fmt.c      |   26 +++--
>  osaf/services/saf/logsv/lgs/lgs_fmt.h      |    8 +
>  osaf/services/saf/logsv/lgs/lgs_imm.c      |  118 ++++++++++++++-------------
>  osaf/services/saf/logsv/lgs/lgs_main.c     |   13 +-
>  osaf/services/saf/logsv/lgs/lgs_mbcsv.c    |  123 ++++++++++++++------------
> --
>  osaf/services/saf/logsv/lgs/lgs_mbcsv.h    |    2 +-
>  osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.c |   28 +++---
>  osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.h |    6 +-
>  osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.c |   34 ++++----
>  osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.c |   26 +++---
>  osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.c |   26 +++---
>  osaf/services/saf/logsv/lgs/lgs_mds.c      |   40 +++++----
>  osaf/services/saf/logsv/lgs/lgs_stream.c   |   64 +++++++-------
>  osaf/services/saf/logsv/lgs/lgs_stream.h   |    8 +
>  osaf/services/saf/logsv/lgs/lgs_util.c     |   36 ++++---
>  osaf/services/saf/logsv/lgs/lgs_util.h     |    9 ++
>  26 files changed, 467 insertions(+), 366 deletions(-)
> 
> 
> Fix error messages when using C++ compiler
> 
> diff --git a/osaf/services/saf/logsv/lgs/Makefile.am
> b/osaf/services/saf/logsv/lgs/Makefile.am
> --- a/osaf/services/saf/logsv/lgs/Makefile.am
> +++ b/osaf/services/saf/logsv/lgs/Makefile.am
> @@ -40,28 +40,30 @@ noinst_HEADERS = \
>  osaf_execbindir = $(pkglibdir)
>  osaf_execbin_PROGRAMS = osaflogd
> 
> +osaflogd_CXXFLAGS = $(AM_CXXFLAGS)
> +
>  osaflogd_CPPFLAGS = \
>       $(AM_CPPFLAGS) \
>       -I$(top_srcdir)/osaf/libs/common/logsv/include \
>       -I$(top_srcdir)/osaf/libs/common/immsv/include
> 
>  osaflogd_SOURCES = \
> -     lgs_amf.c \
> -     lgs_evt.c \
> -     lgs_fmt.c \
> -     lgs_imm.c \
> -     lgs_main.c \
> -     lgs_mbcsv.c \
> -     lgs_mbcsv_v1.c \
> -     lgs_mbcsv_v2.c \
> -     lgs_mds.c \
> -     lgs_stream.c \
> -     lgs_util.c \
> -     lgs_file.c \
> -     lgs_filehdl.c \
> -     lgs_mbcsv_v3.c \
> -     lgs_config.c \
> -     lgs_mbcsv_v5.c
> +     lgs_amf.cc \
> +     lgs_evt.cc \
> +     lgs_fmt.cc \
> +     lgs_imm.cc \
> +     lgs_main.cc \
> +     lgs_mbcsv.cc \
> +     lgs_config.cc \
> +     lgs_mbcsv_v1.cc \
> +     lgs_mbcsv_v2.cc \
> +     lgs_mds.cc \
> +     lgs_stream.cc \
> +     lgs_util.cc \
> +     lgs_file.cc \
> +     lgs_filehdl.cc \
> +     lgs_mbcsv_v3.cc \
> +     lgs_mbcsv_v5.cc
> 
>  osaflogd_LDADD = \
>       $(top_builddir)/osaf/tools/safimm/src/libimmutil.la \
> diff --git a/osaf/services/saf/logsv/lgs/lgs.h
> b/osaf/services/saf/logsv/lgs/lgs.h
> --- a/osaf/services/saf/logsv/lgs/lgs.h
> +++ b/osaf/services/saf/logsv/lgs/lgs.h
> @@ -49,6 +49,10 @@
> 
>  #include "lgs_config.h"
> 
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
>  /*
> ==========================================================
> ==============
>   *   DEFINITIONS
>   *
> ==========================================================
> ==============
> @@ -97,7 +101,7 @@ extern pthread_mutex_t lgs_OI_init_mutex
> 
>  extern uint32_t lgs_configure_mailbox(void);
> 
> -extern uint32_t lgs_amf_init(lgs_cb_t *);
> +extern SaAisErrorT lgs_amf_init(lgs_cb_t *cb);
>  extern uint32_t lgs_mds_init(lgs_cb_t *cb);
>  extern uint32_t lgs_mds_finalize(lgs_cb_t *cb);
>  extern uint32_t lgs_mds_change_role(lgs_cb_t *cb);
> @@ -117,4 +121,8 @@ extern void lgs_imm_init_OI_handle(SaImm
>       SaSelectionObjectT *immSelectionObject);
>  extern void lgs_imm_impl_set(SaImmOiHandleT immOiHandle);
> 
> +#ifdef __cplusplus
> +}
> +#endif
> +
>  #endif   /* ifndef __LGS_H */
> diff --git a/osaf/services/saf/logsv/lgs/lgs_amf.c
> b/osaf/services/saf/logsv/lgs/lgs_amf.cc
> rename from osaf/services/saf/logsv/lgs/lgs_amf.c
> rename to osaf/services/saf/logsv/lgs/lgs_amf.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_amf.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_amf.cc
> @@ -171,7 +171,7 @@ static SaAisErrorT amf_quiesced_state_ha
> 
>       mds_role = cb->mds_role;
>       cb->mds_role = V_DEST_RL_QUIESCED;
> -     if ((rc = lgs_mds_change_role(cb)) != NCSCC_RC_SUCCESS) {
> +     if (lgs_mds_change_role(cb) != NCSCC_RC_SUCCESS) {
>               LOG_ER("lgs_mds_change_role FAILED");
>               rc = SA_AIS_ERR_FAILED_OPERATION;
>               cb->mds_role = mds_role;
> @@ -306,7 +306,7 @@ static void amf_csi_set_callback(SaInvoc
>               }
> 
>               /* Inform MBCSV of HA state change */
> -             if (NCSCC_RC_SUCCESS != (error =
> lgs_mbcsv_change_HA_state(lgs_cb)))
> +             if (NCSCC_RC_SUCCESS !=
> lgs_mbcsv_change_HA_state(lgs_cb))
>                       error =
> SA_AIS_ERR_FAILED_OPERATION;
>       }
> 
> diff --git a/osaf/services/saf/logsv/lgs/lgs_cb.h
> b/osaf/services/saf/logsv/lgs/lgs_cb.h
> --- a/osaf/services/saf/logsv/lgs/lgs_cb.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_cb.h
> @@ -25,6 +25,10 @@
>  #include <ncs_edu_pub.h>
>  #include "lgs_stream.h"
> 
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
> +
>  /* Default HA state assigned locally during lgs initialization */
>  #define LGS_HA_INIT_STATE 0
> 
> @@ -92,4 +96,8 @@ extern uint32_t lgs_cb_init(lgs_cb_t *);
>  extern void lgs_process_mbx(SYSF_MBX *mbx);
>  extern uint32_t lgs_stream_add(lgs_cb_t *cb, log_stream_t *stream);
> 
> +#ifdef __cplusplus
> +}
>  #endif
> +
> +#endif
> diff --git a/osaf/services/saf/logsv/lgs/lgs_config.c
> b/osaf/services/saf/logsv/lgs/lgs_config.cc
> rename from osaf/services/saf/logsv/lgs/lgs_config.c
> rename to osaf/services/saf/logsv/lgs/lgs_config.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_config.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_config.cc
> @@ -15,7 +15,9 @@
>   *
>   */
> 
> +#ifndef _GNU_SOURCE
>  #define _GNU_SOURCE
> +#endif
>  #include "lgs_config.h"
>  #include <stdio.h>
>  #include <stdlib.h>
> @@ -124,47 +126,9 @@ static struct {
>       SaUint32T logMaxApplicationStreams;
>       SaUint32T logFileIoTimeout;
>       SaUint32T logFileSysConfig;
> -} lgs_conf_def = {
> -     .logRootDirectory = PKGLOGDIR,
> -     .logDataGroupname = "",
> -     .logStreamFileFormat = DEFAULT_APP_SYS_FORMAT_EXP,
> -     .logStreamSystemHighLimit = 0,
> -     .logStreamSystemLowLimit = 0,
> -     .logStreamAppHighLimit = 0,
> -     .logStreamAppLowLimit = 0,
> -     .logMaxLogrecsize = 1024,
> -     .logMaxApplicationStreams = 64,
> -     .logFileIoTimeout = 500,
> -     .logFileSysConfig = 1,
> -};
> +} lgs_conf_def;
> 
> -static lgs_conf_t lgs_conf = {
> -     /*
> -      * For the following flags, LGS_CNF_DEF means that no
> external
> -      * configuration exists and the corresponding attributes hard-
> coded
> -      * default value is used.Is set to false if configuration is found
> in
> -      * IMM object or environment variable.
> -      * See function lgs_logconf_get() for more info.
> -      */
> -     .OpenSafLogConfig_object_exist = false,
> -
> -     .logRootDirectory_cnfflag = LGS_CNF_DEF,
> -     .logStreamSystemHighLimit_cnfflag = LGS_CNF_DEF,
> -     .logStreamSystemLowLimit_cnfflag = LGS_CNF_DEF,
> -     .logStreamAppHighLimit_cnfflag = LGS_CNF_DEF,
> -     .logStreamAppLowLimit_cnfflag = LGS_CNF_DEF,
> -     .logDataGroupname_cnfflag = LGS_CNF_DEF,
> -     /*
> -      * The following attributes cannot be configured in the config
> file
> -      * Will be set to false if the attribute exists in the IMM config
> object
> -      */
> -     .logMaxLogrecsize_cnfflag = LGS_CNF_DEF,
> -     .logMaxApplicationStreams_cnfflag = LGS_CNF_DEF,
> -     .logFileIoTimeout_cnfflag = LGS_CNF_DEF,
> -     .logFileSysConfig_cnfflag = LGS_CNF_DEF,
> -     .logStreamFileFormat_cnfflag = LGS_CNF_DEF,
> -};
> -
> +static lgs_conf_t lgs_conf;
> 
> 
> /**********************************************************
> ********************
>   * Internal functions
> @@ -177,6 +141,49 @@ static int verify_all_init(void);
>   * Utility functions
>   */
> 
> +static void lgs_conf_def_init(void)
> +{
> +     lgs_conf_def.logRootDirectory = PKGLOGDIR;
> +     lgs_conf_def.logDataGroupname = "";
> +     lgs_conf_def.logStreamFileFormat =
> DEFAULT_APP_SYS_FORMAT_EXP;
> +     lgs_conf_def.logStreamSystemHighLimit = 0;
> +     lgs_conf_def.logStreamSystemLowLimit = 0;
> +     lgs_conf_def.logStreamAppHighLimit = 0;
> +     lgs_conf_def.logStreamAppLowLimit = 0;
> +     lgs_conf_def.logMaxLogrecsize = 1024;
> +     lgs_conf_def.logMaxApplicationStreams = 64;
> +     lgs_conf_def.logFileIoTimeout = 500;
> +     lgs_conf_def.logFileSysConfig = 1;
> +}
> +
> +// Initialize lgs_conf global variable
> +static void lgs_conf_init(void)
> +{
> +     /*
> +      * For the following flags, LGS_CNF_DEF means that no
> external
> +      * configuration exists and the corresponding attributes hard-
> coded
> +      * default value is used.Is set to false if configuration is found
> in
> +      * IMM object or environment variable.
> +      * See function lgs_logconf_get() for more info.
> +      */
> +     lgs_conf.OpenSafLogConfig_object_exist = false;
> +     lgs_conf.logRootDirectory_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logStreamSystemHighLimit_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logStreamSystemLowLimit_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logStreamAppHighLimit_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logStreamAppLowLimit_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logDataGroupname_cnfflag = LGS_CNF_DEF;
> +     /*
> +      * The following attributes cannot be configured in the config
> file
> +      * Will be set to false if the attribute exists in the IMM config
> object
> +      */
> +     lgs_conf.logMaxLogrecsize_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logMaxApplicationStreams_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logFileIoTimeout_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logFileSysConfig_cnfflag = LGS_CNF_DEF;
> +     lgs_conf.logStreamFileFormat_cnfflag = LGS_CNF_DEF;
> +};
> +
>  /**
>   * Set default values for all parameters
>   */
> @@ -219,7 +226,7 @@ static void init_default(void)
>   *                         NOTE! Must be initiated before first call {NULL, 
> 0}
>   *
>   */
> -void lgs_cfgupd_list_create(char *name_str, char *value_str,
> +void lgs_cfgupd_list_create(const char *name_str, char *value_str,
>       lgs_config_chg_t *config_data)
>  {
>       char *tmp_char_ptr = NULL;
> @@ -230,7 +237,7 @@ void lgs_cfgupd_list_create(char *name_s
>       TRACE_ENTER2("name_str '%s', value_str \"%s\"", name_str,
> value_str);
> 
>       cfg_size = strlen(name_str) + strlen(value_str) + 2;
> -     cfg_param_str = malloc(cfg_size);
> +     cfg_param_str = (char *) malloc(cfg_size);
>       if (cfg_param_str == NULL) {
>               TRACE("%s: malloc Fail Aborted",
> __FUNCTION__);
>               osaf_abort(0);
> @@ -363,7 +370,7 @@ int lgs_cfg_update(const lgs_config_chg_
>        * since the information is changed by the strok() function. The
>        * original config_data must not be changed.
>        */
> -     allocmem_ptr = calloc(1,config_data->ckpt_buffer_size);
> +     allocmem_ptr = (char *) calloc(1,config_data-
> >ckpt_buffer_size);
>       param_ptr = allocmem_ptr;
>       (void) memcpy(param_ptr, config_data->ckpt_buffer_ptr,
> config_data->ckpt_buffer_size);
> 
> @@ -381,7 +388,7 @@ int lgs_cfg_update(const lgs_config_chg_
>               value_str = strtok_r(NULL, "=", &saveptr);
>               if (value_str == NULL) {
>                       TRACE("%s: value_str is NULL",
> __FUNCTION__);
> -                     value_str = "";
> +                     value_str = const_cast<char *>
> ("");
>               }
> 
>               /* Update config data */
> @@ -1135,7 +1142,11 @@ static void read_log_config_environ_var_
>  void lgs_cfg_init(SaImmOiHandleT immOiHandle, SaAmfHAStateT ha_state)
>  {
>       TRACE_ENTER2("immOiHandle = %lld", immOiHandle);
> -
> +
> +     /* Initialize the global variables */
> +     lgs_conf_def_init();
> +     lgs_conf_init();
> +
>       /* Initiate the default values for all parameters
>        */
>       init_default();
> @@ -1367,7 +1378,7 @@ void conf_runtime_obj_create(SaImmOiHand
>       char *nameptr = namestr;
>       void *valarr[] = { &nameptr };
>       const SaImmAttrValuesT_2 attr_logConfig = {
> -             .attrName = "logConfig",
> +             .attrName = (SaImmAttrNameT) "logConfig",
>               .attrValueType = SA_IMM_ATTR_SASTRINGT,
>               .attrValuesNumber = 1,
>               .attrValues = valarr
> @@ -1384,7 +1395,7 @@ void conf_runtime_obj_create(SaImmOiHand
>       parent_name_p = &parent_name;
> 
>       rc = saImmOiRtObjectCreate_2(immOiHandle,
> -                     "OpenSafLogCurrentConfig",
> +                 (SaImmClassNameT)
> "OpenSafLogCurrentConfig",
>                       parent_name_p,
>                       attrValues);
> 
> @@ -1510,13 +1521,13 @@ static char *cnfflag_str(lgs_conf_flg_t
>  {
>       switch (cnfflag) {
>       case LGS_CNF_OBJ:
> -             return "Config object";
> +             return const_cast<char *> ("Config object");
>       case LGS_CNF_ENV:
> -             return "Environment variable";
> +             return const_cast<char *> ("Environment
> variable");
>       case LGS_CNF_DEF:
> -             return "Default value";
> +             return const_cast<char *> ("Default value");
>       default:
> -             return "Bad input";
> +             return const_cast <char *> ("Bad input");
>       }
>  }
> 
> diff --git a/osaf/services/saf/logsv/lgs/lgs_config.h
> b/osaf/services/saf/logsv/lgs/lgs_config.h
> --- a/osaf/services/saf/logsv/lgs/lgs_config.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_config.h
> @@ -23,7 +23,7 @@
>  #include "saImmOi.h"
>  #include "saAmf.h"
> 
> -#ifdef       __cplusplus
> +#ifdef __cplusplus
>  extern "C" {
>  #endif
> 
> @@ -74,7 +74,7 @@ typedef struct config_chkpt {
>  void lgs_cfg_init(SaImmOiHandleT immOiHandle, SaAmfHAStateT ha_state);
>  const void *lgs_cfg_get(lgs_logconfGet_t param);
>  bool lgs_path_is_writeable_dir_h(const char *pathname);
> -void lgs_cfgupd_list_create(char *name_str, char *value_str,
> +void lgs_cfgupd_list_create(const char *name_str, char *value_str,
>       lgs_config_chg_t *config_data);
>  char *lgs_cfgupd_list_read(char **name_str, char **value_str,
>       char *next_param_ptr, lgs_config_chg_t *cfgupd_ptr);
> diff --git a/osaf/services/saf/logsv/lgs/lgs_evt.c
> b/osaf/services/saf/logsv/lgs/lgs_evt.cc
> rename from osaf/services/saf/logsv/lgs/lgs_evt.c
> rename to osaf/services/saf/logsv/lgs/lgs_evt.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_evt.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_evt.cc
> @@ -104,7 +104,9 @@ log_client_t *lgs_client_new(MDS_DEST md
>                       lgs_cb->last_client_id++;
>       }
> 
> -     if (NULL == (client = calloc(1, sizeof(log_client_t)))) {
> +     client = (log_client_t *) calloc(1, sizeof(log_client_t));
> +
> +     if (NULL == client) {
>               LOG_WA("lgs_client_new calloc FAILED");
>               goto done;
>       }
> @@ -210,7 +212,8 @@ int lgs_client_stream_add(uint32_t clien
>               goto err_exit;
>       }
> 
> -     if ((stream = malloc(sizeof(lgs_stream_list_t))) == NULL) {
> +     stream = (lgs_stream_list_t *)
> malloc(sizeof(lgs_stream_list_t));
> +     if (stream  == NULL) {
>               LOG_WA("malloc FAILED");
>               rs = -1;
>               goto err_exit;
> @@ -567,7 +570,6 @@ uint32_t lgs_cb_init(lgs_cb_t *lgs_cb)
>       reg_param.key_size = sizeof(uint32_t);
> 
>       /* Assign Initial HA state */
> -     lgs_cb->ha_state = LGS_HA_INIT_STATE;
>       lgs_cb->csi_assigned = false;
> 
>       /* Assign Version. Currently, hardcoded, This will change later
> */
> @@ -782,6 +784,7 @@ static SaAisErrorT create_new_app_stream
>       log_stream_t *stream;
>       SaBoolT twelveHourModeFlag;
>       uint32_t len = 0;
> +     SaUint32T logMaxLogrecsize_conf = 0;
> 
>       TRACE_ENTER();
> 
> @@ -846,7 +849,7 @@ static SaAisErrorT create_new_app_stream
>       }
> 
>       /* Verify that the fixedLogRecordSize is in valid range */
> -     SaUint32T logMaxLogrecsize_conf = *(SaUint32T *)
> lgs_cfg_get(LGS_IMM_LOG_MAX_LOGRECSIZE);
> +     logMaxLogrecsize_conf = *(SaUint32T *)
> lgs_cfg_get(LGS_IMM_LOG_MAX_LOGRECSIZE);
>       if ((open_sync_param->maxLogRecordSize != 0) &&
>               ((open_sync_param->maxLogRecordSize <
> SA_LOG_MIN_RECORD_SIZE) ||
>               (open_sync_param->maxLogRecordSize >
> logMaxLogrecsize_conf))) {
> @@ -1151,6 +1154,7 @@ static uint32_t proc_write_log_async_msg
>       lgsv_ckpt_msg_v1_t ckpt_v1;
>       lgsv_ckpt_msg_v2_t ckpt_v2;
>       void *ckpt_ptr;
> +     uint32_t max_logrecsize = 0;
> 
>       TRACE_ENTER2("client_id %u, stream ID %u", param-
> >client_id, param->lstr_id);
> 
> @@ -1177,11 +1181,10 @@ static uint32_t proc_write_log_async_msg
>       ** To avoid truncation we support fixedLogRecordSize==0. We
> then allocate an
>       ** a buffer with an implementation defined size instead. We
> also do not pad in this mode.
>       */
> -     uint32_t max_logrecsize = *(uint32_t *) lgs_cfg_get(
> -             LGS_IMM_LOG_MAX_LOGRECSIZE);
> +     max_logrecsize = *(uint32_t *)
> lgs_cfg_get(LGS_IMM_LOG_MAX_LOGRECSIZE);
> 
>       buf_size = stream->fixedLogRecordSize == 0 ? max_logrecsize
> : stream->fixedLogRecordSize;
> -     logOutputString = calloc(1, buf_size+1); /* Make room for a '\0'
> termination */
> +     logOutputString = (char *) calloc(1, buf_size + 1); /* Make
> room for a '\0' termination */
>       if (logOutputString == NULL) {
>               LOG_ER("Could not allocate %d bytes", stream-
> >fixedLogRecordSize + 1);
>               error = SA_AIS_ERR_NO_MEMORY;
> diff --git a/osaf/services/saf/logsv/lgs/lgs_evt.h
> b/osaf/services/saf/logsv/lgs/lgs_evt.h
> --- a/osaf/services/saf/logsv/lgs/lgs_evt.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_evt.h
> @@ -24,6 +24,10 @@
> 
>  #include "lgs_cb.h"
> 
> +#ifdef       __cplusplus
> +extern "C" {
> +#endif
> +
>  typedef enum lgsv_lgs_evt_type {
>       LGSV_LGS_LGSV_MSG = 0,
>       LGSV_LGS_EVT_LGA_UP = 1,
> @@ -77,4 +81,9 @@ extern uint32_t lgs_remove_lga_down_rec(
>  extern void lgs_send_write_log_ack(uint32_t client_id, SaInvocationT
> invocation, SaAisErrorT error, MDS_DEST mds_dest);
>  extern void lgs_free_write_log(const lgsv_write_log_async_req_t *param);
> 
> +#ifdef       __cplusplus
> +}
> +#endif
> +
> +
>  #endif   /*!LGS_EVT_H */
> diff --git a/osaf/services/saf/logsv/lgs/lgs_file.c
> b/osaf/services/saf/logsv/lgs/lgs_file.cc
> rename from osaf/services/saf/logsv/lgs/lgs_file.c
> rename to osaf/services/saf/logsv/lgs/lgs_file.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_file.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_file.cc
> @@ -55,15 +55,7 @@ struct file_communicate {
>  /* Used for synchronizing and transfer of data ownership between main
> thread
>   * and file thread.
>   */
> -static struct file_communicate lgs_com_data = {
> -     .answer_f = false,
> -     .request_f = false,
> -     .timeout_f = false,
> -     .request_code = LGSF_NOREQ,
> -     .return_code = LGSF_NORETC,
> -     .indata_ptr = NULL,
> -     .outdata_ptr = NULL
> -};
> +static struct file_communicate lgs_com_data;
> 
>  static pthread_t file_thread_id;
> 
> @@ -73,6 +65,18 @@ static pthread_t file_thread_id;
> 
>  static int start_file_thread(void);
> 
> +static void file_communicate_init(void)
> +{
> +     lgs_com_data.answer_f = false;
> +     lgs_com_data.request_f = false;
> +     lgs_com_data.timeout_f = false;
> +     lgs_com_data.request_code = LGSF_NOREQ;
> +     lgs_com_data.return_code = LGSF_NORETC;
> +     lgs_com_data.indata_ptr = NULL;
> +     lgs_com_data.outdata_ptr = NULL;
> +     lgs_com_data.outdata_size = 0;
> +}
> +
>  /**
>   * Creates absolute time to use with pthread_cond_timedwait.
>   *
> @@ -216,6 +220,9 @@ static int start_file_thread(void)
> 
>       TRACE_ENTER();
> 
> +     // Initialize the global data
> +     file_communicate_init();
> +
>       /* Init thread handling */
>       rc = pthread_mutex_init(&lgs_ftcom_mutex, NULL);
>       if (rc != 0) {
> @@ -346,12 +353,12 @@ lgsf_retcode_t log_file_api(lgsf_apipar_
>       int rc = 0;
>       struct timespec timeout_time;
>       int fd = 0;
> -
>       /* If this flag is true always return LGSF_BUSY */
>       bool busy_close_flag = false;
> -
> +     uint32_t max_waittime_ms = 0;
> +
>       osaf_mutex_lock_ordie(&lgs_ftcom_mutex); /* LOCK */
> -
> +
>       /* If busy_f is true the file thread is hanging. In this case don't
> send
>        * a request.
>        */
> @@ -420,7 +427,7 @@ lgsf_retcode_t log_file_api(lgsf_apipar_
>       if (rc != 0) osaf_abort(rc);
> 
>       /* Wait for an answer */
> -     uint32_t max_waittime_ms = *(SaUint32T *)
> lgs_cfg_get(LGS_IMM_FILEHDL_TIMEOUT);
> +     max_waittime_ms = *(SaUint32T *)
> lgs_cfg_get(LGS_IMM_FILEHDL_TIMEOUT);
>       get_timeout_time(&timeout_time, max_waittime_ms);
> 
>       while (lgs_com_data.answer_f == false) {
> @@ -469,19 +476,19 @@ api_exit:
>  char *lgsf_retcode_str(lgsf_retcode_t rc)
>  {
>       static char errstr[256];
> -
> +
>       switch (rc) {
>       case LGSF_SUCESS:
> -             return "LGSF_SUCESS";
> +             return const_cast<char *> ("LGSF_SUCESS");
>       case LGSF_BUSY:
> -             return "LGSF_BUSY";
> +             return const_cast<char *> ("LGSF_BUSY");
>       case LGSF_TIMEOUT:
> -             return "LGSF_TIMEOUT";
> +             return const_cast<char *> ("LGSF_TIMEOUT");
>       case LGSF_FAIL:
> -             return "LGSF_FAIL";
> +             return const_cast<char *> ("LGSF_FAIL");
>       default:
>               sprintf(errstr,"Unknown lgsf_retcode %d",rc);
>               return errstr;
>       }
> -     return "dummy";
> +     return const_cast<char *> ("dummy");
>  }
> diff --git a/osaf/services/saf/logsv/lgs/lgs_filehdl.c
> b/osaf/services/saf/logsv/lgs/lgs_filehdl.cc
> rename from osaf/services/saf/logsv/lgs/lgs_filehdl.c
> rename to osaf/services/saf/logsv/lgs/lgs_filehdl.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_filehdl.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_filehdl.cc
> @@ -163,8 +163,8 @@ int create_config_file_hdl(void *indata,
>  {
>       int rc = 0;
>       FILE *filp;
> -     ccfh_t *params_in = (ccfh_t *) indata;
> -     char *logFileFormat = (char *) (indata + sizeof(ccfh_t));
> +     ccfh_t *params_in = static_cast<ccfh_t *>(indata);
> +     char *logFileFormat = static_cast<char *>(indata) +
> sizeof(ccfh_t);
>       char *file_path = (logFileFormat + params_in-
> >logFileFormat_size);
> 
>       TRACE_ENTER();
> @@ -244,7 +244,8 @@ done:
>   */
>  int write_log_record_hdl(void *indata, void *outdata, size_t max_outsize,
> bool *timeout_f)
>  {
> -     int rc, bytes_written = 0;
> +     int rc = 0;
> +     uint32_t bytes_written = 0;
>       off_t file_length = 0;
>       wlrh_t *params_in = (wlrh_t *) indata;
>       /* Get log record pointed by lgs_rec pointer */
> @@ -356,7 +357,9 @@ int make_log_dir_hdl(void *indata, void
>       char *epath_p;
>       struct stat statbuf;
>       int n;
> -
> +     int path_len = 0;
> +     char *rootpp = NULL;
> +
>       TRACE_ENTER();
> 
>       TRACE("rootpath \"%s\"",rootpath);
> @@ -375,7 +378,7 @@ int make_log_dir_hdl(void *indata, void
>               rootpath = PKGLOGDIR;
>  #endif
>               n = snprintf(out_path, max_outsize, "%s",
> rootpath);
> -             if (n >= max_outsize) {
> +             if ((uint32_t) n >=  max_outsize) {
>                       LOG_WA("Invalid root path >
> max_outsize");
>                       mldh_rc = -1;
>                       goto done;
> @@ -395,7 +398,8 @@ int make_log_dir_hdl(void *indata, void
>               mldh_rc = -1;
>               goto done;
>       }
> -     char *rootpp = mpath;
> +
> +     rootpp = mpath;
>       while (*rootpp == '/') rootpp++; /* Remove preceding '/' */
>       while (mpath[strlen(mpath)-1] == '/') { /* Remove trailing '/' if
> needed */
>               mpath[strlen(mpath)-1] = '\0';
> @@ -419,7 +423,6 @@ int make_log_dir_hdl(void *indata, void
>       TRACE("%s - Path to create
> \"%s\"",__FUNCTION__,dir_to_make);
> 
>       /* Create the path */
> -     int path_len = 0;
>       spath_p = epath_p = dir_to_make;
>       while ((epath_p = strchr(epath_p, '/')) != NULL) {
>               if (epath_p == spath_p) {
> @@ -692,7 +695,7 @@ int get_number_of_log_files_hdl(void *in
>               TRACE_1("oldest: %s", namelist[old_ind]-
> >d_name);
>               n = snprintf(oldest_file, max_outsize, "%s/%s",
>                               path,
> namelist[old_ind]->d_name);
> -             if (n >= max_outsize) {
> +             if ((uint32_t) n >= max_outsize) {
>                       LOG_WA("oldest_file >
> max_outsize");
>                       rc = -1;
>                       goto done_free;
> @@ -729,6 +732,7 @@ int own_log_files_by_group_hdl(void *ind
>       int n, files, i;
>       olfbgh_t *params_in;
>       int rc = 0;
> +     gid_t gid = 0;
> 
>       TRACE_ENTER();
> 
> @@ -762,7 +766,7 @@ int own_log_files_by_group_hdl(void *ind
>               goto done_exit;
>       }
> 
> -     gid_t gid = lgs_get_data_gid(params_in->groupname);
> +     gid = lgs_get_data_gid(params_in->groupname);
> 
>       while (n--) {
>               char file[PATH_MAX];
> diff --git a/osaf/services/saf/logsv/lgs/lgs_fmt.c
> b/osaf/services/saf/logsv/lgs/lgs_fmt.cc
> rename from osaf/services/saf/logsv/lgs/lgs_fmt.c
> rename to osaf/services/saf/logsv/lgs/lgs_fmt.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_fmt.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_fmt.cc
> @@ -531,11 +531,13 @@ static int extractCommonField(char *dest
>                             const struct tm
> *timeStampData, const SaLogRecordT *logRecord, SaUint16T rec_size)
>  {
>       SaInt32T fieldSize;
> -     size_t stringSize;
> +     size_t stringSize, i;
>       SaUint16T fieldSizeOffset = 0;
>       int characters = 0;
>       char *hex_string = NULL, *hex_string_ptr = NULL;
> -        int no_ch = 0, i;
> +    int no_ch = 0;
> +     SaTimeT us = 0;
> +     long gmtOffset = 0, uGmtOffset = 0;
> 
>       *fmtExpPtrOffset = DEFAULT_FMT_EXP_PTR_OFFSET;
> 
> @@ -697,17 +699,17 @@ static int extractCommonField(char *dest
>       case C_TIME_MILLISECOND_LETTER:
>               stringSize = 4 * sizeof(char);
>               /* Extract millisecond from logTimestamp */
> -             SaTimeT us = logRecord->logTimeStamp /
> SA_TIME_ONE_MICROSECOND;
> +             us = logRecord->logTimeStamp /
> SA_TIME_ONE_MICROSECOND;
>               characters = snprintf(dest, dest_size, "%03lld",
> us % SA_TIME_ONE_MICROSECOND);
>               break;
> 
>       case C_TIME_TIMEZONE_LETTER:
>               stringSize = 6 * sizeof(char);
>               /* Get timezone offset from localtime to UTC
> time */
> -             long gmtOffset = (timeStampData->tm_gmtoff /
> SECOND_PER_HOUR) * 100 +
> +             gmtOffset = (timeStampData->tm_gmtoff /
> SECOND_PER_HOUR) * 100 +
>                       (timeStampData->tm_gmtoff %
> SECOND_PER_HOUR) / SECOND_PER_MINUTE;
> 
> -             long uGmtOffset = (gmtOffset >= 0) ?
> (gmtOffset) : (gmtOffset * -1);
> +             uGmtOffset = (gmtOffset >= 0) ? (gmtOffset) :
> (gmtOffset * -1);
>               characters = snprintf(dest, dest_size,
> "%c%04ld", gmtOffset >= 0 ? '+' : '-', uGmtOffset);
>               break;
> 
> @@ -794,7 +796,7 @@ static int extractCommonField(char *dest
>       if (characters == -1)
>               characters = 0;
> 
> -     if (characters > dest_size)
> +     if (characters > (int) dest_size)
>               characters = dest_size;
> 
>       return characters;
> @@ -820,6 +822,7 @@ static int extractNotificationField(char
>       SaInt32T fieldSize;
>       SaInt32T characters = 0;
>       SaUint16T fieldSizeOffset = 0;
> +     long gmtOffset = 0, uGmtOffset = 0;
> 
>       *fmtExpPtrOffset = DEFAULT_FMT_EXP_PTR_OFFSET;
> 
> @@ -981,11 +984,10 @@ static int extractNotificationField(char
> 
>       case N_EVENT_TIME_TIMEZONE_LETTER:
>               /* Get time offset from localtime to UTC */
> -             characters = 6; /* to avoid using {}
> */
> -             long gmtOffset = (eventTimeData->tm_gmtoff /
> SECOND_PER_HOUR) * 100 +
> +             gmtOffset = (eventTimeData->tm_gmtoff /
> SECOND_PER_HOUR) * 100 +
>                       (eventTimeData->tm_gmtoff %
> SECOND_PER_HOUR) / SECOND_PER_MINUTE;
> 
> -             long uGmtOffset = (gmtOffset >= 0) ?
> (gmtOffset) : (gmtOffset * -1);
> +             uGmtOffset = (gmtOffset >= 0) ? (gmtOffset) :
> (gmtOffset * -1);
>               characters = snprintf(dest, dest_size,
> "%c%04ld", gmtOffset >= 0 ? '+' : '-', uGmtOffset);
>               break;
> 
> @@ -1049,7 +1051,7 @@ static int extractNotificationField(char
>       if (characters == -1)
>               characters = 0;
> 
> -     if (characters > dest_size)
> +     if (characters > (int) dest_size)
>               characters = dest_size;
> 
>       return characters;
> @@ -1134,7 +1136,7 @@ static int extractSystemField(char *dest
>       if (characters == -1)
>               characters = 0;
> 
> -     if (characters > dest_size)
> +     if (characters > (int) dest_size)
>               characters = dest_size;
> 
>       return characters;
> @@ -1240,7 +1242,7 @@ int lgs_format_log_record(SaLogRecordT *
>       struct tm *timeStampData;
>       SaBoolT _twelveHourModeFlag = SA_FALSE;
>       const SaBoolT *twelveHourModeFlag =
> &_twelveHourModeFlag;
> -     int i = 0;
> +     size_t i = 0;
>       SaUint16T rec_size = dest_size;
> 
>       if (formatExpression == NULL) {
> diff --git a/osaf/services/saf/logsv/lgs/lgs_fmt.h
> b/osaf/services/saf/logsv/lgs/lgs_fmt.h
> --- a/osaf/services/saf/logsv/lgs/lgs_fmt.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_fmt.h
> @@ -21,6 +21,10 @@
>  #include <saAis.h>
>  #include <saLog.h>
> 
> +#ifdef       __cplusplus
> +extern "C" {
> +#endif
> +
>  #define TOKEN_START_SYMBOL '@'
>  #define STRING_END_CHARACTER '\0'
>  #define TERMINATION_CHARACTER '\n'
> @@ -175,4 +179,8 @@ extern SaBoolT lgs_is_valid_format_expre
>  extern int lgs_format_log_record(SaLogRecordT *, const SaStringT,
> SaUint64T logFileSize, SaUint16T fixedLogRecordSize,
>       size_t dest_size, char *dest, SaUint32T);
> 
> +#ifdef __cplusplus
> +}
>  #endif
> +
> +#endif
> diff --git a/osaf/services/saf/logsv/lgs/lgs_imm.c
> b/osaf/services/saf/logsv/lgs/lgs_imm.cc
> rename from osaf/services/saf/logsv/lgs/lgs_imm.c
> rename to osaf/services/saf/logsv/lgs/lgs_imm.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_imm.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_imm.cc
> @@ -26,7 +26,9 @@
>   * Examples can be found in file lgs_stream.c, e.g. function fileopen(...)
>   */
> 
> +#ifndef _GNU_SOURCE
>  #define _GNU_SOURCE
> +#endif
>  #include <poll.h>
>  #include <stdio.h>
>  #include <errno.h>
> @@ -40,7 +42,6 @@
>  #include <saImmOm.h>
>  #include <saImmOi.h>
> 
> -#include "osaf_secutil.h"
>  #include "immutil.h"
>  #include "osaf_time.h"
>  #include "lgs.h"
> @@ -72,7 +73,7 @@ const unsigned int max_waiting_time_60s
>  const unsigned int max_waiting_time_10s = 10 * 1000; /* 10 secs */
> 
>  /* Must be able to index this array using streamType */
> -static char *log_file_format[] = {
> +static const char *log_file_format[] = {
>       DEFAULT_ALM_NOT_FORMAT_EXP,
>       DEFAULT_ALM_NOT_FORMAT_EXP,
>       DEFAULT_APP_SYS_FORMAT_EXP,
> @@ -82,6 +83,8 @@ static char *log_file_format[] = {
>  static SaVersionT immVersion = { 'A', 2, 11 };
> 
>  static const SaImmOiImplementerNameT implementerName =
> (SaImmOiImplementerNameT)"safLogService";
> +static const SaImmClassNameT safLogConfig_str = (SaImmClassNameT)
> "OpenSafLogConfig";
> +static const SaImmClassNameT streamConfig_str = (SaImmClassNameT)
> "SaLogStreamConfig";
> 
>  extern struct ImmutilWrapperProfile immutilWrapperProfile;
> 
> @@ -122,18 +125,23 @@ static void report_om_error(SaImmOiHandl
>  {
>       char ao_err_string[256];
>       SaStringT p_ao_err_string = ao_err_string;
> +     char admop_err[256];
> +     strcpy(admop_err, (const char *)
> SA_IMM_PARAM_ADMOP_ERROR);
>       SaImmAdminOperationParamsT_2 ao_err_param = {
> -     SA_IMM_PARAM_ADMOP_ERROR,
> -     SA_IMM_ATTR_SASTRINGT,
> -     &p_ao_err_string };
> +             admop_err,
> +             SA_IMM_ATTR_SASTRINGT,
> +             &p_ao_err_string
> +     };
>       const SaImmAdminOperationParamsT_2 *ao_err_params[2] =
> {
> -     &ao_err_param,
> -     NULL };
> -
> +             &ao_err_param,
> +             NULL
> +     };
> +
>       va_list ap;
>       va_start(ap, format);
>       (void) vsnprintf(ao_err_string, 256, format, ap);
>       va_end(ap);
> +
>       TRACE("%s",ao_err_string);
>       (void) saImmOiAdminOperationResult_o2(immOiHandle,
> invocation,
>                  SA_AIS_ERR_INVALID_PARAM,
> @@ -439,7 +447,7 @@ static void adminOperationCallback(SaImm
>               stream->severityFilter = severityFilter;
> 
>               (void)immutil_update_one_rattr(immOiHandle,
> (char *)objectName->value,
> -
> "saLogStreamSeverityFilter", SA_IMM_ATTR_SAUINT32T,
> +                        (SaImmAttrNameT)
> "saLogStreamSeverityFilter", SA_IMM_ATTR_SAUINT32T,
> 
> &stream->severityFilter);
> 
> 
>       (void)immutil_saImmOiAdminOperationResult(immOiHandle,
> invocation, SA_AIS_OK);
> @@ -929,8 +937,9 @@ static lgs_stream_defval_t *get_SaLogStr
> 
>       TRACE("immutil_saImmOmInitialize fail rc=%d", rc);
>               }
>               if (rc == SA_AIS_OK) {
> -                     rc =
> immutil_saImmOmClassDescriptionGet_2(om_handle, "SaLogStreamConfig",
> -                                     &cc,
> &attributes);
> +                     rc =
> immutil_saImmOmClassDescriptionGet_2(om_handle,
> +
> (SaImmClassNameT) "SaLogStreamConfig",
> +                               &cc, &attributes);
>               }
> 
>               if (rc == SA_AIS_OK) {
> @@ -1992,7 +2001,7 @@ static void config_ccb_apply_modify(cons
>                       root_dir_chg_flag = true;
>               } else if (!strcmp(attribute->attrName,
> LOG_DATA_GROUPNAME)) {
>                       if (value == NULL) {
> -                             value_str = "";
> +                             value_str =
> const_cast<char *> ("");
>                       } else {
>                               value_str = *((char
> **)value);
>                       }
> @@ -2002,7 +2011,7 @@ static void config_ccb_apply_modify(cons
>               } else if (!strcmp(attribute->attrName,
> LOG_STREAM_FILE_FORMAT)) {
>                       if (value == NULL) {
>                               /* Use built-in file
> format as default */
> -                             value_str =
> DEFAULT_APP_SYS_FORMAT_EXP;
> +                             value_str =
> const_cast<char *> (DEFAULT_APP_SYS_FORMAT_EXP);
>                       } else {
>                               value_str = *((char
> **)value);
>                       }
> @@ -2168,7 +2177,7 @@ static SaAisErrorT stream_create_and_con
>                               (*stream)-
> >fixedLogRecordSize = *((SaUint32T *) value);
> 
>       TRACE("fixedLogRecordSize: %u", (*stream)-
> >fixedLogRecordSize);
>                       } else if (!strcmp(ccb-
> >param.create.attrValues[i]->attrName, "saLogStreamLogFullAction")) {
> -                             (*stream)-
> >logFullAction = *((SaUint32T *) value);
> +                             (*stream)-
> >logFullAction = *((SaLogFileFullActionT *) value);
> 
>       TRACE("logFullAction: %u", (*stream)->logFullAction);
>                       } else if (!strcmp(ccb-
> >param.create.attrValues[i]->attrName,
> "saLogStreamLogFullHaltThreshold")) {
>                               (*stream)-
> >logFullHaltThreshold = *((SaUint32T *) value);
> @@ -2201,7 +2210,7 @@ static SaAisErrorT stream_create_and_con
> 
>       /* Update creation timestamp */
>       (void) immutil_update_one_rattr(lgs_cb->immOiHandle,
> (const char*) objectName.value,
> -
>       "saLogStreamCreationTimestamp", SA_IMM_ATTR_SATIMET,
> +                     (SaImmAttrNameT)
> "saLogStreamCreationTimestamp", SA_IMM_ATTR_SATIMET,
>                       &(*stream)-
> >creationTimeStamp);
> 
>       done:
> @@ -2270,7 +2279,7 @@ static void stream_ccb_apply_modify(cons
>                       stream->fixedLogRecordSize =
> fixedLogRecordSize;
>                       new_cfg_file_needed = true;
>               } else if (!strcmp(attribute->attrName,
> "saLogStreamLogFullAction")) {
> -                     SaLogFileFullActionT logFullAction
> = *((SaUint32T *)value);
> +                     SaLogFileFullActionT logFullAction
> = *((SaLogFileFullActionT *)value);
>                       stream->logFullAction =
> logFullAction;
>                       new_cfg_file_needed = true;
>               } else if (!strcmp(attribute->attrName,
> "saLogStreamLogFullHaltThreshold")) {
> @@ -2299,7 +2308,7 @@ static void stream_ccb_apply_modify(cons
> 
>       osaf_clock_gettime(CLOCK_REALTIME, &curtime_tspec);
>       time_t cur_time = curtime_tspec.tv_sec;
> -     const char *root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     const char *root_path = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
>       if (new_cfg_file_needed) {
>               int rc;
>               if ((rc =
> log_stream_config_change(LGS_STREAM_CREATE_FILES,
> @@ -2531,16 +2540,16 @@ static SaAisErrorT stream_create_and_con
>       int i = 0;
>       log_stream_t *stream;
>       char *attribute_names[] = {
> -             "saLogStreamFileName",
> -             "saLogStreamPathName",
> -             "saLogStreamMaxLogFileSize",
> -             "saLogStreamFixedLogRecordSize",
> -             "saLogStreamLogFullAction",
> -             "saLogStreamLogFullHaltThreshold",
> -             "saLogStreamMaxFilesRotated",
> -             "saLogStreamLogFileFormat",
> -             "saLogStreamSeverityFilter",
> -             "saLogStreamCreationTimestamp",
> +             const_cast<char *> ("saLogStreamFileName"),
> +             const_cast<char *> ("saLogStreamPathName"),
> +             const_cast<char *>
> ("saLogStreamMaxLogFileSize"),
> +             const_cast<char *>
> ("saLogStreamFixedLogRecordSize"),
> +             const_cast<char *>
> ("saLogStreamLogFullAction"),
> +             const_cast<char *>
> ("saLogStreamLogFullHaltThreshold"),
> +             const_cast<char *>
> ("saLogStreamMaxFilesRotated"),
> +             const_cast<char *>
> ("saLogStreamLogFileFormat"),
> +             const_cast<char *>
> ("saLogStreamSeverityFilter"),
> +             const_cast<char *>
> ("saLogStreamCreationTimestamp"),
>               NULL
>       };
> 
> @@ -2594,7 +2603,7 @@ static SaAisErrorT stream_create_and_con
>                       stream->fixedLogRecordSize =
> *((SaUint32T *)value);
>                       TRACE("fixedLogRecordSize: %u",
> stream->fixedLogRecordSize);
>               } else if (!strcmp(attribute->attrName,
> "saLogStreamLogFullAction")) {
> -                     stream->logFullAction =
> *((SaUint32T *)value);
> +                     stream->logFullAction =
> *((SaLogFileFullActionT *)value);
>                       TRACE("logFullAction: %u",
> stream->logFullAction);
>               } else if (!strcmp(attribute->attrName,
> "saLogStreamLogFullHaltThreshold")) {
>                       stream->logFullHaltThreshold =
> *((SaUint32T *)value);
> @@ -2667,10 +2676,10 @@ SaAisErrorT lgs_imm_create_configStream(
>       int streamId = 0;
>       int errorsAreFatal;
>       SaNameT objectName;
> -     SaNameT root_name = {
> -             .value = "safApp=safLogService",
> -             .length = sizeof("safApp=safLogService")
> -     };
> +     SaNameT root_name;
> +
> +     strcpy((char *) root_name.value, "safApp=safLogService");
> +     root_name.length = sizeof("safApp=safLogService");
> 
> 
>       TRACE_ENTER();
> @@ -2679,7 +2688,7 @@ SaAisErrorT lgs_imm_create_configStream(
>       (void)immutil_saImmOmAccessorInitialize(omHandle,
> &accessorHandle);
> 
>       /* Search for all objects of class "SaLogStreamConfig" */
> -     objectSearch.searchOneAttr.attrName = "safLgStrCfg";
> +     objectSearch.searchOneAttr.attrName = (SaImmAttrNameT)
> "safLgStrCfg";
>       objectSearch.searchOneAttr.attrValueType =
> SA_IMM_ATTR_SASTRINGT;
>       objectSearch.searchOneAttr.attrValue = NULL;
> 
> @@ -2714,8 +2723,8 @@ SaAisErrorT lgs_imm_create_configStream(
>       stream = log_stream_getnext_by_name(NULL);
>       while (stream != NULL) {
>               (void)immutil_update_one_rattr(cb-
> >immOiHandle, stream->name,
> -
> "saLogStreamCreationTimestamp", SA_IMM_ATTR_SATIMET,
> -
> &stream->creationTimeStamp);
> +
> (SaImmAttrNameT) "saLogStreamCreationTimestamp",
> SA_IMM_ATTR_SATIMET,
> +                            &stream-
> >creationTimeStamp);
> 
>               log_stream_open_fileinit(stream);
>               stream =
> log_stream_getnext_by_name(stream->name);
> @@ -2754,12 +2763,11 @@ void lgs_imm_init_OI_handle(SaImmOiHandl
>       SaSelectionObjectT *immSelectionObject)
>  {
>       SaAisErrorT rc;
> -     int msecs_waited;
> +     uint32_t msecs_waited = 0;
> 
>       TRACE_ENTER();
> 
>       /* Initialize IMM OI service */
> -     msecs_waited = 0;
>       rc = saImmOiInitialize_2(immOiHandle, &callbacks,
> &immVersion);
>       while ((rc == SA_AIS_ERR_TRY_AGAIN) && (msecs_waited <
> max_waiting_time_60s)) {
>               usleep(sleep_delay_ms * 1000);
> @@ -2794,13 +2802,12 @@ void lgs_imm_init_OI_handle(SaImmOiHandl
>  static SaAisErrorT imm_impl_set_sequence(SaImmOiHandleT immOiHandle)
>  {
>       SaAisErrorT rc = SA_AIS_OK;
> -     int msecs_waited;
> +     uint32_t msecs_waited = 0;
> 
>       TRACE_ENTER();
> 
>       /* Become object implementer
>        */
> -     msecs_waited = 0;
>       rc = saImmOiImplementerSet(immOiHandle,
> implementerName);
>       while (((rc == SA_AIS_ERR_TRY_AGAIN) || (rc ==
> SA_AIS_ERR_EXIST)) &&
>                       (msecs_waited <
> max_waiting_time_60s)) {
> @@ -2817,14 +2824,13 @@ static SaAisErrorT imm_impl_set_sequence
>        * Become class implementer for the OpenSafLogConfig class if
> it exists
>        */
>       if ( true == *(bool*)
> lgs_cfg_get(LGS_IMM_LOG_OPENSAFLOGCONFIG_CLASS_EXIST)) {
> -
>       (void)immutil_saImmOiClassImplementerSet(immOiHandle,
> "OpenSafLogConfig");
>               msecs_waited = 0;
> -             rc =
> saImmOiClassImplementerSet(immOiHandle, "OpenSafLogConfig");
> +             rc =
> saImmOiClassImplementerSet(immOiHandle, safLogConfig_str);
>               while (((rc == SA_AIS_ERR_TRY_AGAIN) || (rc
> == SA_AIS_ERR_EXIST))
>                               && (msecs_waited
> < max_waiting_time_60s)) {
>                       usleep(sleep_delay_ms * 1000);
>                       msecs_waited +=
> sleep_delay_ms;
> -                     rc =
> saImmOiClassImplementerSet(immOiHandle, "OpenSafLogConfig");
> +                     rc =
> saImmOiClassImplementerSet(immOiHandle, safLogConfig_str);
>               }
>               if (rc != SA_AIS_OK) {
> 
>       TRACE("saImmOiClassImplementerSet OpenSafLogConfig
> failed %s", saf_error(rc));
> @@ -2832,21 +2838,19 @@ static SaAisErrorT imm_impl_set_sequence
>               }
>       }
> 
> -     if (*(bool*)
> lgs_cfg_get(LGS_IMM_LOG_OPENSAFLOGCONFIG_CLASS_EXIST)) {
> -             msecs_waited = 0;
> -             rc =
> saImmOiClassImplementerSet(immOiHandle, "SaLogStreamConfig");
> -             while (((rc == SA_AIS_ERR_TRY_AGAIN) || (rc
> == SA_AIS_ERR_EXIST))
> -                             && (msecs_waited
> < max_waiting_time_60s)) {
> -                     usleep(sleep_delay_ms * 1000);
> -                     msecs_waited +=
> sleep_delay_ms;
> -                     rc =
> saImmOiClassImplementerSet(immOiHandle, "SaLogStreamConfig");
> -             }
> -             if (rc != SA_AIS_OK) {
> -
>       TRACE("saImmOiClassImplementerSet SaLogStreamConfig
> failed %u", rc);
> -                     goto done;
> -             }
> +     msecs_waited = 0;
> +     rc = saImmOiClassImplementerSet(immOiHandle,
> streamConfig_str);
> +     while (((rc == SA_AIS_ERR_TRY_AGAIN) || (rc ==
> SA_AIS_ERR_EXIST))
> +                     && (msecs_waited <
> max_waiting_time_60s)) {
> +             usleep(sleep_delay_ms * 1000);
> +             msecs_waited += sleep_delay_ms;
> +             rc =
> saImmOiClassImplementerSet(immOiHandle, streamConfig_str);
>       }
> -
> +     if (rc != SA_AIS_OK) {
> +             TRACE("saImmOiClassImplementerSet
> SaLogStreamConfig failed %u", rc);
> +             goto done;
> +     }
> +
>  done:
>       return rc;
>       TRACE_LEAVE();
> @@ -2907,7 +2911,7 @@ static void *imm_impl_init_thread(void *
>        * This will reinstall IMM poll event handling
>        */
>       lgsv_lgs_evt_t *lgsv_evt;
> -     lgsv_evt = calloc(1, sizeof(lgsv_lgs_evt_t));
> +     lgsv_evt = (lgsv_lgs_evt_t *) calloc(1, sizeof(lgsv_lgs_evt_t));
>       osafassert(lgsv_evt);
>       lgsv_evt->evt_type = LGSV_EVT_NO_OP;
>       if (m_NCS_IPC_SEND(&lgs_mbx, lgsv_evt,
> LGS_IPC_PRIO_CTRL_MSGS) !=
> diff --git a/osaf/services/saf/logsv/lgs/lgs_main.c
> b/osaf/services/saf/logsv/lgs/lgs_main.cc
> rename from osaf/services/saf/logsv/lgs/lgs_main.c
> rename to osaf/services/saf/logsv/lgs/lgs_main.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_main.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_main.cc
> @@ -20,8 +20,9 @@
>   *   INCLUDE FILES
>   *
> ==========================================================
> ==============
>   */
> -
> +#ifndef _GNU_SOURCE
>  #define _GNU_SOURCE
> +#endif
>  #include <string.h>
>  #include <stdio.h>
>  #include <stdlib.h>
> @@ -110,7 +111,7 @@ static void rda_cb(uint32_t cb_hdl, PCS_
> 
>       TRACE_ENTER();
> 
> -     evt = calloc(1, sizeof(lgsv_lgs_evt_t));
> +     evt = (lgsv_lgs_evt_t *) calloc(1, sizeof(lgsv_lgs_evt_t));
>       if (NULL == evt) {
>               LOG_ER("calloc failed");
>               goto done;
> @@ -209,6 +210,8 @@ static uint32_t log_initialize(void)
>       uint32_t rc = NCSCC_RC_FAILURE;
> 
>       TRACE_ENTER();
> +     char *logsv_root_dir = NULL;
> +     char *logsv_data_groupname = NULL;
> 
>       /* Determine how this process was started, by NID or AMF */
>       if (getenv("SA_AMF_COMPONENT_NAME") == NULL)
> @@ -239,8 +242,8 @@ static uint32_t log_initialize(void)
>       lgs_trace_config(); /* Show all configuration in TRACE */
> 
>       /* Show some configurtion info in sysylog */
> -     char *logsv_root_dir = (char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> -     char *logsv_data_groupname = (char *)
> lgs_cfg_get(LGS_IMM_DATA_GROUPNAME);
> +     logsv_root_dir = (char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     logsv_data_groupname = (char *)
> lgs_cfg_get(LGS_IMM_DATA_GROUPNAME);
>       LOG_NO("LOG root directory is: \"%s\"", logsv_root_dir);
>       LOG_NO("LOG data group is: \"%s\"",
> logsv_data_groupname);
> 
> @@ -342,7 +345,7 @@ static uint32_t log_initialize(void)
> 
>  done:
>       if (lgs_cb->nid_started &&
> -         nid_notify("LOGD", rc, NULL) != NCSCC_RC_SUCCESS) {
> +         nid_notify(const_cast<char *>("LOGD"), rc, NULL) !=
> NCSCC_RC_SUCCESS) {
>               LOG_ER("nid_notify failed");
>               rc = NCSCC_RC_FAILURE;
>       }
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv.c
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mbcsv.c
> rename to osaf/services/saf/logsv/lgs/lgs_mbcsv.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv.cc
> @@ -157,7 +157,7 @@ uint32_t edp_ed_open_stream_rec(EDU_HDL
>               memset(*ckpt_open_stream_msg_dec_ptr,
> '\0', sizeof(lgs_ckpt_stream_open_t));
>               ckpt_open_stream_msg_ptr =
> *ckpt_open_stream_msg_dec_ptr;
>       } else {
> -             ckpt_open_stream_msg_ptr = ptr;
> +             ckpt_open_stream_msg_ptr =
> (lgs_ckpt_stream_open_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_open_stream_rec_ed_rules, ckpt_open_stream_msg_ptr,
> @@ -621,13 +621,13 @@ static uint32_t edu_enc_streams(lgs_cb_t
>  {
>       log_stream_t *log_stream_rec = NULL;
>       lgs_ckpt_stream_open_t *ckpt_stream_rec;
> -     EDU_ERR ederror = 0;
> +     EDU_ERR ederror;
>       uint32_t rc = NCSCC_RC_SUCCESS, num_rec = 0;
>       uint8_t *pheader = NULL;
>       lgsv_ckpt_header_t ckpt_hdr;
> 
>       /* Prepare reg. structure to encode */
> -     ckpt_stream_rec = malloc(sizeof(lgs_ckpt_stream_open_t));
> +     ckpt_stream_rec = (lgs_ckpt_stream_open_t *)
> malloc(sizeof(lgs_ckpt_stream_open_t));
>       if (ckpt_stream_rec == NULL) {
>               LOG_WA("malloc FAILED");
>               return (NCSCC_RC_FAILURE);
> @@ -691,14 +691,14 @@ static uint32_t edu_enc_reg_list(lgs_cb_
>  {
>       log_client_t *client = NULL;
>       lgs_ckpt_initialize_msg_t *ckpt_reg_rec;
> -     EDU_ERR ederror = 0;
> +     EDU_ERR ederror;
>       uint32_t rc = NCSCC_RC_SUCCESS, num_rec = 0;
>       uint8_t *pheader = NULL;
>       lgsv_ckpt_header_t ckpt_hdr;
> 
>       TRACE_ENTER();
>       /* Prepare reg. structure to encode */
> -     ckpt_reg_rec = malloc(sizeof(lgs_ckpt_initialize_msg_t));
> +     ckpt_reg_rec = (lgs_ckpt_initialize_msg_t *)
> malloc(sizeof(lgs_ckpt_initialize_msg_t));
>       if (ckpt_reg_rec == NULL) {
>               LOG_WA("malloc FAILED");
>               return (NCSCC_RC_FAILURE);
> @@ -771,7 +771,7 @@ static uint32_t ckpt_encode_async_update
>       lgsv_ckpt_msg_v2_t *data_v2 = NULL;
>       lgsv_ckpt_msg_v1_t *data_v1 = NULL;
>       void * vdata = NULL;
> -     EDU_ERR ederror = 0;
> +     EDU_ERR ederror;
>       uint32_t rc = NCSCC_RC_SUCCESS;
>       EDU_PROG_HANDLER edp_function;
> 
> @@ -953,11 +953,11 @@ static uint32_t ckpt_decode_log_write(lg
>       const int max_waiting_time_ms = 100;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 = ckpt_msg;
> +             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_msg;
>               write_log = &ckpt_msg_v2->ckpt_rec.write_log;
>               edp_function = edp_ed_write_rec_v2;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 = ckpt_msg;
> +             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_msg;
>               write_log = &ckpt_msg_v1->ckpt_rec.write_log;
>               edp_function = edp_ed_write_rec_v1;
>       }
> @@ -995,11 +995,11 @@ static uint32_t ckpt_decode_log_close(lg
>       EDU_PROG_HANDLER edp_function;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 = ckpt_msg;
> +             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_msg;
>               stream_close = &ckpt_msg_v2-
> >ckpt_rec.stream_close;
>               edp_function = edp_ed_close_stream_rec_v2;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 = ckpt_msg;
> +             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_msg;
>               stream_close = &ckpt_msg_v1-
> >ckpt_rec.stream_close;
>               edp_function = edp_ed_close_stream_rec_v1;
>       }
> @@ -1019,11 +1019,11 @@ static uint32_t ckpt_decode_log_client_f
>       EDU_PROG_HANDLER edp_function;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 = ckpt_msg;
> +             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_msg;
>               finalize_client = &ckpt_msg_v2-
> >ckpt_rec.finalize_client;
>               edp_function = edp_ed_finalize_rec_v2;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 = ckpt_msg;
> +             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_msg;
>               finalize_client = &ckpt_msg_v1-
> >ckpt_rec.finalize_client;
>               edp_function = edp_ed_finalize_rec_v1;
>       }
> @@ -1043,11 +1043,11 @@ static uint32_t ckpt_decode_log_client_d
>       EDU_PROG_HANDLER edp_function;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 = ckpt_msg;
> +             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_msg;
>               client_down = &ckpt_msg_v2-
> >ckpt_rec.agent_down;
>               edp_function = edp_ed_agent_down_rec_v2;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 = ckpt_msg;
> +             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_msg;
>               client_down = &ckpt_msg_v1-
> >ckpt_rec.agent_dest;
>               edp_function = ncs_edp_mds_dest;
>       }
> @@ -1067,11 +1067,11 @@ static uint32_t ckpt_decode_log_cfg_stre
>       EDU_PROG_HANDLER edp_function;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 = ckpt_msg;
> +             lgsv_ckpt_msg_v2_t *ckpt_msg_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_msg;
>               stream_cfg = &ckpt_msg_v2-
> >ckpt_rec.stream_cfg;
>               edp_function = edp_ed_cfg_stream_rec_v2;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 = ckpt_msg;
> +             lgsv_ckpt_msg_v1_t *ckpt_msg_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_msg;
>               stream_cfg = &ckpt_msg_v1-
> >ckpt_rec.stream_cfg;
>               edp_function = edp_ed_cfg_stream_rec_v1;
>       }
> @@ -1094,15 +1094,15 @@ static uint32_t ckpt_decode_log_cfg(lgs_
>       lgsv_ckpt_msg_v2_t *ckpt_msg_v2;
> 
>       if (lgs_is_peer_v5()) {
> -             ckpt_msg_v5 = ckpt_msg;
> +             ckpt_msg_v5 = (lgsv_ckpt_msg_v5_t *)
> ckpt_msg;
>               lgs_cfg = &ckpt_msg_v5->ckpt_rec.lgs_cfg;
>               edp_function = edp_ed_lgs_cfg_rec_v5;
>       } else if (lgs_is_peer_v4()) {
> -             ckpt_msg_v3 = ckpt_msg;
> +             ckpt_msg_v3 = (lgsv_ckpt_msg_v3_t *)
> ckpt_msg;
>               lgs_cfg = &ckpt_msg_v3->ckpt_rec.lgs_cfg;
>               edp_function = edp_ed_lgs_cfg_rec_v3;
>       } else if (lgs_is_peer_v2()) {
> -             ckpt_msg_v2 = ckpt_msg;
> +             ckpt_msg_v2 = (lgsv_ckpt_msg_v2_t *)
> ckpt_msg;
>               lgs_cfg = &ckpt_msg_v2->ckpt_rec.lgs_cfg;
>               edp_function = edp_ed_lgs_cfg_rec_v2;
>       } else {
> @@ -1286,7 +1286,7 @@ static uint32_t ckpt_decode_async_update
>  static uint32_t ckpt_decode_cold_sync(lgs_cb_t *cb, NCS_MBCSV_CB_ARG
> *cbk_arg)
>  {
>       uint32_t rc = NCSCC_RC_SUCCESS;
> -     EDU_ERR ederror = 0;
> +     EDU_ERR ederror;
>       lgsv_ckpt_msg_v1_t msg_v1;
>       lgsv_ckpt_msg_v2_t msg_v2;
>       uint32_t num_rec = 0;
> @@ -1436,7 +1436,7 @@ static uint32_t process_ckpt_data(lgs_cb
>  {
>       uint32_t rc = NCSCC_RC_SUCCESS;
>       lgsv_ckpt_msg_type_t lgsv_ckpt_msg_type;
> -     lgsv_ckpt_msg_v2_t *data_v1;
> +     lgsv_ckpt_msg_v1_t *data_v1;
>       lgsv_ckpt_msg_v2_t *data_v2;
>       lgsv_ckpt_msg_v3_t *data_v3;
>       lgsv_ckpt_msg_v5_t *data_v5;
> @@ -1447,16 +1447,16 @@ static uint32_t process_ckpt_data(lgs_cb
>       }
> 
>       if (lgs_is_peer_v5()) {
> -             data_v5 = data;
> +             data_v5 = (lgsv_ckpt_msg_v5_t *) data;
>               lgsv_ckpt_msg_type = data_v5-
> >header.ckpt_rec_type;
>       } else if (lgs_is_peer_v4()) {
> -             data_v3 = data;
> +             data_v3 = (lgsv_ckpt_msg_v3_t *) data;
>               lgsv_ckpt_msg_type = data_v3-
> >header.ckpt_rec_type;
>       } else if (lgs_is_peer_v2()) {
> -             data_v2 = data;
> +             data_v2 = (lgsv_ckpt_msg_v2_t *) data;
>               lgsv_ckpt_msg_type = data_v2-
> >header.ckpt_rec_type;
>       } else {
> -             data_v1 = data;
> +             data_v1 = (lgsv_ckpt_msg_v1_t *) data;
>               lgsv_ckpt_msg_type = data_v1-
> >header.ckpt_rec_type;
>       }
> 
> @@ -1498,10 +1498,10 @@ static uint32_t ckpt_proc_initialize_cli
>       lgs_ckpt_initialize_msg_t *param;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               param = &data_v2->ckpt_rec.initialize_client;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               param = &data_v1->ckpt_rec.initialize_client;
>       }
> 
> @@ -1559,7 +1559,8 @@ static void insert_localmsg_in_stream(lo
>       const int LOG_REC_ID = 0;
>       const int sleep_delay_ms = 10;
>       const int max_waiting_time_ms = 100;
> -
> +     int msecs_waited = 0;
> +
>       /* Log record common */
>       //log_record.logTimeStamp = setLogTime();
>       log_record.logTimeStamp = setLogTime();
> @@ -1606,7 +1607,7 @@ static void insert_localmsg_in_stream(lo
>       uint32_t max_logrecsize = *(uint32_t *) lgs_cfg_get(
>               LGS_IMM_LOG_MAX_LOGRECSIZE);
>       buf_size = stream->fixedLogRecordSize == 0 ? max_logrecsize
> : stream->fixedLogRecordSize;
> -     logOutputString = calloc(1, buf_size+1); /* Make room for a '\0'
> termination */
> +     logOutputString = (char *) calloc(1, buf_size+1); /* Make room
> for a '\0' termination */
>       if (logOutputString == NULL) {
>               LOG_ER("%s - Could not allocate %d
> bytes",__FUNCTION__, stream->fixedLogRecordSize + 1);
>               goto done;
> @@ -1621,7 +1622,6 @@ static void insert_localmsg_in_stream(lo
>       }
> 
>       /* Write the log record to file */
> -     int msecs_waited = 0;
>       rc = log_stream_write_h(stream, logOutputString, n);
>       while ((rc == -2) && (msecs_waited < max_waiting_time_ms))
> {
>               usleep(sleep_delay_ms * 1000);
> @@ -1632,7 +1632,7 @@ static void insert_localmsg_in_stream(lo
>                 Therefore, need to re-allocate memory & retry
> writing log.
>               */
>               if (logOutputString == NULL) {
> -                     logOutputString = calloc(1,
> buf_size + 1); /* Make room for a '\0' termination */
> +                     logOutputString = (char *)
> calloc(1, buf_size + 1); /* Make room for a '\0' termination */
>                       if (logOutputString == NULL) {
>                               LOG_ER("%s -
> Could not allocate %d bytes",__FUNCTION__, stream->fixedLogRecordSize +
> 1);
>                       }
> @@ -1700,7 +1700,7 @@ static uint32_t ckpt_proc_log_write(lgs_
>       TRACE_ENTER();
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               streamId = data_v2-
> >ckpt_rec.write_log.streamId;
>               recordId = data_v2-
> >ckpt_rec.write_log.recordId;
>               curFileSize = data_v2-
> >ckpt_rec.write_log.curFileSize;
> @@ -1708,7 +1708,7 @@ static uint32_t ckpt_proc_log_write(lgs_
>               logRecord = data_v2-
> >ckpt_rec.write_log.logRecord;
>               c_file_close_time_stamp = data_v2-
> >ckpt_rec.write_log.c_file_close_time_stamp;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               streamId = data_v1-
> >ckpt_rec.write_log.streamId;
>               recordId = data_v1-
> >ckpt_rec.write_log.recordId;
>               curFileSize = data_v1-
> >ckpt_rec.write_log.curFileSize;
> @@ -1737,7 +1737,7 @@ static uint32_t ckpt_proc_log_write(lgs_
>                * in log file.
>                */
>               if ((stream->stb_logRecordId + 1) != recordId) {
> -
>       insert_localmsg_in_stream(stream, "Possible loss of log
> record");
> +
>       insert_localmsg_in_stream(stream, const_cast<char *>
> ("Possible loss of log record"));
>               }
> 
>               /* Make a limited number of attempts to write if
> file IO timed out when
> @@ -1803,13 +1803,13 @@ static uint32_t ckpt_proc_close_stream(l
>       TRACE_ENTER();
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               streamId = data_v2-
> >ckpt_rec.stream_close.streamId;
>               clientId = data_v2-
> >ckpt_rec.stream_close.clientId;
>               /* Set time for closing. Used for renaming */
>               closetime_ptr = (time_t *) &data_v2-
> >ckpt_rec.stream_close.c_file_close_time_stamp;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               streamId = data_v1-
> >ckpt_rec.stream_close.streamId;
>               clientId = data_v1-
> >ckpt_rec.stream_close.clientId;
>               closetime_ptr = NULL;
> @@ -1858,15 +1858,17 @@ uint32_t ckpt_proc_open_stream(lgs_cb_t
>       TRACE_ENTER();
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               param = &data_v2->ckpt_rec.stream_open;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               param = &data_v1->ckpt_rec.stream_open;
>       }
> 
> +     uint32_t invalidClient = (uint32_t) (-1);
>       /* Check that client still exist */
> -     if ((param->clientId != -1) && (lgs_client_get_by_id(param-
> >clientId) == NULL)) {
> +     if ((param->clientId != invalidClient) &&
> +             (lgs_client_get_by_id(param->clientId) ==
> NULL)) {
>               LOG_WA("\tClient %u does not exist, failed to
> create stream '%s'", param->clientId, param->logStreamName);
>               goto done;
>       }
> @@ -1928,7 +1930,8 @@ uint32_t ckpt_proc_open_stream(lgs_cb_t
>        ** Create an association between this client_id and the
> stream
>        ** A client ID of -1 indicates that no client exist, skip this step.
>        */
> -     if ((param->clientId != -1) && lgs_client_stream_add(param-
> >clientId, stream->streamId) != 0) {
> +     if ((param->clientId != invalidClient) &&
> +             lgs_client_stream_add(param->clientId, stream-
> >streamId) != 0) {
>               /* Do not allow standby to get out of sync */
>               LOG_ER("%s - Failed to add stream '%s' to client
> %u",__FUNCTION__,
>                               param-
> >logStreamName, param->clientId);
> @@ -1968,12 +1971,12 @@ static uint32_t ckpt_proc_finalize_clien
>       time_t *closetime_ptr;
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               lgs_ckpt_finalize_msg_v2_t *param =
> &data_v2->ckpt_rec.finalize_client;
>               closetime_ptr = (time_t *) &param-
> >c_file_close_time_stamp;
>               client_id = param->client_id;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               lgs_ckpt_finalize_msg_v1_t *param =
> &data_v1->ckpt_rec.finalize_client;
>               closetime_ptr = NULL;
>               client_id = param->client_id;
> @@ -2011,12 +2014,12 @@ uint32_t ckpt_proc_agent_down(lgs_cb_t *
>       TRACE_ENTER();
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               closetime_ptr = (time_t *) &data_v2-
> >ckpt_rec.agent_down.c_file_close_time_stamp;
>               agent_dest = (MDS_DEST) data_v2-
> >ckpt_rec.agent_down.agent_dest;
> 
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               closetime_ptr = NULL;
>               agent_dest = data_v1->ckpt_rec.agent_dest;
>       }
> @@ -2070,10 +2073,10 @@ static uint32_t ckpt_proc_cfg_stream(lgs
>       TRACE_ENTER();
> 
>       if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *data_v2 = data;
> +             lgsv_ckpt_msg_v2_t *data_v2 =
> (lgsv_ckpt_msg_v2_t *) data;
>               name = data_v2->ckpt_rec.stream_cfg.name;
>               fileName = data_v2-
> >ckpt_rec.stream_cfg.fileName;
> -             pathName = data_v2-
> >ckpt_rec.stream_cfg.pathName;
> +             pathName = data_v2-
> >ckpt_rec.stream_cfg.pathName;
>               maxLogFileSize = data_v2-
> >ckpt_rec.stream_cfg.maxLogFileSize;
>               fixedLogRecordSize = data_v2-
> >ckpt_rec.stream_cfg.fixedLogRecordSize;
>               logFullAction = data_v2-
> >ckpt_rec.stream_cfg.logFullAction;
> @@ -2084,10 +2087,10 @@ static uint32_t ckpt_proc_cfg_stream(lgs
>               logFileCurrent = data_v2-
> >ckpt_rec.stream_cfg.logFileCurrent;
>               closetime = data_v2-
> >ckpt_rec.stream_cfg.c_file_close_time_stamp;
>       } else {
> -             lgsv_ckpt_msg_v1_t *data_v1 = data;
> +             lgsv_ckpt_msg_v1_t *data_v1 =
> (lgsv_ckpt_msg_v1_t *) data;
>               name = data_v1->ckpt_rec.stream_cfg.name;
>               fileName = data_v1-
> >ckpt_rec.stream_cfg.fileName;
> -             pathName = data_v1-
> >ckpt_rec.stream_cfg.pathName;
> +             pathName = data_v1-
> >ckpt_rec.stream_cfg.pathName;
>               maxLogFileSize = data_v1-
> >ckpt_rec.stream_cfg.maxLogFileSize;
>               fixedLogRecordSize = data_v1-
> >ckpt_rec.stream_cfg.fixedLogRecordSize;
>               logFullAction = data_v1-
> >ckpt_rec.stream_cfg.logFullAction;
> @@ -2124,7 +2127,7 @@ static uint32_t ckpt_proc_cfg_stream(lgs
>       /* If split file mode, update standby files */
>       if (lgs_is_split_file_system()) {
>               int rc=0;
> -             const char *root_path = lgs_cfg_get(
> +             const char *root_path = (const char *)
> lgs_cfg_get(
> 
>       LGS_IMM_LOG_ROOT_DIRECTORY);
>               if ((rc =
> log_stream_config_change(LGS_STREAM_CREATE_FILES,
>                               root_path, stream,
> @@ -2180,16 +2183,16 @@ uint32_t lgs_ckpt_send_async(lgs_cb_t *c
>       lgsv_ckpt_msg_type_t ckpt_rec_type;
> 
>       if (lgs_is_peer_v5()) {
> -             lgsv_ckpt_msg_v5_t *ckpt_rec_v5 = ckpt_rec;
> +             lgsv_ckpt_msg_v5_t *ckpt_rec_v5 =
> (lgsv_ckpt_msg_v5_t *) ckpt_rec;
>               ckpt_rec_type = ckpt_rec_v5-
> >header.ckpt_rec_type;
>       } else if (lgs_is_peer_v4()) {
> -             lgsv_ckpt_msg_v3_t *ckpt_rec_v3 = ckpt_rec;
> +             lgsv_ckpt_msg_v3_t *ckpt_rec_v3 =
> (lgsv_ckpt_msg_v3_t *) ckpt_rec;
>               ckpt_rec_type = ckpt_rec_v3-
> >header.ckpt_rec_type;
>       } else if (lgs_is_peer_v2()) {
> -             lgsv_ckpt_msg_v2_t *ckpt_rec_v2 = ckpt_rec;
> +             lgsv_ckpt_msg_v2_t *ckpt_rec_v2 =
> (lgsv_ckpt_msg_v2_t *) ckpt_rec;
>               ckpt_rec_type = ckpt_rec_v2-
> >header.ckpt_rec_type;
>       } else {
> -             lgsv_ckpt_msg_v1_t *ckpt_rec_v1 = ckpt_rec;
> +             lgsv_ckpt_msg_v1_t *ckpt_rec_v1 =
> (lgsv_ckpt_msg_v1_t *) ckpt_rec;
>               ckpt_rec_type = ckpt_rec_v1-
> >header.ckpt_rec_type;
>       }
> 
> @@ -2198,8 +2201,8 @@ uint32_t lgs_ckpt_send_async(lgs_cb_t *c
>       memset(&mbcsv_arg, '\0', sizeof(NCS_MBCSV_ARG));
>       mbcsv_arg.i_op = NCS_MBCSV_OP_SEND_CKPT;
>       mbcsv_arg.i_mbcsv_hdl = cb->mbcsv_hdl;
> -     mbcsv_arg.info.send_ckpt.i_action = action;
> -     mbcsv_arg.info.send_ckpt.i_ckpt_hdl =
> (NCS_MBCSV_CKPT_HDL)cb->mbcsv_ckpt_hdl;
> +     mbcsv_arg.info.send_ckpt.i_action =
> (NCS_MBCSV_ACT_TYPE) action;
> +     mbcsv_arg.info.send_ckpt.i_ckpt_hdl =
> (NCS_MBCSV_CKPT_HDL) cb->mbcsv_ckpt_hdl;
>       mbcsv_arg.info.send_ckpt.i_reo_hdl =
> NCS_PTR_TO_UNS64_CAST(ckpt_rec);      /*Will be used in encode callback
> */
> 
>       /* Just store the address of the data to be send as an
> @@ -2329,7 +2332,7 @@ static uint32_t edp_ed_stream_list(EDU_H
>       } else if (op == EDP_OP_TYPE_DEC) {
>               ckpt_stream_list_msg_dec_ptr =
> (lgs_stream_list_t **)ptr;
>               if (*ckpt_stream_list_msg_dec_ptr == NULL) {
> -                     *ckpt_stream_list_msg_dec_ptr
> = calloc(1, sizeof(lgs_stream_list_t));
> +                     *ckpt_stream_list_msg_dec_ptr
> = (lgs_stream_list *) calloc(1, sizeof(lgs_stream_list_t));
>                       if
> (*ckpt_stream_list_msg_dec_ptr == NULL) {
>                               LOG_WA("calloc
> FAILED");
>                               *o_err =
> EDU_ERR_MEM_FAIL;
> @@ -2339,7 +2342,7 @@ static uint32_t edp_ed_stream_list(EDU_H
>               memset(*ckpt_stream_list_msg_dec_ptr, '\0',
> sizeof(lgs_stream_list_t));
>               ckpt_stream_list_msg_ptr =
> *ckpt_stream_list_msg_dec_ptr;
>       } else {
> -             ckpt_stream_list_msg_ptr = ptr;
> +             ckpt_stream_list_msg_ptr = (lgs_stream_list *)
> ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_stream_list_ed_rules, ckpt_stream_list_msg_ptr, ptr_data_len,
> @@ -2374,7 +2377,7 @@ uint32_t edp_ed_reg_rec(EDU_HDL *edu_hdl
>               memset(*ckpt_reg_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_initialize_msg_t));
>               ckpt_reg_msg_ptr = *ckpt_reg_msg_dec_ptr;
>       } else {
> -             ckpt_reg_msg_ptr = ptr;
> +             ckpt_reg_msg_ptr = (lgs_ckpt_initialize_msg_t
> *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_reg_rec_ed_rules, ckpt_reg_msg_ptr, ptr_data_len,
> @@ -2427,7 +2430,7 @@ uint32_t edp_ed_header_rec(EDU_HDL *edu_
>               memset(*ckpt_header_dec_ptr, '\0',
> sizeof(lgsv_ckpt_header_t));
>               ckpt_header_ptr = *ckpt_header_dec_ptr;
>       } else {
> -             ckpt_header_ptr = ptr;
> +             ckpt_header_ptr = (lgsv_ckpt_header_t *) ptr;
>       }
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_header_rec_ed_rules, ckpt_header_ptr, ptr_data_len,
>                                buf_env, op,
> o_err);
> @@ -2547,7 +2550,7 @@ static uint32_t dec_ckpt_header(NCS_UBAI
>               return NCSCC_RC_FAILURE;
>       }
>       p8 = ncs_dec_flatten_space(uba, local_data, 4);
> -     header->ckpt_rec_type = ncs_decode_32bit(&p8);
> +     header->ckpt_rec_type = (lgsv_ckpt_msg_type_t)
> ncs_decode_32bit(&p8);
>       ncs_dec_skip_space(uba, 4);
> 
>       p8 = ncs_dec_flatten_space(uba, local_data, 4);
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv.h
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv.h
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv.h
> @@ -88,7 +88,7 @@ typedef struct {
>       char *logPath;          /* log file path */
>       uint64_t maxFileSize;   /* max file size configurable */
>       int32_t maxLogRecordSize;       /* constant size of the records */
> -     int32_t logFileFullAction;
> +     SaLogFileFullActionT logFileFullAction;
>       int32_t maxFilesRotated;        /* max number of rotation files
> configurable */
>       char *fileFmt;
>       /* end correspond to SaLogFileCreateAttributes */
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.c
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.c
> rename to osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.cc
> @@ -68,7 +68,7 @@ uint32_t edp_ed_write_rec_v1(EDU_HDL *ed
>               memset(*ckpt_write_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_write_log_v1_t));
>               ckpt_write_msg_ptr =
> *ckpt_write_msg_dec_ptr;
>       } else {
> -             ckpt_write_msg_ptr = ptr;
> +             ckpt_write_msg_ptr = (lgs_ckpt_write_log_v1_t
> *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_write_rec_ed_rules, ckpt_write_msg_ptr, ptr_data_len,
> @@ -121,7 +121,7 @@ uint32_t edp_ed_close_stream_rec_v1(EDU_
>               memset(*ckpt_close_stream_msg_dec_ptr,
> '\0', sizeof(lgs_ckpt_stream_close_v1_t));
>               ckpt_close_stream_msg_ptr =
> *ckpt_close_stream_msg_dec_ptr;
>       } else {
> -             ckpt_close_stream_msg_ptr = ptr;
> +             ckpt_close_stream_msg_ptr =
> (lgs_ckpt_stream_close_v1_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_close_stream_rec_ed_rules,
> @@ -173,7 +173,7 @@ uint32_t edp_ed_finalize_rec_v1(EDU_HDL
>               memset(*ckpt_final_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_finalize_msg_v1_t));
>               ckpt_final_msg_ptr = *ckpt_final_msg_dec_ptr;
>       } else {
> -             ckpt_final_msg_ptr = ptr;
> +             ckpt_final_msg_ptr =
> (lgs_ckpt_finalize_msg_v1_t *) ptr;
>       }
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_final_rec_ed_rules, ckpt_final_msg_ptr, ptr_data_len,
>                                buf_env, op,
> o_err);
> @@ -235,7 +235,7 @@ uint32_t edp_ed_cfg_stream_rec_v1(EDU_HD
>               memset(*ckpt_stream_cfg_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_stream_cfg_v1_t));
>               ckpt_stream_cfg_msg_ptr =
> *ckpt_stream_cfg_msg_dec_ptr;
>       } else {
> -             ckpt_stream_cfg_msg_ptr = ptr;
> +             ckpt_stream_cfg_msg_ptr =
> (lgs_ckpt_stream_cfg_v1_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_stream_cfg_rec_ed_rules, ckpt_stream_cfg_msg_ptr, ptr_data_len,
> @@ -282,40 +282,40 @@ uint32_t edp_ed_ckpt_msg_v1(EDU_HDL *edu
>                (EDU_EXEC_RTINE)ckpt_msg_test_type},
> 
>               /* Reg Record */
> -             {EDU_EXEC, edp_ed_reg_rec, 0, 0, EDU_EXIT,
> +             {EDU_EXEC, edp_ed_reg_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.initialize_client, 0, NULL},
> 
>               /* Finalize record */
> -             {EDU_EXEC, edp_ed_finalize_rec_v1, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_finalize_rec_v1, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.finalize_client, 0, NULL},
> 
>               /* write log Record */
> -             {EDU_EXEC, edp_ed_write_rec_v1, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_write_rec_v1, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.write_log, 0, NULL},
> 
>               /* Open stream */
> -             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.stream_open, 0, NULL},
> 
>               /* Close stream */
> -             {EDU_EXEC, edp_ed_close_stream_rec_v1, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_close_stream_rec_v1, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.stream_close, 0, NULL},
> 
>               /* Agent dest */
> -             {EDU_EXEC, ncs_edp_mds_dest, 0, 0, EDU_EXIT,
> +             {EDU_EXEC, ncs_edp_mds_dest, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.agent_dest, 0, NULL},
> 
>               /* Cfg stream */
> -             {EDU_EXEC, edp_ed_cfg_stream_rec_v1, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_cfg_stream_rec_v1, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v1_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
>               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
>       };
> 
>       if (op == EDP_OP_TYPE_ENC) {
> -             ckpt_msg_ptr = (lgsv_ckpt_msg_v1_t *)ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v1_t *) ptr;
>       } else if (op == EDP_OP_TYPE_DEC) {
> -             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v1_t
> **)ptr;
> +             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v1_t **)
> ptr;
>               if (*ckpt_msg_dec_ptr == NULL) {
>                       *o_err = EDU_ERR_MEM_FAIL;
>                       return NCSCC_RC_FAILURE;
> @@ -323,7 +323,7 @@ uint32_t edp_ed_ckpt_msg_v1(EDU_HDL *edu
>               memset(*ckpt_msg_dec_ptr, '\0',
> sizeof(lgsv_ckpt_msg_v1_t));
>               ckpt_msg_ptr = *ckpt_msg_dec_ptr;
>       } else {
> -             ckpt_msg_ptr = ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v1_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_msg_ed_rules, ckpt_msg_ptr, ptr_data_len, buf_env, op, o_err);
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.h
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.h
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v1.h
> @@ -19,13 +19,13 @@
>  #ifndef LGS_MBCSV_V1_H
>  #define      LGS_MBCSV_V1_H
> 
> +#include "lgs.h"
> +#include "lgs_mbcsv.h"
> +
>  #ifdef       __cplusplus
>  extern "C" {
>  #endif
> 
> -#include "lgs.h"
> -#include "lgs_mbcsv.h"
> -
>  /* Structures for Checkpoint data ver 1 (to be replicated at the standby) */
> 
>  /* Finalize checkpoint record, used in cold/async checkpoint updates */
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.c
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.c
> rename to osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v2.cc
> @@ -50,12 +50,12 @@ uint32_t ckpt_proc_lgs_cfg_v2(lgs_cb_t *
>               LOG_ER("%s ERROR: Called when ceck-point
> version 1",__FUNCTION__);
>               osafassert(0);
>       }
> -     lgsv_ckpt_msg_v2_t *data_v2 = data;
> +     lgsv_ckpt_msg_v2_t *data_v2 = (lgsv_ckpt_msg_v2_t *) data;
>       lgs_ckpt_lgs_cfg_v2_t *param = &data_v2->ckpt_rec.lgs_cfg;
> 
>       /* Handle log files for new directory if configured for split file
> system */
>       if (lgs_is_split_file_system()) {
> -             const char *old_root =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +             const char *old_root = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
>               const char *new_root = param-
> >logRootDirectory;
>               /* Change root path in configuration struct */
>               lgs_rootpathconf_set(param-
> >logRootDirectory);
> @@ -123,7 +123,7 @@ uint32_t edp_ed_write_rec_v2(EDU_HDL *ed
>               memset(*ckpt_write_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_write_log_v2_t));
>               ckpt_write_msg_ptr =
> *ckpt_write_msg_dec_ptr;
>       } else {
> -             ckpt_write_msg_ptr = ptr;
> +             ckpt_write_msg_ptr = (lgs_ckpt_write_log_v2_t
> *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_write_rec_ed_rules, ckpt_write_msg_ptr, ptr_data_len,
> @@ -178,7 +178,7 @@ uint32_t edp_ed_close_stream_rec_v2(EDU_
>               memset(*ckpt_close_stream_msg_dec_ptr,
> '\0', sizeof(lgs_ckpt_stream_close_v2_t));
>               ckpt_close_stream_msg_ptr =
> *ckpt_close_stream_msg_dec_ptr;
>       } else {
> -             ckpt_close_stream_msg_ptr = ptr;
> +             ckpt_close_stream_msg_ptr =
> (lgs_ckpt_stream_close_v2_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_close_stream_rec_ed_rules,
> @@ -232,7 +232,7 @@ uint32_t edp_ed_finalize_rec_v2(EDU_HDL
>               memset(*ckpt_final_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_finalize_msg_v2_t));
>               ckpt_final_msg_ptr = *ckpt_final_msg_dec_ptr;
>       } else {
> -             ckpt_final_msg_ptr = ptr;
> +             ckpt_final_msg_ptr =
> (lgs_ckpt_finalize_msg_v2_t *) ptr;
>       }
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_final_rec_ed_rules, ckpt_final_msg_ptr, ptr_data_len,
>                                buf_env, op,
> o_err);
> @@ -296,7 +296,7 @@ uint32_t edp_ed_cfg_stream_rec_v2(EDU_HD
>               memset(*ckpt_stream_cfg_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_stream_cfg_v2_t));
>               ckpt_stream_cfg_msg_ptr =
> *ckpt_stream_cfg_msg_dec_ptr;
>       } else {
> -             ckpt_stream_cfg_msg_ptr = ptr;
> +             ckpt_stream_cfg_msg_ptr =
> (lgs_ckpt_stream_cfg_v2_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_stream_cfg_rec_ed_rules, ckpt_stream_cfg_msg_ptr, ptr_data_len,
> @@ -349,7 +349,7 @@ uint32_t edp_ed_lgs_cfg_rec_v2(EDU_HDL *
>               memset(*ckpt_lgs_cfg_msg_dec_ptr, '\0',
> sizeof(lgs_ckpt_lgs_cfg_v2_t));
>               ckpt_lgs_cfg_msg_ptr =
> *ckpt_lgs_cfg_msg_dec_ptr;
>       } else {
> -             ckpt_lgs_cfg_msg_ptr = ptr;
> +             ckpt_lgs_cfg_msg_ptr = (lgs_ckpt_lgs_cfg_v2_t
> *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_lgs_cfg_rec_ed_rules, ckpt_lgs_cfg_msg_ptr, ptr_data_len,
> @@ -403,7 +403,7 @@ uint32_t edp_ed_agent_down_rec_v2(EDU_HD
>               memset(*ckpt_agent_down_dec_ptr, '\0',
> sizeof(lgs_ckpt_agent_down_v2_t));
>               ckpt_agent_down_msg_ptr =
> *ckpt_agent_down_dec_ptr;
>       } else {
> -             ckpt_agent_down_msg_ptr = ptr;
> +             ckpt_agent_down_msg_ptr =
> (lgs_ckpt_agent_down_v2_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_lgs_agent_down_ed_rules, ckpt_agent_down_msg_ptr, ptr_data_len,
> @@ -450,36 +450,36 @@ uint32_t edp_ed_ckpt_msg_v2(EDU_HDL *edu
>                (EDU_EXEC_RTINE)ckpt_msg_test_type},
> 
>               /* Reg Record */
> -             {EDU_EXEC, edp_ed_reg_rec, 0, 0, EDU_EXIT,
> +             {EDU_EXEC, edp_ed_reg_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.initialize_client, 0, NULL},
> 
>               /* Finalize record */
> -             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.finalize_client, 0, NULL},
> 
>               /* write log Record */
> -             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.write_log, 0, NULL},
> 
>               /* Open stream */
> -             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.stream_open, 0, NULL},
> 
>               /* Close stream */
> -             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.stream_close, 0, NULL},
> 
>               /* Agent dest */
> -             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
> 
>               /* Cfg stream */
> -             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
>               /* Lgs cfg */
> -             {EDU_EXEC, edp_ed_lgs_cfg_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_lgs_cfg_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v2_t *)0)-
> >ckpt_rec.lgs_cfg, 0, NULL},
> 
>               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
> @@ -496,7 +496,7 @@ uint32_t edp_ed_ckpt_msg_v2(EDU_HDL *edu
>               memset(*ckpt_msg_dec_ptr, '\0',
> sizeof(lgsv_ckpt_msg_v2_t));
>               ckpt_msg_ptr = *ckpt_msg_dec_ptr;
>       } else {
> -             ckpt_msg_ptr = ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v2_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_msg_ed_rules, ckpt_msg_ptr, ptr_data_len, buf_env, op, o_err);
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.c
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.c
> rename to osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v3.cc
> @@ -50,7 +50,7 @@ uint32_t ckpt_proc_lgs_cfg_v3(lgs_cb_t *
>               osafassert(0);
>       }
> 
> -     lgsv_ckpt_msg_v3_t *data_v3 = data;
> +     lgsv_ckpt_msg_v3_t *data_v3 = (lgsv_ckpt_msg_v3_t *) data;
>       lgs_ckpt_lgs_cfg_v3_t *param = &data_v3->ckpt_rec.lgs_cfg;
> 
>       if (strcmp(param->logRootDirectory, logsv_root_dir) != 0) {
> @@ -59,7 +59,7 @@ uint32_t ckpt_proc_lgs_cfg_v3(lgs_cb_t *
>               if (lgs_is_split_file_system()) {
>                       /* Move log files on standby also
> */
>                       const char *new_root_path =
> param->logRootDirectory;
> -                     const char *old_root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +                     const char *old_root_path =
> (const char *) lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
>                       /* Update configuration with new
> root path */
>                       lgs_rootpathconf_set(param-
> >logRootDirectory);
> 
>       logRootDirectory_filemove(new_root_path, old_root_path,
> @@ -188,45 +188,45 @@ uint32_t edp_ed_ckpt_msg_v3(EDU_HDL *edu
>                (EDU_EXEC_RTINE)ckpt_msg_test_type},
> 
>               /* Reg Record */
> -             {EDU_EXEC, edp_ed_reg_rec, 0, 0, EDU_EXIT,
> +             {EDU_EXEC, edp_ed_reg_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.initialize_client, 0, NULL},
> 
>               /* Finalize record */
> -             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.finalize_client, 0, NULL},
> 
>               /* write log Record */
> -             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.write_log, 0, NULL},
> 
>               /* Open stream */
> -             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.stream_open, 0, NULL},
> 
>               /* Close stream */
> -             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.stream_close, 0, NULL},
> 
>               /* Agent dest */
> -             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
> 
>               /* Cfg stream */
> -             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
>               /* Lgs cfg */
> -             {EDU_EXEC, edp_ed_lgs_cfg_rec_v3, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_lgs_cfg_rec_v3, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v3_t *)0)-
> >ckpt_rec.lgs_cfg, 0, NULL},
> 
>               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
>       };
> 
>       if (op == EDP_OP_TYPE_ENC) {
> -             ckpt_msg_ptr = (lgsv_ckpt_msg_v3_t *)ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v3_t *) ptr;
>       } else if (op == EDP_OP_TYPE_DEC) {
> -             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v3_t
> **)ptr;
> +             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v3_t **)
> ptr;
>               if (*ckpt_msg_dec_ptr == NULL) {
>                       *o_err = EDU_ERR_MEM_FAIL;
>                       return NCSCC_RC_FAILURE;
> @@ -234,7 +234,7 @@ uint32_t edp_ed_ckpt_msg_v3(EDU_HDL *edu
>               memset(*ckpt_msg_dec_ptr, '\0',
> sizeof(lgsv_ckpt_msg_v3_t));
>               ckpt_msg_ptr = *ckpt_msg_dec_ptr;
>       } else {
> -             ckpt_msg_ptr = ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v3_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_msg_ed_rules, ckpt_msg_ptr, ptr_data_len, buf_env, op, o_err);
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.c
> b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.c
> rename to osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mbcsv_v5.cc
> @@ -64,7 +64,7 @@ uint32_t ckpt_proc_lgs_cfg_v5(lgs_cb_t *
>               osafassert(0);
>       }
> 
> -     lgsv_ckpt_msg_v5_t *data_v5 = data;
> +     lgsv_ckpt_msg_v5_t *data_v5 = (lgsv_ckpt_msg_v5_t *) data;
>       lgs_ckpt_lgs_cfg_v5_t *param = &data_v5->ckpt_rec.lgs_cfg;
> 
>       /* Act on configuration changes
> @@ -95,7 +95,7 @@ uint32_t ckpt_proc_lgs_cfg_v5(lgs_cb_t *
>               if ((strcmp(name_str, LOG_ROOT_DIRECTORY)
> == 0) &&
>                   (lgs_is_split_file_system() == true)){
>                       const char *new_root_path =
> value_str;
> -                     const char *old_root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +                     const char *old_root_path =
> (const char *) lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> 
>       logRootDirectory_filemove(new_root_path, old_root_path,
>                               (time_t *) &param-
> >c_file_close_time_stamp);
>               } else if ((strcmp(name_str,
> LOG_DATA_GROUPNAME) == 0) &&
> @@ -251,44 +251,44 @@ uint32_t edp_ed_ckpt_msg_v5(EDU_HDL *edu
>                (EDU_EXEC_RTINE)ckpt_msg_test_type},
> 
>               /* Reg Record */
> -             {EDU_EXEC, edp_ed_reg_rec, 0, 0, EDU_EXIT,
> +             {EDU_EXEC, edp_ed_reg_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.initialize_client, 0, NULL},
> 
>               /* Finalize record */
> -             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_finalize_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.finalize_client, 0, NULL},
> 
>               /* write log Record */
> -             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_write_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.write_log, 0, NULL},
> 
>               /* Open stream */
> -             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_open_stream_rec, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.stream_open, 0, NULL},
> 
>               /* Close stream */
> -             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_close_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.stream_close, 0, NULL},
> 
>               /* Agent dest */
> -             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_agent_down_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
>               /* Cfg stream */
> -             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_cfg_stream_rec_v2, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.stream_cfg, 0, NULL},
> 
>               /* Lgs cfg */
> -             {EDU_EXEC, edp_ed_lgs_cfg_rec_v5, 0, 0,
> EDU_EXIT,
> +             {EDU_EXEC, edp_ed_lgs_cfg_rec_v5, 0, 0,
> (int)EDU_EXIT,
>                (long)&((lgsv_ckpt_msg_v5_t *)0)-
> >ckpt_rec.lgs_cfg, 0, NULL},
> 
>               {EDU_END, 0, 0, 0, 0, 0, 0, NULL},
>       };
> 
>       if (op == EDP_OP_TYPE_ENC) {
> -             ckpt_msg_ptr = (lgsv_ckpt_msg_v5_t *)ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v5_t *) ptr;
>       } else if (op == EDP_OP_TYPE_DEC) {
> -             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v5_t
> **)ptr;
> +             ckpt_msg_dec_ptr = (lgsv_ckpt_msg_v5_t **)
> ptr;
>               if (*ckpt_msg_dec_ptr == NULL) {
>                       *o_err = EDU_ERR_MEM_FAIL;
>                       return NCSCC_RC_FAILURE;
> @@ -296,7 +296,7 @@ uint32_t edp_ed_ckpt_msg_v5(EDU_HDL *edu
>               memset(*ckpt_msg_dec_ptr, '\0',
> sizeof(lgsv_ckpt_msg_v5_t));
>               ckpt_msg_ptr = *ckpt_msg_dec_ptr;
>       } else {
> -             ckpt_msg_ptr = ptr;
> +             ckpt_msg_ptr = (lgsv_ckpt_msg_v5_t *) ptr;
>       }
> 
>       rc = m_NCS_EDU_RUN_RULES(edu_hdl, edu_tkn,
> ckpt_msg_ed_rules,
> diff --git a/osaf/services/saf/logsv/lgs/lgs_mds.c
> b/osaf/services/saf/logsv/lgs/lgs_mds.cc
> rename from osaf/services/saf/logsv/lgs/lgs_mds.c
> rename to osaf/services/saf/logsv/lgs/lgs_mds.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_mds.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_mds.cc
> @@ -179,15 +179,16 @@ static uint32_t dec_lstr_open_sync_msg(N
>       p8 = ncs_dec_flatten_space(uba, local_data, 24);
>       param->maxLogFileSize = ncs_decode_64bit(&p8);
>       param->maxLogRecordSize = ncs_decode_32bit(&p8);
> -     param->haProperty = ncs_decode_32bit(&p8);
> -     param->logFileFullAction = ncs_decode_32bit(&p8);
> +     param->haProperty = (SaBoolT) ncs_decode_32bit(&p8);
> +     param->logFileFullAction = (SaLogFileFullActionT)
> ncs_decode_32bit(&p8);
>       param->maxFilesRotated = ncs_decode_16bit(&p8);
>       len = ncs_decode_16bit(&p8);
>       ncs_dec_skip_space(uba, 24);
> 
>       /* Decode format string if initiated */
>       if (len > 0) {
> -             if ((param->logFileFmt = malloc(len)) == NULL) {
> +             param->logFileFmt = (char *) malloc(len);
> +             if (param->logFileFmt == NULL) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
>                       goto done;
> @@ -269,7 +270,7 @@ static uint32_t dec_write_log_async_msg(
>       param->lstr_id = ncs_decode_32bit(&p8);
>       ncs_dec_skip_space(uba, 20);
> 
> -     param->logRecord = malloc(sizeof(SaLogRecordT));
> +     param->logRecord = (SaLogRecordT *)
> malloc(sizeof(SaLogRecordT));
>       if (!param->logRecord) {
>               LOG_WA("malloc FAILED");
>               rc = NCSCC_RC_FAILURE;
> @@ -281,7 +282,7 @@ static uint32_t dec_write_log_async_msg(
>       /* ************* SaLogRecord decode ************** */
>       p8 = ncs_dec_flatten_space(uba, local_data, 12);
>       param->logRecord->logTimeStamp = ncs_decode_64bit(&p8);
> -     param->logRecord->logHdrType = ncs_decode_32bit(&p8);
> +     param->logRecord->logHdrType = (SaLogHeaderTypeT)
> ncs_decode_32bit(&p8);
>       ncs_dec_skip_space(uba, 12);
> 
>       /*
> @@ -299,9 +300,9 @@ static uint32_t dec_write_log_async_msg(
> 
>               p8 = ncs_dec_flatten_space(uba, local_data,
> 14);
>               ntfLogH->notificationId =
> ncs_decode_64bit(&p8);
> -             ntfLogH->eventType = ncs_decode_32bit(&p8);
> +             ntfLogH->eventType = (SaNtfEventTypeT)
> ncs_decode_32bit(&p8);
> 
> -             ntfLogH->notificationObject =
> malloc(sizeof(SaNameT) + 1);
> +             ntfLogH->notificationObject = (SaNameT *)
> malloc(sizeof(SaNameT) + 1);
>               if (!ntfLogH->notificationObject) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
> @@ -320,7 +321,7 @@ static uint32_t dec_write_log_async_msg(
> 
> ntfLogH->notificationObject->value, ntfLogH->notificationObject->length);
>               ntfLogH->notificationObject->value[ntfLogH-
> >notificationObject->length] = '\0';
> 
> -             ntfLogH->notifyingObject =
> malloc(sizeof(SaNameT) + 1);
> +             ntfLogH->notifyingObject = (SaNameT *)
> malloc(sizeof(SaNameT) + 1);
>               if (!ntfLogH->notifyingObject) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
> @@ -339,7 +340,7 @@ static uint32_t dec_write_log_async_msg(
>               ncs_decode_n_octets_from_uba(uba, ntfLogH-
> >notifyingObject->value, ntfLogH->notifyingObject->length);
>               ntfLogH->notifyingObject->value[ntfLogH-
> >notifyingObject->length] = '\0';
> 
> -             ntfLogH->notificationClassId =
> malloc(sizeof(SaNtfClassIdT));
> +             ntfLogH->notificationClassId = (SaNtfClassIdT *)
> malloc(sizeof(SaNtfClassIdT));
>               if (!ntfLogH->notificationClassId) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
> @@ -358,7 +359,7 @@ static uint32_t dec_write_log_async_msg(
>               /* Initiate general header pointers */
>               genLogH->notificationClassId = NULL;
> 
> -             genLogH->notificationClassId =
> malloc(sizeof(SaNtfClassIdT));
> +             genLogH->notificationClassId = (SaNtfClassIdT *)
> malloc(sizeof(SaNtfClassIdT));
>               if (!genLogH->notificationClassId) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
> @@ -369,7 +370,7 @@ static uint32_t dec_write_log_async_msg(
>               genLogH->notificationClassId->majorId =
> ncs_decode_16bit(&p8);
>               genLogH->notificationClassId->minorId =
> ncs_decode_16bit(&p8);
> 
> -             logSvcUsrName = malloc(sizeof(SaNameT) + 1);
> +             logSvcUsrName = (SaNameT *)
> malloc(sizeof(SaNameT) + 1);
>               if (!logSvcUsrName) {
>                       LOG_WA("malloc FAILED");
>                       rc = NCSCC_RC_FAILURE;
> @@ -403,7 +404,7 @@ static uint32_t dec_write_log_async_msg(
>               goto err_done;
>       }
> 
> -     param->logRecord->logBuffer = malloc(sizeof(SaLogBufferT));
> +     param->logRecord->logBuffer = (SaLogBufferT *)
> malloc(sizeof(SaLogBufferT));
>       if (!param->logRecord->logBuffer) {
>               LOG_WA("malloc FAILED");
>               rc = NCSCC_RC_FAILURE;
> @@ -417,7 +418,7 @@ static uint32_t dec_write_log_async_msg(
>       ncs_dec_skip_space(uba, 4);
> 
>       /* Make sure at least one byte is allocated for later */
> -     param->logRecord->logBuffer->logBuf = calloc(1, param-
> >logRecord->logBuffer->logBufSize + 1);
> +     param->logRecord->logBuffer->logBuf = (SaUint8T *) calloc(1,
> param->logRecord->logBuffer->logBufSize + 1);
>       if (param->logRecord->logBuffer->logBuf == NULL) {
>               LOG_WA("malloc FAILED");
>               rc = NCSCC_RC_FAILURE;
> @@ -769,7 +770,8 @@ static uint32_t mds_dec(struct ncsmds_ca
>       }
> 
>      /** allocate an LGSV_LGS_EVENT now **/
> -     if (NULL == (evt = calloc(1, sizeof(lgsv_lgs_evt_t)))) {
> +     evt = (lgsv_lgs_evt_t *) calloc(1, sizeof(lgsv_lgs_evt_t));
> +     if (NULL == evt) {
>               LOG_WA("calloc FAILED");
>               goto err;
>       }
> @@ -778,12 +780,12 @@ static uint32_t mds_dec(struct ncsmds_ca
>       info->info.dec.o_msg = (uint8_t *)evt;
> 
>       p8 = ncs_dec_flatten_space(uba, local_data, 4);
> -     evt->info.msg.type = ncs_decode_32bit(&p8);
> +     evt->info.msg.type = (lgsv_msg_type_t)
> ncs_decode_32bit(&p8);
>       ncs_dec_skip_space(uba, 4);
> 
>       if (LGSV_LGA_API_MSG == evt->info.msg.type) {
>               p8 = ncs_dec_flatten_space(uba, local_data, 4);
> -             evt->info.msg.info.api_info.type =
> ncs_decode_32bit(&p8);
> +             evt->info.msg.info.api_info.type =
> (lgsv_api_msg_type_t) ncs_decode_32bit(&p8);
>               ncs_dec_skip_space(uba, 4);
> 
>               /* FIX error handling for dec functions */
> @@ -1040,7 +1042,8 @@ static uint32_t mds_quiesced_ack(struct
> 
>       TRACE_ENTER();
> 
> -     if (NULL == (lgsv_evt = calloc(1, sizeof(lgsv_lgs_evt_t)))) {
> +     lgsv_evt = (lgsv_lgs_evt_t *) calloc(1, sizeof(lgsv_lgs_evt_t));
> +     if (NULL == lgsv_evt) {
>               LOG_WA("calloc FAILED");
>               goto err;
>       }
> @@ -1097,7 +1100,8 @@ static uint32_t mds_svc_event(struct ncs
>                               info-
> >info.svc_evt.i_dest, info->info.svc_evt.i_node_id, info-
> >info.svc_evt.i_svc_id);
> 
>                       /* As of now we are only
> interested in LGA events */
> -                     if (NULL == (evt = calloc(1,
> sizeof(lgsv_lgs_evt_t)))) {
> +                     evt = (lgsv_lgs_evt_t *) calloc(1,
> sizeof(lgsv_lgs_evt_t));
> +                     if (NULL == evt) {
>                               LOG_WA("calloc
> FAILED");
>                               rc =
> NCSCC_RC_FAILURE;
>                               goto done;
> diff --git a/osaf/services/saf/logsv/lgs/lgs_stream.c
> b/osaf/services/saf/logsv/lgs/lgs_stream.cc
> rename from osaf/services/saf/logsv/lgs/lgs_stream.c
> rename to osaf/services/saf/logsv/lgs/lgs_stream.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_stream.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_stream.cc
> @@ -246,7 +246,7 @@ static int rotate_if_needed(log_stream_t
>        ** Remove until we have one less than allowed, we are just
> about to
>        ** create a new one again.
>        */
> -     while (file_cnt >= stream->maxFilesRotated) {
> +     while (file_cnt >= (int) stream->maxFilesRotated) {
>               if ((rc = file_unlink_h(oldest_file)) == -1) {
>                       LOG_NO("Could not delete: %s -
> %s", oldest_file, strerror(errno));
>                       goto done;
> @@ -313,7 +313,7 @@ static uint32_t log_stream_remove(const
>  void log_initiate_stream_files(log_stream_t *stream)
>  {
>       int errno_save;
> -     const char *log_root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     const char *log_root_path = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> 
>       TRACE_ENTER();
> 
> @@ -500,6 +500,7 @@ log_stream_t *log_stream_new(SaNameT *dn
>  {
>       int rc;
>       log_stream_t *stream = NULL;
> +     uint32_t invalidId = (uint32_t) (-1);
> 
>       osafassert(dn != NULL);
>       TRACE_ENTER2("%s, l: %u", dn->value, dn->length);
> @@ -507,7 +508,7 @@ log_stream_t *log_stream_new(SaNameT *dn
>       if (lgs_relative_path_check_ts(pathname)) {
>               goto done;
>       }
> -     stream = calloc(1, sizeof(log_stream_t));
> +     stream = (log_stream_t *) calloc(1, sizeof(log_stream_t));
>       if (stream == NULL) {
>               LOG_WA("log_stream_new calloc FAILED");
>               goto done;
> @@ -546,7 +547,7 @@ log_stream_t *log_stream_new(SaNameT *dn
>       }
> 
>       /* Add stream to array */
> -     if (stream->streamId == -1)
> +     if (stream->streamId == invalidId)
>               rc = lgs_stream_array_insert_new(stream,
> &stream->streamId);
>       else
>               rc = lgs_stream_array_insert(stream, stream-
> >streamId);
> @@ -575,7 +576,7 @@ log_stream_t *log_stream_new(SaNameT *dn
> 
>               void *arr1[] = { &rdnstr };
>               const SaImmAttrValuesT_2 attr_safLgStr = {
> -                     .attrName = "safLgStr",
> +                     .attrName = (SaImmAttrNameT)
> "safLgStr",
>                       .attrValueType =
> SA_IMM_ATTR_SASTRINGT,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr1
> @@ -583,7 +584,7 @@ log_stream_t *log_stream_new(SaNameT *dn
>               char *str2 = stream->fileName;
>               void *arr2[] = { &str2 };
>               const SaImmAttrValuesT_2
> attr_safLogStreamFileName = {
> -                     .attrName =
> "saLogStreamFileName",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamFileName",
>                       .attrValueType =
> SA_IMM_ATTR_SASTRINGT,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr2
> @@ -591,42 +592,42 @@ log_stream_t *log_stream_new(SaNameT *dn
>               char *str3 = stream->pathName;
>               void *arr3[] = { &str3 };
>               const SaImmAttrValuesT_2
> attr_safLogStreamPathName = {
> -                     .attrName =
> "saLogStreamPathName",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamPathName",
>                       .attrValueType =
> SA_IMM_ATTR_SASTRINGT,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr3
>               };
>               void *arr4[] = { &stream->maxLogFileSize };
>               const SaImmAttrValuesT_2
> attr_saLogStreamMaxLogFileSize = {
> -                     .attrName =
> "saLogStreamMaxLogFileSize",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamMaxLogFileSize",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT64T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr4
>               };
>               void *arr5[] = { &stream->fixedLogRecordSize };
>               const SaImmAttrValuesT_2
> attr_saLogStreamFixedLogRecordSize = {
> -                     .attrName =
> "saLogStreamFixedLogRecordSize",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamFixedLogRecordSize",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT32T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr5
>               };
>               void *arr6[] = { &stream->haProperty };
>               const SaImmAttrValuesT_2
> attr_saLogStreamHaProperty = {
> -                     .attrName =
> "saLogStreamHaProperty",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamHaProperty",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT32T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr6
>               };
>               void *arr7[] = { &stream->logFullAction };
>               const SaImmAttrValuesT_2
> attr_saLogStreamLogFullAction = {
> -                     .attrName =
> "saLogStreamLogFullAction",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamLogFullAction",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT32T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr7
>               };
>               void *arr8[] = { &stream->maxFilesRotated };
>               const SaImmAttrValuesT_2
> attr_saLogStreamMaxFilesRotated = {
> -                     .attrName =
> "saLogStreamMaxFilesRotated",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamMaxFilesRotated",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT32T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr8
> @@ -634,21 +635,21 @@ log_stream_t *log_stream_new(SaNameT *dn
>               char *str9 = stream->logFileFormat;
>               void *arr9[] = { &str9 };
>               const SaImmAttrValuesT_2
> attr_saLogStreamLogFileFormat = {
> -                     .attrName =
> "saLogStreamLogFileFormat",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamLogFileFormat",
>                       .attrValueType =
> SA_IMM_ATTR_SASTRINGT,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr9
>               };
>               void *arr10[] = { &stream->severityFilter };
>               const SaImmAttrValuesT_2
> attr_saLogStreamSeverityFilter = {
> -                     .attrName =
> "saLogStreamSeverityFilter",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamSeverityFilter",
>                       .attrValueType =
> SA_IMM_ATTR_SAUINT32T,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr10
>               };
>               void *arr11[] = { &stream->creationTimeStamp
> };
>               const SaImmAttrValuesT_2
> attr_saLogStreamCreationTimestamp = {
> -                     .attrName =
> "saLogStreamCreationTimestamp",
> +                     .attrName = (SaImmAttrNameT)
> "saLogStreamCreationTimestamp",
>                       .attrValueType =
> SA_IMM_ATTR_SATIMET,
>                       .attrValuesNumber = 1,
>                       .attrValues = arr11
> @@ -673,7 +674,8 @@ log_stream_t *log_stream_new(SaNameT *dn
>                       SaAisErrorT rv;
> 
>                       rv =
> saImmOiRtObjectCreate_2(lgs_cb->immOiHandle,
> -
>                    "SaLogStream", parentName, attrValues);
> +
> 
> (SaImmClassNameT) "SaLogStream",
> +
> 
> parentName, attrValues);
>                       free(dndup);
> 
>                       if (rv != SA_AIS_OK) {
> @@ -700,11 +702,11 @@ log_stream_t *log_stream_new_2(SaNameT *
>  {
>       int rc;
>       log_stream_t *stream = NULL;
> -
> +     uint32_t invalidId = (uint32_t) (-1);
>       osafassert(name != NULL);
>       TRACE_ENTER2("%s, l: %u", name->value, (unsigned int)name-
> >length);
> 
> -     stream = calloc(1, sizeof(log_stream_t));
> +     stream = (log_stream_t *) calloc(1, sizeof(log_stream_t));
>       if (stream == NULL) {
>               LOG_WA("calloc FAILED");
>               goto done;
> @@ -727,7 +729,7 @@ log_stream_t *log_stream_new_2(SaNameT *
>       }
> 
>       /* Add stream to array */
> -     if (stream->streamId == -1)
> +     if (stream->streamId == invalidId)
>               rc = lgs_stream_array_insert_new(stream,
> &stream->streamId);
>       else
>               rc = lgs_stream_array_insert(stream, stream-
> >streamId);
> @@ -843,12 +845,12 @@ void log_stream_close(log_stream_t **s,
>       log_stream_t *stream = *s;
>       char *file_to_rename = NULL;
>       char *timeString = NULL;
> -     int msecs_waited = 0;
> +     uint32_t msecs_waited = 0;
>       const unsigned int max_waiting_time = 8 * 1000; /* 8
> secs */
>       const unsigned int sleep_delay_ms = 500;
>       SaUint32T trace_num_openers;
>       struct timespec closetime_tspec;
> -     const char *root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     const char *root_path = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> 
>       osafassert(stream != NULL);
>       TRACE_ENTER2("%s", stream->name);
> @@ -978,7 +980,10 @@ static int get_number_of_log_files_h(log
>       int rc, n;
> 
>       TRACE_ENTER();
> -
> +
> +     char *logsv_root_dir = (char *)
> +
>       lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +
>       n = snprintf(parameters_in.file_name,
> SA_MAX_NAME_LENGTH, "%s", logStream->fileName);
>       if (n >= SA_MAX_NAME_LENGTH) {
>               rc = -1;
> @@ -986,9 +991,6 @@ static int get_number_of_log_files_h(log
>               goto done;
>       }
> 
> -     char *logsv_root_dir = (char *)
> -
>       lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> -
>       n = snprintf(parameters_in.logsv_root_dir, PATH_MAX, "%s",
> logsv_root_dir);
>       if (n >= PATH_MAX) {
>               rc = -1;
> @@ -1047,7 +1049,7 @@ static int log_rotation_stb(log_stream_t
>       char *current_time_str;
>       char new_current_log_filename[NAME_MAX];
>       bool do_rotate = false;
> -     const char *root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     const char *root_path = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> 
>       TRACE_ENTER();
> 
> @@ -1145,7 +1147,7 @@ static int log_rotation_act(log_stream_t
>       int errno_save;
>       int errno_ret;
>       struct timespec closetime_tspec;
> -     const char *root_path =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +     const char *root_path = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> 
>       /* If file size > max file size:
>        *  - Close the log file and create a new.
> @@ -1387,7 +1389,7 @@ static int lgs_stream_array_insert(log_s
>  static int lgs_stream_array_insert_new(log_stream_t *stream, uint32_t *id)
>  {
>       int rc = -1;
> -     int i;
> +     uint32_t i = 0;
> 
>       osafassert(id != NULL);
> 
> @@ -1419,7 +1421,7 @@ static int lgs_stream_array_remove(int i
>  {
>       int rc = -1;
> 
> -     if (0 <= id && id < stream_array_size) {
> +     if (0 <= id && id < (int) stream_array_size) {
>               osafassert(stream_array[id] != NULL);
>               stream_array[id] = NULL;
>               rc = 0;
> @@ -1435,7 +1437,7 @@ static int lgs_stream_array_remove(int i
>   */
>  void log_stream_id_print(void)
>  {
> -     int i;
> +     uint32_t i = 0;
> 
>       TRACE("  Current number of streams: %u",
> numb_of_streams);
>       for (i = 0; i < stream_array_size; i++) {
> @@ -1454,7 +1456,7 @@ uint32_t log_stream_init(void)
>       stream_array_size += value;
> 
>       TRACE("Max %u application log streams", stream_array_size -
> 3);
> -     stream_array = calloc(1, sizeof(log_stream_t *) *
> stream_array_size);
> +     stream_array = (log_stream_t **) calloc(1,
> sizeof(log_stream_t *) * stream_array_size);
>       if (stream_array == NULL) {
>               LOG_WA("calloc FAILED");
>               return NCSCC_RC_FAILURE;
> diff --git a/osaf/services/saf/logsv/lgs/lgs_stream.h
> b/osaf/services/saf/logsv/lgs/lgs_stream.h
> --- a/osaf/services/saf/logsv/lgs/lgs_stream.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_stream.h
> @@ -23,6 +23,10 @@
>  #include "lgs_fmt.h"
>  #include <ncspatricia.h>
> 
> +#ifdef       __cplusplus
> +extern "C" {
> +#endif
> +
>  /**
>   * Stream descriptor.
>   * Contains both the IMM LOG Class attributes and implementation
> dependent
> @@ -116,4 +120,8 @@ extern log_stream_t *log_stream_getnext_
>  extern void log_stream_print(log_stream_t *stream);
>  extern log_stream_t *log_stream_get_by_id(uint32_t id);
> 
> +#ifdef __cplusplus
> +}
>  #endif
> +
> +#endif
> diff --git a/osaf/services/saf/logsv/lgs/lgs_util.c
> b/osaf/services/saf/logsv/lgs/lgs_util.cc
> rename from osaf/services/saf/logsv/lgs/lgs_util.c
> rename to osaf/services/saf/logsv/lgs/lgs_util.cc
> --- a/osaf/services/saf/logsv/lgs/lgs_util.c
> +++ b/osaf/services/saf/logsv/lgs/lgs_util.cc
> @@ -62,10 +62,14 @@ int lgs_create_config_file_h(const char
>       size_t params_in_size;
>       char *logFileFormat_p;
>       char *pathname_p;
> -
> +
>       int rc;
> -     int path_len, n;
> +     int path_len;
> +     uint32_t n = 0;
>       char pathname[PATH_MAX];
> +     size_t logFileFormat_size = 0;
> +     size_t pathname_size = 0;
> +
> 
>       TRACE_ENTER();
> 
> @@ -116,11 +120,11 @@ int lgs_create_config_file_h(const char
>       params_in = malloc(params_in_size);
> 
>       /* Set pointers to allocated memory */
> -     header_in_p = params_in;
> -     logFileFormat_p = params_in + sizeof(ccfh_t);
> -     size_t logFileFormat_size = params_in_size - sizeof(ccfh_t);
> +     header_in_p = (ccfh_t *) params_in;
> +     logFileFormat_p = (char *) params_in + sizeof(ccfh_t);
> +     logFileFormat_size = params_in_size - sizeof(ccfh_t);
>       pathname_p = logFileFormat_p + strlen(stream-
> >logFileFormat) + 1;
> -     size_t pathname_size = logFileFormat_size - (strlen(stream-
> >logFileFormat) + 1);
> +     pathname_size = logFileFormat_size - (strlen(stream-
> >logFileFormat) + 1);
> 
>       /* Fill in in parameters */
>       header_in_p->version.releaseCode = lgs_cb-
> >log_version.releaseCode;
> @@ -269,7 +273,9 @@ int lgs_file_rename_h(
>       char *oldpath_in_p;
>       char *newpath_in_p;
>       size_t *oldpath_str_size_p;
> -
> +     size_t oldpath_size = 0;
> +     size_t newpath_size = 0;
> +
>       TRACE_ENTER();
> 
>       n = snprintf(oldpath, PATH_MAX, "%s/%s/%s%s",
> @@ -301,15 +307,15 @@ int lgs_file_rename_h(
>       TRACE_4("              to %s", newpath);
> 
>       /* Allocate memory for parameters */
> -     size_t oldpath_size = strlen(oldpath)+1;
> -     size_t newpath_size = strlen(newpath)+1;
> +     oldpath_size = strlen(oldpath) + 1;
> +     newpath_size = strlen(newpath) + 1;
>       params_in_size = sizeof(size_t) + oldpath_size +
> newpath_size;
> 
>       params_in_p = malloc(params_in_size);
> 
>       /* Fill in pointer addresses */
> -     oldpath_str_size_p = params_in_p;
> -     oldpath_in_p = params_in_p + sizeof(size_t);
> +     oldpath_str_size_p = (size_t *) params_in_p;
> +     oldpath_in_p = (char *) params_in_p + sizeof(size_t);
>       newpath_in_p = oldpath_in_p + oldpath_size;
> 
>       /* Fill in parameters */
> @@ -407,7 +413,7 @@ void lgs_send_write_log_ack(uint32_t cli
> 
>       rc = ncsmds_api(&mds_info);
>       if (rc != NCSCC_RC_SUCCESS)
> -             LOG_NO("Send of WRITE ack to %"PRIu64"x
> FAILED: %u", mds_dest, rc);
> +             LOG_NO("Failed (%u) to send of WRITE ack to:
> %" PRIu64, rc, mds_dest);
> 
>       TRACE_LEAVE();
>  }
> @@ -615,6 +621,9 @@ int lgs_own_log_files_h(log_stream_t *st
> 
>       TRACE_ENTER2("stream %s",stream->name);
> 
> +     /* Set in parameter dir_path */
> +     const char *logsv_root_dir = (const char *)
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> +
>       /* Set in parameter file_name */
>       n = snprintf(data_in->file_name, SA_MAX_NAME_LENGTH,
> "%s", stream->fileName);
>       if (n >= SA_MAX_NAME_LENGTH) {
> @@ -623,9 +632,6 @@ int lgs_own_log_files_h(log_stream_t *st
>               goto done;
>       }
> 
> -     /* Set in parameter dir_path */
> -     const char *logsv_root_dir =
> lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY);
> -
>       n = snprintf(data_in->dir_path, PATH_MAX, "%s/%s",
>               logsv_root_dir, stream->pathName);
>       if (n >= PATH_MAX) {
> diff --git a/osaf/services/saf/logsv/lgs/lgs_util.h
> b/osaf/services/saf/logsv/lgs/lgs_util.h
> --- a/osaf/services/saf/logsv/lgs/lgs_util.h
> +++ b/osaf/services/saf/logsv/lgs/lgs_util.h
> @@ -29,6 +29,10 @@
>  #include "lgs_stream.h"
>  #include "lgs_evt.h"
> 
> +#ifdef       __cplusplus
> +extern "C" {
> +#endif
> +
>  /*
> ==========================================================
> ==============
>   *   DEFINITIONS
>   *
> ==========================================================
> ==============
> @@ -68,4 +72,9 @@ extern int lgs_check_path_exists_h(const
>  extern gid_t lgs_get_data_gid(char *groupname);
>  extern int lgs_own_log_files_h(log_stream_t *stream, const char
> *groupname);
>  extern bool lgs_has_special_char(const char *str);
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
>  #endif   /* ifndef __LGS_UTIL_H */


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to