-SR_API int sr_session_start(void);
-SR_API int sr_session_run(void);
-SR_API int sr_session_halt(void);
-SR_API int sr_session_stop(void);
-SR_API int sr_session_save(const char *filename,
- const struct sr_dev_inst *sdi, struct sr_datastore *ds);
-SR_API int sr_session_source_add(int fd, int events, int timeout,
- sr_receive_data_callback_t cb, void *cb_data);
-SR_API int sr_session_source_add_pollfd(GPollFD *pollfd, int timeout,
- sr_receive_data_callback_t cb, void *cb_data);
-SR_API int sr_session_source_add_channel(GIOChannel *channel, int events,
- int timeout, sr_receive_data_callback_t cb, void *cb_data);
-SR_API int sr_session_source_remove(int fd);
-SR_API int sr_session_source_remove_pollfd(GPollFD *pollfd);
-SR_API int sr_session_source_remove_channel(GIOChannel *channel);
+SR_API int sr_session_start(struct sr_session *session);
+SR_API int sr_session_run(struct sr_session *session);
+SR_API int sr_session_stop(struct sr_session *session);
+SR_API int sr_session_save(struct sr_session *session, const char *filename,
+ const struct sr_dev_inst *sdi, unsigned char *buf, int unitsize,
+ int units);
+SR_API int sr_session_save_init(struct sr_session *session,
+ const char *filename, uint64_t samplerate, char **channels);
+SR_API int sr_session_append(struct sr_session *session,
+ const char *filename, unsigned char *buf, int unitsize, int units);
+SR_API int sr_session_source_add(struct sr_session *session, int fd,
+ int events, int timeout, sr_receive_data_callback cb, void *cb_data);
+SR_API int sr_session_source_add_pollfd(struct sr_session *session,
+ GPollFD *pollfd, int timeout, sr_receive_data_callback cb,
+ void *cb_data);
+SR_API int sr_session_source_add_channel(struct sr_session *session,
+ GIOChannel *channel, int events, int timeout,
+ sr_receive_data_callback cb, void *cb_data);
+SR_API int sr_session_source_remove(struct sr_session *session, int fd);
+SR_API int sr_session_source_remove_pollfd(struct sr_session *session,
+ GPollFD *pollfd);
+SR_API int sr_session_source_remove_channel(struct sr_session *session,
+ GIOChannel *channel);