Add a struct sr_context * parameter to sr_init() and sr_exit()

This commit is contained in:
Peter Stuge 2012-10-21 20:23:14 +02:00
parent 026c822d8c
commit b8072700c1
4 changed files with 28 additions and 5 deletions

View File

@ -2,6 +2,7 @@
* This file is part of the sigrok project.
*
* Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
* Copyright (C) 2012 Peter Stuge <peter@stuge.se>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -26,9 +27,24 @@
*
* @return SR_OK upon success, a (negative) error code otherwise.
*/
SR_API int sr_init(void)
SR_API int sr_init(struct sr_context **ctx)
{
return SR_OK;
int ret = SR_ERR;
struct sr_context *context;
/* + 1 to handle when struct sr_context has no members. */
context = g_try_malloc0(sizeof(struct sr_context) + 1);
if (!context) {
ret = SR_ERR_MALLOC;
goto done;
}
*ctx = context;
ret = SR_OK;
done:
return ret;
}
/**
@ -36,9 +52,11 @@ SR_API int sr_init(void)
*
* @return SR_OK upon success, a (negative) error code otherwise.
*/
SR_API int sr_exit(void)
SR_API int sr_exit(struct sr_context *ctx)
{
sr_hw_cleanup_all();
g_free(ctx);
return SR_OK;
}

View File

@ -45,6 +45,9 @@
/* Size of a datastore chunk in units */
#define DATASTORE_CHUNKSIZE (512 * 1024)
struct sr_context {
};
#ifdef HAVE_LIBUSB_1_0
struct sr_usb_dev_inst {
uint8_t bus;

View File

@ -202,6 +202,8 @@ enum {
SR_MQFLAG_RELATIVE = 0x100,
};
struct sr_context;
struct sr_datafeed_packet {
uint16_t type;
void *payload;

View File

@ -22,8 +22,8 @@
/*--- backend.c -------------------------------------------------------------*/
SR_API int sr_init(void);
SR_API int sr_exit(void);
SR_API int sr_init(struct sr_context **ctx);
SR_API int sr_exit(struct sr_context *ctx);
/*--- log.c -----------------------------------------------------------------*/