File:  [ELWIX - Embedded LightWeight unIX -] / mqtt / src / Attic / recv.c
Revision 1.1.2.1: download - view: text, annotated - select for diffs - revision graph
Tue Nov 22 14:49:07 2011 UTC (12 years, 10 months ago) by misho
Branches: mqtt1_0
add first dispatcher calls

#include "global.h"


/* ------------------------------------------------------------------- */

/*
 * mqttInitCallbacks() Init callback array for dispatcher
 *
 * return: NULL error or !=NULL allocated callback array, after use free with mqttFiniCallbacks()
 */
mqtt_cb_t *
mqttInitCallbacks(void)
{
	mqtt_cb_t *cb = NULL;

	cb = malloc((MQTT_TYPE_MAX + 1) * sizeof(mqtt_cb_t));
	if (!cb) {
		LOGERR;
		return NULL;
	} else
		memset(cb, 0, (MQTT_TYPE_MAX + 1) * sizeof(mqtt_cb_t));

	return cb;
}

/*
 * mqttFiniCallbacks() Free callback array
 *
 * @cb = Callback array
 * return: none
 */
void
mqttFiniCallbacks(mqtt_cb_t ** __restrict cb)
{
	if (!cb)
		return;

	if ((*cb)[MQTT_TYPE_MAX])
		(*cb)[MQTT_TYPE_MAX](*cb);

	free(*cb);
	*cb = NULL;
}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>