[ltt-dev] [BABELTRACE PATCH] Export the babeltrace API in babeltrace.h

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Aug 12 20:14:09 EDT 2011


* Julien Desfossez (julien.desfossez at polymtl.ca) wrote:
> Rename the previous babeltrace.h as babeltrace-internal.h

Merged after edit.

Thanks!

Mathieu

> 
> Signed-off-by: Julien Desfossez <julien.desfossez at polymtl.ca>
> ---
>  configure.ac                                       |    3 +
>  converter/babeltrace-api.h                         |   93 -----------------
>  converter/babeltrace-lib.c                         |    5 +-
>  converter/babeltrace-log.c                         |    2 +-
>  converter/babeltrace.c                             |    2 +-
>  formats/bt-dummy/bt-dummy.c                        |    2 +-
>  formats/ctf-text/ctf-text.c                        |    2 +-
>  formats/ctf/ctf.c                                  |    2 +-
>  formats/ctf/metadata/ctf-parser-test.c             |    2 +-
>  .../ctf/metadata/ctf-visitor-generate-io-struct.c  |    2 +-
>  formats/ctf/metadata/ctf-visitor-parent-links.c    |    2 +-
>  .../ctf/metadata/ctf-visitor-semantic-validator.c  |    2 +-
>  formats/ctf/metadata/ctf-visitor-xml.c             |    2 +-
>  formats/ctf/types/string.c                         |    2 +-
>  include/Makefile.am                                |    4 +-
>  include/babeltrace/babeltrace-internal.h           |   31 ++++++
>  include/babeltrace/babeltrace.h                    |  110 +++++++++++++++-----
>  include/babeltrace/ctf-text/types.h                |    2 +-
>  include/babeltrace/ctf/types.h                     |    2 +-
>  types/types.c                                      |    2 +-
>  20 files changed, 139 insertions(+), 135 deletions(-)
>  delete mode 100644 converter/babeltrace-api.h
>  create mode 100644 include/babeltrace/babeltrace-internal.h
> 
> diff --git a/configure.ac b/configure.ac
> index 7764b15..1ed70d7 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -48,6 +48,9 @@ LIBS="$LIBS $GMODULE_LIBS"
>  PACKAGE_CFLAGS="$GMODULE_CFLAGS -Wall -Wformat"
>  AC_SUBST(PACKAGE_CFLAGS)
>  
> +babeltraceincludedir="${includedir}"
> +AC_SUBST(babeltraceincludedir)
> +
>  AC_CONFIG_FILES([
>  	Makefile
>  	types/Makefile
> diff --git a/converter/babeltrace-api.h b/converter/babeltrace-api.h
> deleted file mode 100644
> index d16352a..0000000
> --- a/converter/babeltrace-api.h
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -#ifndef _BABELTRACE_LIB_H
> -#define _BABELTRACE_LIB_H
> -
> -/*
> - * BabelTrace API
> - *
> - * Copyright 2010-2011 - Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a copy
> - * of this software and associated documentation files (the "Software"), to deal
> - * in the Software without restriction, including without limitation the rights
> - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> - * copies of the Software, and to permit persons to whom the Software is
> - * furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be included in
> - * all copies or substantial portions of the Software.
> - */
> -
> -#include <babeltrace/types.h>
> -#include <babeltrace/format.h>
> -#include <babeltrace/ctf/types.h>
> -#include <babeltrace/ctf-ir/metadata.h>
> -
> -/*
> - * struct babeltrace_iter: data structure representing an iterator on a trace
> - * collection.
> - */
> -struct babeltrace_iter {
> -	struct ptr_heap *stream_heap;
> -	struct trace_collection *tc;
> -};
> -
> -struct babeltrace_iter_pos {
> -	GPtrArray *pos; /* struct babeltrace_iter_stream_pos */
> -};
> -
> -struct babeltrace_iter_stream_pos {
> -	struct stream_pos parent;
> -	ssize_t offset;
> -	size_t cur_index;
> -};
> -
> -/*
> - * Initialization/teardown.
> - */
> -struct babeltrace_iter *babeltrace_iter_create(struct trace_collection *tc);
> -void babeltrace_iter_destroy(struct babeltrace_iter *iter);
> -
> -/*
> - * Move within the trace.
> - */
> -/*
> - * babeltrace_iter_next: Move stream position to the next event.
> - *
> - * Returns 0 on success, a negative value on error
> - */
> -int babeltrace_iter_next(struct babeltrace_iter *iter);
> -
> -/* Get the current position for each stream of the trace */
> -struct babeltrace_iter_pos *
> -babeltrace_iter_get_pos(struct babeltrace_iter *iter);
> -
> -/* The position needs to be freed after use */
> -void babeltrace_iter_free_pos(struct babeltrace_iter_pos *pos);
> -
> -/* Seek the trace to the position */
> -int babeltrace_iter_seek_pos(struct babeltrace_iter *iter,
> -		struct babeltrace_iter_pos *pos);
> -
> -/*
> - * babeltrace_iter_seek_time: Seek the trace to the given timestamp.
> - *
> - * Return EOF if timestamp is after the last event of the trace.
> - * Return other negative value for other errors.
> - * Return 0 for success.
> - */
> -int babeltrace_iter_seek_time(struct babeltrace_iter *iter,
> -		uint64_t timestamp);
> -
> -/*
> - * babeltrace_iter_read_event: Read the current event data.
> - *
> - * @iter: trace iterator (input)
> - * @stream: stream containing event at current position (output)
> - * @event: current event (output)
> - * Return 0 on success, negative error value on error.
> - */
> -int babeltrace_iter_read_event(struct babeltrace_iter *iter,
> -		struct ctf_stream **stream,
> -		struct ctf_stream_event **event);
> -
> -#endif /* _BABELTRACE_LIB_H */
> diff --git a/converter/babeltrace-lib.c b/converter/babeltrace-lib.c
> index 656bae8..4f7d790 100644
> --- a/converter/babeltrace-lib.c
> +++ b/converter/babeltrace-lib.c
> @@ -22,14 +22,13 @@
>  #include <errno.h>
>  #include <stdio.h>
>  #include <inttypes.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/format.h>
>  #include <babeltrace/ctf/types.h>
>  #include <babeltrace/ctf/metadata.h>
>  #include <babeltrace/ctf-text/types.h>
>  #include <babeltrace/prio_heap.h>
> -
> -#include "babeltrace-api.h"
> +#include <babeltrace/babeltrace.h>
>  
>  static int stream_read_event(struct ctf_file_stream *sin)
>  {
> diff --git a/converter/babeltrace-log.c b/converter/babeltrace-log.c
> index 16f9a17..9ca2b47 100644
> --- a/converter/babeltrace-log.c
> +++ b/converter/babeltrace-log.c
> @@ -35,7 +35,7 @@
>  #include <string.h>
>  #include <endian.h>
>  
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/ctf/types.h>
>  
>  #define USEC_PER_SEC 1000000UL
> diff --git a/converter/babeltrace.c b/converter/babeltrace.c
> index ded493c..5c37242 100644
> --- a/converter/babeltrace.c
> +++ b/converter/babeltrace.c
> @@ -20,7 +20,7 @@
>  
>  #define _XOPEN_SOURCE 700
>  #include <config.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/format.h>
>  #include <popt.h>
>  #include <errno.h>
> diff --git a/formats/bt-dummy/bt-dummy.c b/formats/bt-dummy/bt-dummy.c
> index 221b51f..41cfb74 100644
> --- a/formats/bt-dummy/bt-dummy.c
> +++ b/formats/bt-dummy/bt-dummy.c
> @@ -18,7 +18,7 @@
>  
>  #include <babeltrace/ctf-text/types.h>
>  #include <babeltrace/format.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <inttypes.h>
>  #include <uuid/uuid.h>
>  #include <sys/mman.h>
> diff --git a/formats/ctf-text/ctf-text.c b/formats/ctf-text/ctf-text.c
> index ac35cfb..f1ddbaf 100644
> --- a/formats/ctf-text/ctf-text.c
> +++ b/formats/ctf-text/ctf-text.c
> @@ -21,7 +21,7 @@
>  #include <babeltrace/format.h>
>  #include <babeltrace/ctf-text/types.h>
>  #include <babeltrace/ctf/metadata.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <inttypes.h>
>  #include <uuid/uuid.h>
>  #include <sys/mman.h>
> diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c
> index b39b869..95a581f 100644
> --- a/formats/ctf/ctf.c
> +++ b/formats/ctf/ctf.c
> @@ -21,7 +21,7 @@
>  #include <babeltrace/format.h>
>  #include <babeltrace/ctf/types.h>
>  #include <babeltrace/ctf/metadata.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <inttypes.h>
>  #include <stdio.h>
>  #include <uuid/uuid.h>
> diff --git a/formats/ctf/metadata/ctf-parser-test.c b/formats/ctf/metadata/ctf-parser-test.c
> index 9d10251..e84dc12 100644
> --- a/formats/ctf/metadata/ctf-parser-test.c
> +++ b/formats/ctf/metadata/ctf-parser-test.c
> @@ -21,7 +21,7 @@
>  #include <glib.h>
>  #include <errno.h>
>  #include <endian.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/ctf/metadata.h>
>  #include "ctf-scanner.h"
>  #include "ctf-parser.h"
> diff --git a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c
> index 6fbc7c0..725235d 100644
> --- a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c
> +++ b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c
> @@ -25,7 +25,7 @@
>  #include <inttypes.h>
>  #include <endian.h>
>  #include <errno.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/list.h>
>  #include <babeltrace/types.h>
>  #include <babeltrace/ctf/metadata.h>
> diff --git a/formats/ctf/metadata/ctf-visitor-parent-links.c b/formats/ctf/metadata/ctf-visitor-parent-links.c
> index 0258fd6..3dea11a 100644
> --- a/formats/ctf/metadata/ctf-visitor-parent-links.c
> +++ b/formats/ctf/metadata/ctf-visitor-parent-links.c
> @@ -24,7 +24,7 @@
>  #include <glib.h>
>  #include <inttypes.h>
>  #include <errno.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/list.h>
>  #include "ctf-scanner.h"
>  #include "ctf-parser.h"
> diff --git a/formats/ctf/metadata/ctf-visitor-semantic-validator.c b/formats/ctf/metadata/ctf-visitor-semantic-validator.c
> index b89f7bd..eab4391 100644
> --- a/formats/ctf/metadata/ctf-visitor-semantic-validator.c
> +++ b/formats/ctf/metadata/ctf-visitor-semantic-validator.c
> @@ -24,7 +24,7 @@
>  #include <glib.h>
>  #include <inttypes.h>
>  #include <errno.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/list.h>
>  #include "ctf-scanner.h"
>  #include "ctf-parser.h"
> diff --git a/formats/ctf/metadata/ctf-visitor-xml.c b/formats/ctf/metadata/ctf-visitor-xml.c
> index c47bd27..56974c3 100644
> --- a/formats/ctf/metadata/ctf-visitor-xml.c
> +++ b/formats/ctf/metadata/ctf-visitor-xml.c
> @@ -24,7 +24,7 @@
>  #include <glib.h>
>  #include <inttypes.h>
>  #include <errno.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/list.h>
>  #include "ctf-scanner.h"
>  #include "ctf-parser.h"
> diff --git a/formats/ctf/types/string.c b/formats/ctf/types/string.c
> index 682bd76..3b54a2d 100644
> --- a/formats/ctf/types/string.c
> +++ b/formats/ctf/types/string.c
> @@ -18,7 +18,7 @@
>   * all copies or substantial portions of the Software.
>   */
>  
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/ctf/types.h>
>  #include <limits.h>		/* C99 limits */
>  #include <string.h>
> diff --git a/include/Makefile.am b/include/Makefile.am
> index 7239596..a5f5454 100644
> --- a/include/Makefile.am
> +++ b/include/Makefile.am
> @@ -1,6 +1,8 @@
> +babeltraceinclude_HEADERS = babeltrace/babeltrace.h
> +
>  noinst_HEADERS = \
>  	babeltrace/align.h \
> -	babeltrace/babeltrace.h \
> +	babeltrace/babeltrace-internal.h \
>  	babeltrace/bitfield.h \
>  	babeltrace/compiler.h \
>  	babeltrace/format.h \
> diff --git a/include/babeltrace/babeltrace-internal.h b/include/babeltrace/babeltrace-internal.h
> new file mode 100644
> index 0000000..7c02948
> --- /dev/null
> +++ b/include/babeltrace/babeltrace-internal.h
> @@ -0,0 +1,31 @@
> +#ifndef _BABELTRACE_INTERNAL_H
> +#define _BABELTRACE_INTERNAL_H
> +
> +#include <stdio.h>
> +#include <glib.h>
> +
> +extern int babeltrace_verbose, babeltrace_debug;
> +
> +#define printf_verbose(fmt, args...)				\
> +	do {							\
> +		if (babeltrace_verbose)				\
> +			printf("[verbose] " fmt, ## args);	\
> +	} while (0)
> +
> +#define printf_debug(fmt, args...)				\
> +	do {							\
> +		if (babeltrace_debug)				\
> +			printf("[debug] " fmt, ## args);	\
> +	} while (0)
> +
> +struct trace_descriptor;
> +struct trace_collection {
> +	GPtrArray *array;
> +};
> +
> +int convert_trace(struct trace_descriptor *td_write,
> +		  struct trace_collection *trace_collection_read);
> +
> +extern int opt_field_names;
> +
> +#endif
> diff --git a/include/babeltrace/babeltrace.h b/include/babeltrace/babeltrace.h
> index 8091ac4..40bfbea 100644
> --- a/include/babeltrace/babeltrace.h
> +++ b/include/babeltrace/babeltrace.h
> @@ -1,31 +1,93 @@
>  #ifndef _BABELTRACE_H
>  #define _BABELTRACE_H
>  
> -#include <stdio.h>
> -#include <glib.h>
> -
> -extern int babeltrace_verbose, babeltrace_debug;
> -
> -#define printf_verbose(fmt, args...)				\
> -	do {							\
> -		if (babeltrace_verbose)				\
> -			printf("[verbose] " fmt, ## args);	\
> -	} while (0)
> -
> -#define printf_debug(fmt, args...)				\
> -	do {							\
> -		if (babeltrace_debug)				\
> -			printf("[debug] " fmt, ## args);	\
> -	} while (0)
> -
> -struct trace_descriptor;
> -struct trace_collection {
> -	GPtrArray *array;
> +/*
> + * BabelTrace API
> + *
> + * Copyright 2010-2011 - Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a copy
> + * of this software and associated documentation files (the "Software"), to deal
> + * in the Software without restriction, including without limitation the rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + */
> +
> +#include <babeltrace/types.h>
> +#include <babeltrace/format.h>
> +#include <babeltrace/ctf/types.h>
> +#include <babeltrace/ctf-ir/metadata.h>
> +
> +/*
> + * struct babeltrace_iter: data structure representing an iterator on a trace
> + * collection.
> + */
> +struct babeltrace_iter {
> +	struct ptr_heap *stream_heap;
> +	struct trace_collection *tc;
> +};
> +
> +struct babeltrace_iter_pos {
> +	GPtrArray *pos; /* struct babeltrace_iter_stream_pos */
> +};
> +
> +struct babeltrace_iter_stream_pos {
> +	struct stream_pos parent;
> +	ssize_t offset;
> +	size_t cur_index;
>  };
>  
> -int convert_trace(struct trace_descriptor *td_write,
> -		  struct trace_collection *trace_collection_read);
> +/*
> + * Initialization/teardown.
> + */
> +struct babeltrace_iter *babeltrace_iter_create(struct trace_collection *tc);
> +void babeltrace_iter_destroy(struct babeltrace_iter *iter);
> +
> +/*
> + * Move within the trace.
> + */
> +/*
> + * babeltrace_iter_next: Move stream position to the next event.
> + *
> + * Returns 0 on success, a negative value on error
> + */
> +int babeltrace_iter_next(struct babeltrace_iter *iter);
> +
> +/* Get the current position for each stream of the trace */
> +struct babeltrace_iter_pos *
> +babeltrace_iter_get_pos(struct babeltrace_iter *iter);
> +
> +/* The position needs to be freed after use */
> +void babeltrace_iter_free_pos(struct babeltrace_iter_pos *pos);
> +
> +/* Seek the trace to the position */
> +int babeltrace_iter_seek_pos(struct babeltrace_iter *iter,
> +		struct babeltrace_iter_pos *pos);
> +
> +/*
> + * babeltrace_iter_seek_time: Seek the trace to the given timestamp.
> + *
> + * Return EOF if timestamp is after the last event of the trace.
> + * Return other negative value for other errors.
> + * Return 0 for success.
> + */
> +int babeltrace_iter_seek_time(struct babeltrace_iter *iter,
> +		uint64_t timestamp);
>  
> -extern int opt_field_names;
> +/*
> + * babeltrace_iter_read_event: Read the current event data.
> + *
> + * @iter: trace iterator (input)
> + * @stream: stream containing event at current position (output)
> + * @event: current event (output)
> + * Return 0 on success, negative error value on error.
> + */
> +int babeltrace_iter_read_event(struct babeltrace_iter *iter,
> +		struct ctf_stream **stream,
> +		struct ctf_stream_event **event);
>  
> -#endif
> +#endif /* _BABELTRACE_H */
> diff --git a/include/babeltrace/ctf-text/types.h b/include/babeltrace/ctf-text/types.h
> index 1b05523..400e62c 100644
> --- a/include/babeltrace/ctf-text/types.h
> +++ b/include/babeltrace/ctf-text/types.h
> @@ -24,7 +24,7 @@
>  #include <stdint.h>
>  #include <unistd.h>
>  #include <glib.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <babeltrace/types.h>
>  #include <babeltrace/format.h>
>  
> diff --git a/include/babeltrace/ctf/types.h b/include/babeltrace/ctf/types.h
> index 8d57ec7..58352ef 100644
> --- a/include/babeltrace/ctf/types.h
> +++ b/include/babeltrace/ctf/types.h
> @@ -20,7 +20,7 @@
>   */
>  
>  #include <babeltrace/types.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <sys/types.h>
>  #include <sys/stat.h>
>  #include <fcntl.h>
> diff --git a/types/types.c b/types/types.c
> index 11e91b0..4e96f44 100644
> --- a/types/types.c
> +++ b/types/types.c
> @@ -21,7 +21,7 @@
>   */
>  
>  #include <babeltrace/format.h>
> -#include <babeltrace/babeltrace.h>
> +#include <babeltrace/babeltrace-internal.h>
>  #include <limits.h>
>  #include <glib.h>
>  #include <errno.h>
> -- 
> 1.7.4.1
> 

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list