typealias integer {
    size = 32;
} := uint32_t;

trace {
    major = 1;
    minor = 8;
    byte_order = be;
};

clock {
    name = my_clock;
    freq = 650000000;
    offset_s = 1450123140000;
};

env {
	domain = "sdsoc";
};

typealias integer {
    size = 64;
    map = clock.my_clock.value;
} := my_clock_int_t;

stream {
    event.header := struct {
		uint32_t id;	/* ID to match with the possible event types */
        my_clock_int_t timestamp;	/* relative timestamp to previous event */
    };
};

event {
    id = 0;
    name = "ACC_START";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 1;
    name = "ACC_STOP";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 2;
    name = "XFER_START";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 3;
    name = "XFER_STOP";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 4;
    name = "SW_START";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 5;
    name = "SW_STOP";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 6;
    name = "RECV_START";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};

event {
    id = 7;
    name = "RECV_STOP";
    fields := struct {
		string name;
		string file;
        uint32_t line;
        uint32_t column;
     };
};
