summaryrefslogtreecommitdiff
path: root/src/daemon/dlt_daemon_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/daemon/dlt_daemon_common.c')
-rw-r--r--src/daemon/dlt_daemon_common.c636
1 files changed, 311 insertions, 325 deletions
diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
index af97b16..5353830 100644
--- a/src/daemon/dlt_daemon_common.c
+++ b/src/daemon/dlt_daemon_common.c
@@ -94,6 +94,9 @@ sem_t dlt_daemon_mutex;
static int dlt_daemon_cmp_apid(const void *m1, const void *m2)
{
+ if(m1 == NULL || m2 == NULL)
+ return -1;
+
DltDaemonApplication *mi1 = (DltDaemonApplication *) m1;
DltDaemonApplication *mi2 = (DltDaemonApplication *) m2;
@@ -102,6 +105,8 @@ static int dlt_daemon_cmp_apid(const void *m1, const void *m2)
static int dlt_daemon_cmp_apid_ctid(const void *m1, const void *m2)
{
+ if(m1 == NULL || m2 == NULL)
+ return -1;
int ret, cmp;
DltDaemonContext *mi1 = (DltDaemonContext *) m1;
@@ -124,21 +129,19 @@ static int dlt_daemon_cmp_apid_ctid(const void *m1, const void *m2)
return ret;
}
-int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory, int verbose)
+int dlt_daemon_init(DltDaemon *daemon, unsigned long RingbufferMinSize, unsigned long RingbufferMaxSize, unsigned long RingbufferStepSize, const char *runtime_directory, int verbose)
{
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL || runtime_directory == NULL)
return -1;
- }
int append_length = 0;
daemon->num_contexts = 0;
- daemon->contexts = 0;
+ daemon->contexts = NULL;
daemon->num_applications = 0;
- daemon->applications = 0;
+ daemon->applications = NULL;
daemon->default_log_level = DLT_DAEMON_INITIAL_LOG_LEVEL ;
daemon->default_trace_status = DLT_DAEMON_INITIAL_TRACE_STATUS ;
@@ -163,7 +166,7 @@ int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned l
}
else
{
- strncpy(daemon->runtime_application_cfg,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
+ strncpy(daemon->runtime_application_cfg,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
daemon->runtime_application_cfg[append_length]=0;
}
strcat(daemon->runtime_application_cfg,DLT_RUNTIME_APPLICATION_CFG); /* strcat uncritical here, because max length already checked */
@@ -176,7 +179,7 @@ int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned l
}
else
{
- strncpy(daemon->runtime_context_cfg,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
+ strncpy(daemon->runtime_context_cfg,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
daemon->runtime_context_cfg[append_length]=0;
}
strcat(daemon->runtime_context_cfg,DLT_RUNTIME_CONTEXT_CFG); /* strcat uncritical here, because max length already checked */
@@ -189,7 +192,7 @@ int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned l
}
else
{
- strncpy(daemon->runtime_configuration,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
+ strncpy(daemon->runtime_configuration,DLT_RUNTIME_DEFAULT_DIRECTORY,append_length);
daemon->runtime_configuration[append_length]=0;
}
strcat(daemon->runtime_configuration,DLT_RUNTIME_CONFIGURATION); /* strcat uncritical here, because max length already checked */
@@ -212,114 +215,104 @@ int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned l
/* initialize ring buffer for client connection */
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Ringbuffer configuration: %lu/%lu/%lu\n", RingbufferMinSize,RingbufferMaxSize,RingbufferStepSize );
dlt_log(LOG_INFO, str);
- if (dlt_buffer_init_dynamic(&(daemon->client_ringbuffer), RingbufferMinSize,RingbufferMaxSize,RingbufferStepSize)==-1)
+ if (dlt_buffer_init_dynamic(&(daemon->client_ringbuffer), RingbufferMinSize,RingbufferMaxSize,RingbufferStepSize) == DLT_RETURN_ERROR)
{
- return -1;
+ return -1;
}
daemon->storage_handle = NULL;
return 0;
}
-int dlt_daemon_free(DltDaemon *daemon,int verbose)
+int dlt_daemon_free(DltDaemon *daemon, int verbose)
{
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL)
return -1;
- }
/* Free contexts */
if (dlt_daemon_contexts_clear(daemon, verbose)==-1)
- {
- return -1;
- }
+ return -1;
/* Free applications */
if (dlt_daemon_applications_clear(daemon, verbose)==-1)
- {
- return -1;
- }
+ return -1;
- /* free ringbuffer */
- dlt_buffer_free_dynamic(&(daemon->client_ringbuffer));
+ /* free ringbuffer */
+ dlt_buffer_free_dynamic(&(daemon->client_ringbuffer));
return 0;
}
-int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon,int fd,int verbose)
+int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon, int fd, int verbose)
{
int i;
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL)
return -1;
- }
for (i=0; i<daemon->num_applications; i++)
{
if (daemon->applications[i].user_handle==fd)
{
- daemon->applications[i].user_handle = DLT_FD_INIT;
+ daemon->applications[i].user_handle = DLT_FD_INIT;
}
}
return 0;
}
-int dlt_daemon_applications_clear(DltDaemon *daemon,int verbose)
+int dlt_daemon_applications_clear(DltDaemon *daemon, int verbose)
{
int i;
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL)
return -1;
- }
for (i=0; i<daemon->num_applications; i++)
{
- if (daemon->applications[i].application_description!=0)
+ if (daemon->applications[i].application_description != NULL)
{
free(daemon->applications[i].application_description);
- daemon->applications[i].application_description = 0;
+ daemon->applications[i].application_description = NULL;
}
}
- if (daemon->applications)
+ if (daemon->applications != NULL)
{
free(daemon->applications);
}
- daemon->applications = 0;
+ daemon->applications = NULL;
daemon->num_applications = 0;
return 0;
}
-DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pid_t pid,char *description, int verbose)
+DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon, char *apid, pid_t pid, char *description, int verbose)
{
DltDaemonApplication *application;
- DltDaemonApplication *old;
+ DltDaemonApplication *old;
int new_application;
int dlt_user_handle;
- char filename[DLT_DAEMON_COMMON_TEXTBUFSIZE];
+ char filename[DLT_DAEMON_COMMON_TEXTBUFSIZE];
- if ((daemon==0) || (apid==0) || (apid[0]=='\0'))
+ if ((daemon == NULL) || (apid == NULL) || (apid[0]=='\0'))
{
- return (DltDaemonApplication*) 0;
+ return (DltDaemonApplication*) NULL;
}
- if (daemon->applications == 0)
+ if (daemon->applications == NULL)
{
daemon->applications = (DltDaemonApplication*) malloc(sizeof(DltDaemonApplication)*DLT_DAEMON_APPL_ALLOC_SIZE);
- if (daemon->applications==0)
+ if (daemon->applications == NULL)
{
- return (DltDaemonApplication*) 0;
+ return (DltDaemonApplication*) NULL;
}
}
@@ -327,7 +320,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
/* Check if application [apid] is already available */
application = dlt_daemon_application_find(daemon, apid, verbose);
- if (application==0)
+ if (application == NULL)
{
daemon->num_applications += 1;
@@ -339,12 +332,12 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
old = daemon->applications;
daemon->applications = (DltDaemonApplication*) malloc(sizeof(DltDaemonApplication)*
((daemon->num_applications/DLT_DAEMON_APPL_ALLOC_SIZE)+1)*DLT_DAEMON_APPL_ALLOC_SIZE);
- if (daemon->applications==0)
- {
- daemon->applications = old;
- daemon->num_applications -= 1;
- return (DltDaemonApplication*) 0;
- }
+ if (daemon->applications == NULL)
+ {
+ daemon->applications = old;
+ daemon->num_applications -= 1;
+ return (DltDaemonApplication*) NULL;
+ }
memcpy(daemon->applications,old,sizeof(DltDaemonApplication)*daemon->num_applications);
free(old);
}
@@ -354,7 +347,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
dlt_set_id(application->apid,apid);
application->pid = 0;
- application->application_description = 0;
+ application->application_description = NULL;
application->num_contexts = 0;
application->user_handle = DLT_FD_INIT;
@@ -362,8 +355,8 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
} else if (pid != application->pid) {
- snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "Duplicate registration of ApplicationID: '%.4s'; registering from PID %d, existing from PID %d\n",apid, pid, application->pid);
- dlt_log(LOG_WARNING, str);
+ snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "Duplicate registration of ApplicationID: '%.4s'; registering from PID %d, existing from PID %d\n",apid, pid, application->pid);
+ dlt_log(LOG_WARNING, str);
}
@@ -371,10 +364,10 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if (application->application_description)
{
free(application->application_description);
- application->application_description=0;
+ application->application_description = NULL;
}
- if (description)
+ if (description != NULL)
{
application->application_description = malloc(strlen(description)+1);
if (application->application_description)
@@ -386,7 +379,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
if( application->user_handle != DLT_FD_INIT )
{
- if( application->pid != pid )
+ if( application->pid != pid )
{
if ( close(application->user_handle) < 0 )
{
@@ -400,7 +393,7 @@ DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pi
}
/* open user pipe only if it is not yet opened */
- if (application->user_handle==DLT_FD_INIT && pid!=0)
+ if (application->user_handle == DLT_FD_INIT && pid != 0)
{
snprintf(filename,DLT_DAEMON_COMMON_TEXTBUFSIZE,"%s/dltpipes/dlt%d",dltFifoBaseDir,pid);
@@ -438,25 +431,25 @@ int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *applicat
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (application==0))
+ if ((daemon == NULL) || (application == NULL))
{
return -1;
}
- if (daemon->num_applications>0)
+ if (daemon->num_applications > 0)
{
/* Check if user handle is open; if yes, close it */
if (application->user_handle >= DLT_FD_MINIMUM)
{
close(application->user_handle);
- application->user_handle=DLT_FD_INIT;
+ application->user_handle = DLT_FD_INIT;
}
/* Free description of application to be deleted */
if (application->application_description)
{
free(application->application_description);
- application->application_description = 0;
+ application->application_description = NULL;
}
pos = application-(daemon->applications);
@@ -465,7 +458,7 @@ int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *applicat
memmove(&(daemon->applications[pos]),&(daemon->applications[pos+1]), sizeof(DltDaemonApplication)*((daemon->num_applications-1)-pos));
/* Clear last application */
- memset(&(daemon->applications[daemon->num_applications-1]),0,sizeof(DltDaemonApplication));
+ memset(&(daemon->applications[daemon->num_applications-1]), 0, sizeof(DltDaemonApplication));
daemon->num_applications--;
@@ -474,29 +467,29 @@ int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *applicat
return 0;
}
-DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon,char *apid,int verbose)
+DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon, char *apid, int verbose)
{
DltDaemonApplication application;
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (apid==0) || (apid[0]=='\0') || (daemon->num_applications==0))
+ if ((daemon == NULL) || (apid == NULL) || (apid[0]=='\0') || (daemon->num_applications==0))
{
- return (DltDaemonApplication*) 0;
+ return (DltDaemonApplication*) NULL;
}
/* Check, if apid is smaller than smallest apid or greater than greatest apid */
- if ((memcmp(apid,daemon->applications[0].apid,DLT_ID_SIZE)<0) ||
- (memcmp(apid,daemon->applications[daemon->num_applications-1].apid,DLT_ID_SIZE)>0))
+ if ((memcmp(apid,daemon->applications[0].apid, DLT_ID_SIZE) < 0) ||
+ (memcmp(apid,daemon->applications[daemon->num_applications-1].apid, DLT_ID_SIZE) > 0))
{
- return (DltDaemonApplication*) 0;
+ return (DltDaemonApplication*) NULL;
}
- dlt_set_id(application.apid,apid);
- return (DltDaemonApplication*)bsearch(&application,daemon->applications,daemon->num_applications,sizeof(DltDaemonApplication),dlt_daemon_cmp_apid);
+ dlt_set_id(application.apid, apid);
+ return (DltDaemonApplication*)bsearch(&application, daemon->applications, daemon->num_applications, sizeof(DltDaemonApplication), dlt_daemon_cmp_apid);
}
-int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int verbose)
+int dlt_daemon_applications_load(DltDaemon *daemon, const char *filename, int verbose)
{
FILE *fd;
ID4 apid;
@@ -506,14 +499,12 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) || (filename[0]=='\0'))
- {
+ if ((daemon == NULL) || (filename == NULL) || (filename[0]=='\0'))
return -1;
- }
fd=fopen(filename, "r");
- if (fd==0)
+ if (fd == NULL)
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "DLT runtime-application load, cannot open file %s: %s\n", filename, strerror(errno));
dlt_log(LOG_WARNING, str);
@@ -553,25 +544,25 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
}
}
- if (strcmp(buf,"")!=0)
+ if (strcmp(buf,"") != 0)
{
/* Split line */
pb=strtok(buf,":");
- if( pb != 0 )
+ if(pb != NULL)
{
- dlt_set_id(apid,pb);
- pb=strtok(NULL,":");
- if( pb != 0 )
- {
- /* pb contains now the description */
- /* pid is unknown at loading time */
- if (dlt_daemon_application_add(daemon,apid,0,pb,verbose)==0)
- {
- dlt_log(LOG_WARNING, "dlt_daemon_applications_load dlt_daemon_application_add failed\n");
- fclose(fd);
- return -1;
- }
- }
+ dlt_set_id(apid,pb);
+ pb=strtok(NULL,":");
+ if(pb != NULL)
+ {
+ /* pb contains now the description */
+ /* pid is unknown at loading time */
+ if (dlt_daemon_application_add(daemon, apid, 0, pb, verbose) == 0)
+ {
+ dlt_log(LOG_WARNING, "dlt_daemon_applications_load dlt_daemon_application_add failed\n");
+ fclose(fd);
+ return -1;
+ }
+ }
}
}
}
@@ -580,7 +571,7 @@ int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int ver
return 0;
}
-int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int verbose)
+int dlt_daemon_applications_save(DltDaemon *daemon, const char *filename, int verbose)
{
FILE *fd;
int i;
@@ -589,17 +580,15 @@ int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int ver
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) || (filename[0]=='\0'))
- {
+ if ((daemon == NULL) || (filename == NULL) || (filename[0]=='\0'))
return -1;
- }
- memset(apid,0, sizeof(apid));
+ memset(apid, 0, sizeof(apid));
- if ((daemon->applications) && (daemon->num_applications>0))
+ if ((daemon->applications != NULL) && (daemon->num_applications > 0))
{
fd=fopen(filename, "w");
- if (fd!=0)
+ if (fd != NULL)
{
for (i=0; i<daemon->num_applications; i++)
{
@@ -622,7 +611,7 @@ int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int ver
return 0;
}
-DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid,int8_t log_level,int8_t trace_status,int log_level_pos, int user_handle,char *description,int verbose)
+DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon, char *apid, char *ctid,int8_t log_level, int8_t trace_status, int log_level_pos, int user_handle, char *description, int verbose)
{
DltDaemonApplication *application;
DltDaemonContext *context;
@@ -631,40 +620,40 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (apid==0) || (apid[0]=='\0') || (ctid==0) || (ctid[0]=='\0'))
+ if ((daemon == NULL) || (apid == NULL) || (apid[0]=='\0') || (ctid == NULL) || (ctid[0]=='\0'))
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
if ((log_level<DLT_LOG_DEFAULT) || (log_level>DLT_LOG_VERBOSE))
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
if ((trace_status<DLT_TRACE_STATUS_DEFAULT) || (trace_status>DLT_TRACE_STATUS_ON))
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
- if (daemon->contexts == 0)
+ if (daemon->contexts == NULL)
{
daemon->contexts = (DltDaemonContext*) malloc(sizeof(DltDaemonContext)*DLT_DAEMON_CONTEXT_ALLOC_SIZE);
- if (daemon->contexts==0)
+ if (daemon->contexts == NULL)
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
}
/* Check if application [apid] is available */
application = dlt_daemon_application_find(daemon, apid, verbose);
- if (application==0)
+ if (application == NULL)
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
/* Check if context [apid, ctid] is already available */
context = dlt_daemon_context_find(daemon, apid, ctid, verbose);
- if (context==0)
+ if (context == NULL)
{
daemon->num_contexts += 1;
@@ -676,12 +665,12 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
old = daemon->contexts;
daemon->contexts = (DltDaemonContext*) malloc(sizeof(DltDaemonContext)*
((daemon->num_contexts/DLT_DAEMON_CONTEXT_ALLOC_SIZE)+1)*DLT_DAEMON_CONTEXT_ALLOC_SIZE);
- if (daemon->contexts==0)
- {
- daemon->contexts = old;
- daemon->num_contexts -= 1;
- return (DltDaemonContext*) 0;
- }
+ if (daemon->contexts == NULL)
+ {
+ daemon->contexts = old;
+ daemon->num_contexts -= 1;
+ return (DltDaemonContext*) NULL;
+ }
memcpy(daemon->contexts,old,sizeof(DltDaemonContext)*daemon->num_contexts);
free(old);
}
@@ -691,7 +680,7 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
dlt_set_id(context->apid,apid);
dlt_set_id(context->ctid,ctid);
- context->context_description = 0;
+ context->context_description = NULL;
application->num_contexts++;
new_context =1;
@@ -701,10 +690,10 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
if (context->context_description)
{
free(context->context_description);
- context->context_description=0;
+ context->context_description = NULL;
}
- if (description)
+ if (description != NULL)
{
context->context_description = malloc(strlen(description)+1);
@@ -719,8 +708,8 @@ DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid
if this is a new context, or
if this is an old context and the runtime cfg was not loaded */
- if ((new_context==1) ||
- ((new_context==0) && (daemon->runtime_context_cfg_loaded==0)))
+ if ((new_context == 1) ||
+ ((new_context == 0) && (daemon->runtime_context_cfg_loaded == 0)))
{
context->log_level = log_level;
context->trace_status = trace_status;
@@ -748,10 +737,8 @@ int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int ver
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (context==0))
- {
+ if ((daemon == NULL) || (context == NULL))
return -1;
- }
if (daemon->num_contexts>0)
{
@@ -761,21 +748,21 @@ int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int ver
if (context->context_description)
{
free(context->context_description);
- context->context_description = 0;
+ context->context_description = NULL;
}
pos = context-(daemon->contexts);
/* move all contexts above pos to pos */
- memmove(&(daemon->contexts[pos]),&(daemon->contexts[pos+1]), sizeof(DltDaemonContext)*((daemon->num_contexts-1)-pos));
+ memmove(&(daemon->contexts[pos]), &(daemon->contexts[pos+1]), sizeof(DltDaemonContext)*((daemon->num_contexts-1)-pos));
/* Clear last context */
- memset(&(daemon->contexts[daemon->num_contexts-1]),0,sizeof(DltDaemonContext));
+ memset(&(daemon->contexts[daemon->num_contexts-1]), 0, sizeof(DltDaemonContext));
daemon->num_contexts--;
/* Check if application [apid] is available */
- if (application)
+ if (application != NULL)
{
application->num_contexts--;
}
@@ -784,22 +771,22 @@ int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int ver
return 0;
}
-DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *ctid,int verbose)
+DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon, char *apid, char *ctid, int verbose)
{
DltDaemonContext context;
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (apid==0) || (apid[0]=='\0') || (ctid==0) || (ctid[0]=='\0') || (daemon->num_contexts==0))
+ if ((daemon == NULL) || (apid == NULL) || (apid[0]=='\0') || (ctid == NULL) || (ctid[0]=='\0') || (daemon->num_contexts==0))
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
/* Check, if apid is smaller than smallest apid or greater than greatest apid */
if ((memcmp(apid,daemon->contexts[0].apid,DLT_ID_SIZE)<0) ||
(memcmp(apid,daemon->contexts[daemon->num_contexts-1].apid,DLT_ID_SIZE)>0))
{
- return (DltDaemonContext*) 0;
+ return (DltDaemonContext*) NULL;
}
dlt_set_id(context.apid,apid);
@@ -808,45 +795,41 @@ DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *cti
return (DltDaemonContext*)bsearch(&context,daemon->contexts,daemon->num_contexts,sizeof(DltDaemonContext),dlt_daemon_cmp_apid_ctid);
}
-int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon,int fd,int verbose)
+int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon, int fd, int verbose)
{
int i;
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL)
return -1;
- }
for (i=0; i<daemon->num_contexts; i++)
{
- if (daemon->contexts[i].user_handle==fd)
+ if (daemon->contexts[i].user_handle == fd)
{
- daemon->contexts[i].user_handle = DLT_FD_INIT;
+ daemon->contexts[i].user_handle = DLT_FD_INIT;
}
}
return 0;
}
-int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose)
+int dlt_daemon_contexts_clear(DltDaemon *daemon, int verbose)
{
int i;
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
- {
+ if (daemon == NULL)
return -1;
- }
for (i=0; i<daemon->num_contexts; i++)
{
- if (daemon->contexts[i].context_description!=0)
+ if (daemon->contexts[i].context_description != NULL)
{
free(daemon->contexts[i].context_description);
- daemon->contexts[i].context_description = 0;
+ daemon->contexts[i].context_description = NULL;
}
}
@@ -855,7 +838,7 @@ int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose)
free(daemon->contexts);
}
- daemon->contexts = 0;
+ daemon->contexts = NULL;
for (i=0; i<daemon->num_applications; i++)
{
@@ -867,7 +850,7 @@ int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose)
return 0;
}
-int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose)
+int dlt_daemon_contexts_load(DltDaemon *daemon, const char *filename, int verbose)
{
FILE *fd;
ID4 apid, ctid;
@@ -878,14 +861,12 @@ int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) ||( filename[0]=='\0'))
- {
+ if ((daemon == NULL) || (filename == NULL) ||( filename[0]=='\0'))
return -1;
- }
fd=fopen(filename, "r");
- if (fd==0)
+ if (fd == NULL)
{
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE, "DLT runtime-context load, cannot open file %s: %s\n", filename, strerror(errno));
dlt_log(LOG_WARNING, str);
@@ -929,37 +910,37 @@ int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose
{
/* Split line */
pb=strtok(buf,":");
- if(pb!=0)
+ if(pb != NULL)
{
- dlt_set_id(apid,pb);
- pb=strtok(NULL,":");
- if(pb!=0)
- {
- dlt_set_id(ctid,pb);
- pb=strtok(NULL,":");
- if(pb!=0)
- {
- sscanf(pb,"%d",&ll);
- pb=strtok(NULL,":");
- if(pb!=0)
- {
- sscanf(pb,"%d",&ts);
- pb=strtok(NULL,":");
- if(pb!=0)
- {
- /* pb contains now the description */
-
- /* log_level_pos, and user_handle are unknown at loading time */
- if (dlt_daemon_context_add(daemon,apid,ctid,(int8_t)ll,(int8_t)ts,0,0,pb,verbose)==0)
- {
- dlt_log(LOG_WARNING, "dlt_daemon_contexts_load dlt_daemon_context_add failed\n");
- fclose(fd);
- return -1;
- }
- }
- }
- }
- }
+ dlt_set_id(apid,pb);
+ pb=strtok(NULL,":");
+ if(pb != NULL)
+ {
+ dlt_set_id(ctid,pb);
+ pb=strtok(NULL,":");
+ if(pb != NULL)
+ {
+ sscanf(pb,"%d",&ll);
+ pb=strtok(NULL,":");
+ if(pb != NULL)
+ {
+ sscanf(pb,"%d",&ts);
+ pb=strtok(NULL,":");
+ if(pb != NULL)
+ {
+ /* pb contains now the description */
+
+ /* log_level_pos, and user_handle are unknown at loading time */
+ if (dlt_daemon_context_add(daemon, apid, ctid, (int8_t)ll, (int8_t)ts, 0, 0, pb, verbose) == NULL)
+ {
+ dlt_log(LOG_WARNING, "dlt_daemon_contexts_load dlt_daemon_context_add failed\n");
+ fclose(fd);
+ return -1;
+ }
+ }
+ }
+ }
+ }
}
}
}
@@ -977,18 +958,16 @@ int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) ||( filename[0]=='\0'))
- {
+ if ((daemon == NULL) || (filename == NULL) || (filename[0]=='\0'))
return -1;
- }
- memset(apid,0, sizeof(apid));
- memset(ctid,0, sizeof(ctid));
+ memset(apid, 0, sizeof(apid));
+ memset(ctid, 0, sizeof(ctid));
- if ((daemon->contexts) && (daemon->num_contexts>0))
+ if ((daemon->contexts) && (daemon->num_contexts > 0))
{
fd=fopen(filename, "w");
- if (fd!=0)
+ if (fd != NULL)
{
for (i=0; i<daemon->num_contexts; i++)
{
@@ -1017,105 +996,106 @@ int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose
return 0;
}
-int dlt_daemon_configuration_save(DltDaemon *daemon,const char *filename, int verbose)
+int dlt_daemon_configuration_save(DltDaemon *daemon, const char *filename, int verbose)
{
FILE *fd;
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) ||( filename[0]=='\0'))
- {
+ if ((daemon == NULL) || (filename == NULL) || (filename[0] == '\0'))
return -1;
- }
- fd=fopen(filename, "w");
- if (fd!=0)
- {
- fprintf(fd,"# 0 = off, 1 = external, 2 = internal, 3 = both\n");
- fprintf(fd,"LoggingMode = %d\n",daemon->mode);
+ fd=fopen(filename, "w");
+ if (fd != NULL)
+ {
+ fprintf(fd,"# 0 = off, 1 = external, 2 = internal, 3 = both\n");
+ fprintf(fd,"LoggingMode = %d\n",daemon->mode);
- fclose(fd);
- }
+ fclose(fd);
+ }
return 0;
}
-int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int verbose)
+int dlt_daemon_configuration_load(DltDaemon *daemon, const char *filename, int verbose)
{
- FILE * pFile;
- char line[1024];
- char token[1024];
- char value[1024];
+ if(daemon == NULL || filename == NULL)
+ return -1;
+
+ FILE * pFile;
+ char line[1024];
+ char token[1024];
+ char value[1024];
char *pch;
PRINT_FUNCTION_VERBOSE(verbose);
- pFile = fopen (filename,"r");
-
- if (pFile!=NULL)
- {
- while(1)
- {
- /* fetch line from configuration file */
- if ( fgets (line , 1024 , pFile) != NULL )
- {
- pch = strtok (line," =\r\n");
- token[0]=0;
- value[0]=0;
-
- while (pch != NULL)
- {
- if(strcmp(pch,"#")==0)
- break;
-
- if(token[0]==0)
- {
- strncpy(token,pch,sizeof(token)-1);
- token[sizeof(token)-1]=0;
- }
- else
- {
- strncpy(value,pch,sizeof(value)-1);
- value[sizeof(value)-1]=0;
- break;
- }
-
- pch = strtok (NULL, " =\r\n");
- }
-
- if(token[0] && value[0])
- {
- /* parse arguments here */
- if(strcmp(token,"LoggingMode")==0)
- {
- daemon->mode = atoi(value);
- snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Runtime Option: %s=%d\n",token,daemon->mode);
- dlt_log(LOG_INFO, str);
- }
- else
- {
- snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Unknown option: %s=%s\n",token,value);
- dlt_log(LOG_WARNING, str);
- }
- }
- }
- else
- {
- break;
- }
- }
- fclose (pFile);
- }
- else
- {
+ pFile = fopen (filename,"r");
+
+ if (pFile != NULL)
+ {
+ while(1)
+ {
+ /* fetch line from configuration file */
+ if ( fgets (line , 1024 , pFile) != NULL )
+ {
+ pch = strtok (line," =\r\n");
+ token[0]=0;
+ value[0]=0;
+
+ while (pch != NULL)
+ {
+ if(strcmp(pch,"#")==0)
+ break;
+
+ if(token[0]==0)
+ {
+ strncpy(token,pch,sizeof(token)-1);
+ token[sizeof(token)-1]=0;
+ }
+ else
+ {
+ strncpy(value,pch,sizeof(value)-1);
+ value[sizeof(value)-1]=0;
+ break;
+ }
+
+ pch = strtok (NULL, " =\r\n");
+ }
+
+ if(token[0] && value[0])
+ {
+ /* parse arguments here */
+ if(strcmp(token, "LoggingMode") == 0)
+ {
+ daemon->mode = atoi(value);
+ snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Runtime Option: %s=%d\n",token,daemon->mode);
+ dlt_log(LOG_INFO, str);
+ }
+ else
+ {
+ snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Unknown option: %s=%s\n",token,value);
+ dlt_log(LOG_WARNING, str);
+ }
+ }
+ }
+ else
+ {
+ break;
+ }
+ }
+ fclose (pFile);
+ }
+ else
+ {
snprintf(str,DLT_DAEMON_COMMON_TEXTBUFSIZE,"Cannot open configuration file: %s\n",filename);
dlt_log(LOG_WARNING, str);
- }
+ }
return 0;
}
-int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context,int verbose)
+int dlt_daemon_user_send_log_level(DltDaemon *daemon, DltDaemonContext *context, int verbose)
{
DltUserHeader userheader;
DltUserControlMsgLogLevel usercontext;
@@ -1123,15 +1103,12 @@ int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context,i
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (context==0))
- {
+ if ((daemon == NULL) || (context == NULL))
+ return -1;
+
+ if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_LEVEL) < DLT_RETURN_OK)
return -1;
- }
- if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_LEVEL)==-1)
- {
- return -1;
- }
if(context->storage_log_level != DLT_LOG_DEFAULT)
{
usercontext.log_level = context->log_level > context->storage_log_level ? context->log_level:context->storage_log_level;
@@ -1146,9 +1123,11 @@ int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context,i
usercontext.log_level_pos = context->log_level_pos;
/* log to FIFO */
- ret = dlt_user_log_out2(context->user_handle, &(userheader), sizeof(DltUserHeader), &(usercontext), sizeof(DltUserControlMsgLogLevel));
+ ret = dlt_user_log_out2(context->user_handle,
+ &(userheader), sizeof(DltUserHeader),
+ &(usercontext), sizeof(DltUserControlMsgLogLevel));
- if (ret!=DLT_RETURN_OK)
+ if (ret < DLT_RETURN_OK)
{
if (errno==EPIPE)
{
@@ -1158,10 +1137,10 @@ int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context,i
}
}
- return ((ret==DLT_RETURN_OK)?0:-1);
+ return ((ret == DLT_RETURN_OK) ? DLT_RETURN_OK : DLT_RETURN_ERROR);
}
-int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,int verbose)
+int dlt_daemon_user_send_log_state(DltDaemon *daemon, DltDaemonApplication *app, int verbose)
{
DltUserHeader userheader;
DltUserControlMsgLogState logstate;
@@ -1169,22 +1148,20 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,i
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (app==0))
- {
+ if ((daemon == NULL) || (app == NULL))
return -1;
- }
- if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE)==-1)
- {
- return -1;
- }
+ if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
+ return -1;
logstate.log_state = daemon->connectionState;
/* log to FIFO */
- ret = dlt_user_log_out2(app->user_handle, &(userheader), sizeof(DltUserHeader), &(logstate), sizeof(DltUserControlMsgLogState));
+ ret = dlt_user_log_out2(app->user_handle,
+ &(userheader), sizeof(DltUserHeader),
+ &(logstate), sizeof(DltUserControlMsgLogState));
- if (ret!=DLT_RETURN_OK)
+ if (ret < DLT_RETURN_OK)
{
if (errno==EPIPE)
{
@@ -1194,24 +1171,31 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,i
}
}
- return ((ret==DLT_RETURN_OK)?0:-1);
+ return ((ret == DLT_RETURN_OK) ? DLT_RETURN_OK : DLT_RETURN_ERROR);
}
-void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *filename, const char *filename1, int verbose)
+void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon, const char *filename, const char *filename1, int verbose)
{
FILE *fd;
PRINT_FUNCTION_VERBOSE(verbose);
- if ((daemon==0) || (filename==0) || (filename1==0) || (filename[0]=='\0') || (filename1[0]=='\0'))
+ if ((daemon == NULL) || (filename == NULL) || (filename1 == NULL))
+ {
+ dlt_log(LOG_WARNING, "Wrong parameter: Null pointer\n");
+ return;
+ }
+
+ if ((filename[0] == '\0') || (filename1[0] == '\0'))
{
+ dlt_log(LOG_WARNING, "Wrong parameter: Empty string\n");
return;
}
/* Check for runtime cfg file and delete it, if available */
fd=fopen(filename, "r");
- if (fd!=0)
+ if (fd != NULL)
{
/* Close and delete file */
fclose(fd);
@@ -1220,7 +1204,7 @@ void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *f
fd=fopen(filename1, "r");
- if (fd!=0)
+ if (fd != NULL)
{
/* Close and delete file */
fclose(fd);
@@ -1231,7 +1215,7 @@ void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *f
daemon->default_trace_status = DLT_DAEMON_INITIAL_TRACE_STATUS ;
/* Reset all other things (log level, trace status, etc.
- to default values */
+ to default values */
/* Inform user libraries about changed default log level/trace status */
dlt_daemon_user_send_default_update(daemon, verbose);
@@ -1244,16 +1228,17 @@ void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose)
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
+ if (daemon == NULL)
{
+ dlt_log(LOG_WARNING, "Wrong parameter: Null pointer\n");
return;
}
- for (count=0;count<daemon->num_contexts; count ++)
+ for (count=0; count<daemon->num_contexts; count ++)
{
context = &(daemon->contexts[count]);
- if (context)
+ if (context != NULL)
{
if ((context->log_level == DLT_LOG_DEFAULT) ||
(context->trace_status == DLT_TRACE_STATUS_DEFAULT))
@@ -1262,7 +1247,7 @@ void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose)
{
if (dlt_daemon_user_send_log_level(daemon, context, verbose)==-1)
{
- return;
+ return;
}
}
}
@@ -1277,53 +1262,54 @@ void dlt_daemon_user_send_all_log_state(DltDaemon *daemon, int verbose)
PRINT_FUNCTION_VERBOSE(verbose);
- if (daemon==0)
+ if (daemon == NULL)
{
+ dlt_log(LOG_WARNING, "Wrong parameter: Null pointer\n");
return;
}
- for (count=0;count<daemon->num_applications; count ++)
+ for (count=0; count<daemon->num_applications; count ++)
{
app = &(daemon->applications[count]);
- if (app)
+ if (app != NULL)
{
- if (app->user_handle >= DLT_FD_MINIMUM)
- {
- if (dlt_daemon_user_send_log_state(daemon, app, verbose)==-1)
- {
- return;
- }
- }
+ if (app->user_handle >= DLT_FD_MINIMUM)
+ {
+ if (dlt_daemon_user_send_log_state(daemon, app, verbose)==-1)
+ {
+ return;
+ }
+ }
}
}
}
void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState)
{
- switch(newState)
- {
- case DLT_DAEMON_STATE_INIT:
- dlt_log(LOG_INFO,"Switched to init state.\n");
- daemon->state = DLT_DAEMON_STATE_INIT;
- break;
- case DLT_DAEMON_STATE_BUFFER:
- dlt_log(LOG_INFO,"Switched to buffer state for socket connections.\n");
- daemon->state = DLT_DAEMON_STATE_BUFFER;
- break;
- case DLT_DAEMON_STATE_BUFFER_FULL:
- dlt_log(LOG_INFO,"Switched to buffer full state.\n");
- daemon->state = DLT_DAEMON_STATE_BUFFER_FULL;
- break;
- case DLT_DAEMON_STATE_SEND_BUFFER:
- dlt_log(LOG_INFO,"Switched to send buffer state for socket connections.\n");
- daemon->state = DLT_DAEMON_STATE_SEND_BUFFER;
- break;
- case DLT_DAEMON_STATE_SEND_DIRECT:
- dlt_log(LOG_INFO,"Switched to send direct state.\n");
- daemon->state = DLT_DAEMON_STATE_SEND_DIRECT;
- break;
- }
+ switch(newState)
+ {
+ case DLT_DAEMON_STATE_INIT:
+ dlt_log(LOG_INFO,"Switched to init state.\n");
+ daemon->state = DLT_DAEMON_STATE_INIT;
+ break;
+ case DLT_DAEMON_STATE_BUFFER:
+ dlt_log(LOG_INFO,"Switched to buffer state for socket connections.\n");
+ daemon->state = DLT_DAEMON_STATE_BUFFER;
+ break;
+ case DLT_DAEMON_STATE_BUFFER_FULL:
+ dlt_log(LOG_INFO,"Switched to buffer full state.\n");
+ daemon->state = DLT_DAEMON_STATE_BUFFER_FULL;
+ break;
+ case DLT_DAEMON_STATE_SEND_BUFFER:
+ dlt_log(LOG_INFO,"Switched to send buffer state for socket connections.\n");
+ daemon->state = DLT_DAEMON_STATE_SEND_BUFFER;
+ break;
+ case DLT_DAEMON_STATE_SEND_DIRECT:
+ dlt_log(LOG_INFO,"Switched to send direct state.\n");
+ daemon->state = DLT_DAEMON_STATE_SEND_DIRECT;
+ break;
+ }
}