#pragma once
#include <stdint.h>

enum osmo_e1cap_capture_mode {
	OSMO_E1CAP_MODE_RAW,
	OSMO_E1CAP_MODE_HDLC,
	OSMO_E1CAP_MODE_TRAU,
	OSMO_E1CAP_MODE_PGSL,
};

/* header for each frame we store */
struct osmo_e1cap_pkthdr {
	/* Timestamp at which frame was received */
	struct timeval ts;
	/* length of frame data after this header */
	uint32_t len;
	/* line/span number on which frame was received */
	uint8_t line_nr;
	/* timeslot number on which frame was received */
	uint8_t ts_nr;
	/* see osmo_e1cap_capture_mode */
	uint8_t capture_mode;
	/* any optional future flags */
	uint8_t flags;
	uint8_t align[8];
	uint8_t data[0];
} __attribute__((packed));

struct msgb;
struct e1inp_ts;

int e1frame_store(struct e1inp_ts *ts, struct msgb *msg, enum osmo_e1cap_capture_mode mode);

struct osmo_e1cap_file;
struct osmo_e1cap_file *osmo_e1cap_open(void *ctx, const char *path);
struct osmo_e1cap_pkthdr *osmo_e1cap_read_next(struct osmo_e1cap_file *f);
