[lttng-dev] Unable to include files in tracepoint provider header files

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue Apr 28 14:27:08 EDT 2015


----- Original Message -----

> Hello,

> In the example (hello) provided, I tried to print complex data types instead
> of usual ints or floats. My header file looks like this.

> #undef TRACEPOINT_PROVIDER
> #define TRACEPOINT_PROVIDER hello_world

> #undef TRACEPOINT_INCLUDE
> #define TRACEPOINT_INCLUDE "./hello-tp.h"

> #if !defined(HELLO_TP_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
> #define HELLO_TP_H

> #include <lttng/tracepoint.h>

> #include "myinc.h"

> TRACEPOINT_EVENT(
> hello_world,
> my_first_tracepoint,
> TP_ARGS(
> const char*, my_string_arg
> ),
> TP_FIELDS(
> ctf_integer(int, my_string_field, atoi(my_string_arg))
> )
> )

> My include file looks like this (myinc.h)
> typedef unsigned char uuid_t;

> However, when I try to compile it using, lttng-gen-tp, I am getting the
> following error.

> root at mvm236:~/heelo_prog# lttng-gen-tp hello-tp.tp
> In file included from ././hello-tp.h:13:0,
> from /usr/include/lttng/ust-tracepoint-event.h:740,
> from /usr/include/lttng/tracepoint-event.h:58,
> from hello-tp.h:56,
> from hello-tp.c:7:
> ././myinc.h:1:1: error: expected expression before ‘typedef’

> Whatever I try to include, I am getting this error.

> Can you please help.

Try adding include guards around your header myinc.h, e.g.: 

#ifndef _MYINC_H 
#define _MYINC_H 
typedef unsigned char uuid_t; 
#endif 

It will ensure the header content does not get included multiple 
times by ust-tracepoint-event.h. 

Thanks, 

Mathieu 

> -- Chid

> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers 
EfficiOS Inc. 
http://www.efficios.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lttng.org/pipermail/lttng-dev/attachments/20150428/4efcb353/attachment.html>


More information about the lttng-dev mailing list