*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
*/
#include <babeltrace/format.h>
* Print timestamp, rescaling clock frequency to nanoseconds and
* applying offsets as needed (unix time).
*/
+static
void ctf_print_timestamp_real(FILE *fp,
struct ctf_stream_definition *stream,
uint64_t timestamp)
/*
* Print timestamp, in cycles
*/
+static
void ctf_print_timestamp_cycles(FILE *fp,
struct ctf_stream_definition *stream,
uint64_t timestamp)
} else {
struct definition_enum *enum_definition;
- enum_definition = lookup_enum(&stream->stream_event_header->p, "id", FALSE);
+ enum_definition = bt_lookup_enum(&stream->stream_event_header->p, "id", FALSE);
if (enum_definition) {
id = enum_definition->integer->value._unsigned;
}
return -EINVAL;
}
+ if ((header.content_size / CHAR_BIT) < header_sizeof(header))
+ return -EINVAL;
+
toread = (header.content_size / CHAR_BIT) - header_sizeof(header);
for (;;) {
error:
if (stream_event->event_fields)
- definition_unref(&stream_event->event_fields->p);
+ bt_definition_unref(&stream_event->event_fields->p);
if (stream_event->event_context)
- definition_unref(&stream_event->event_context->p);
+ bt_definition_unref(&stream_event->event_context->p);
return NULL;
}
g_ptr_array_free(stream->events_by_id, TRUE);
error:
if (stream->stream_event_context)
- definition_unref(&stream->stream_event_context->p);
+ bt_definition_unref(&stream->stream_event_context->p);
if (stream->stream_event_header)
- definition_unref(&stream->stream_event_header->p);
+ bt_definition_unref(&stream->stream_event_header->p);
if (stream->stream_packet_context)
- definition_unref(&stream->stream_packet_context->p);
+ bt_definition_unref(&stream->stream_packet_context->p);
return ret;
}
field = struct_definition_get_field_from_index(file_stream->parent.trace_packet_header, len_index);
assert(field->declaration->id == CTF_TYPE_ARRAY);
defarray = container_of(field, struct definition_array, p);
- assert(array_len(defarray) == BABELTRACE_UUID_LEN);
+ assert(bt_array_len(defarray) == BABELTRACE_UUID_LEN);
for (i = 0; i < BABELTRACE_UUID_LEN; i++) {
struct definition *elem;
- elem = array_index(defarray, i);
+ elem = bt_array_index(defarray, i);
uuidval[i] = get_unsigned_int(elem);
}
ret = babeltrace_uuid_compare(td->uuid, uuidval);
error_index:
if (file_stream->parent.trace_packet_header)
- definition_unref(&file_stream->parent.trace_packet_header->p);
+ bt_definition_unref(&file_stream->parent.trace_packet_header->p);
error_def:
closeret = ctf_fini_pos(&file_stream->pos);
if (closeret) {
return NULL;
}
-
+static
void ctf_init_mmap_pos(struct ctf_stream_pos *pos,
struct mmap_stream *mmap_info)
{
error_index:
if (file_stream->parent.trace_packet_header)
- definition_unref(&file_stream->parent.trace_packet_header->p);
+ bt_definition_unref(&file_stream->parent.trace_packet_header->p);
error_def:
g_free(file_stream);
return ret;
}
+static
int ctf_open_mmap_trace_read(struct ctf_trace *td,
struct mmap_stream_list *mmap_list,
void (*packet_seek)(struct stream_pos *pos, size_t index,