From 9cb0b933e260008c6a03e24a4a149f726b8d86b2 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 8 Jun 2004 23:54:24 +0000 Subject: initial commit git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@3 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/packet.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/packet.c (limited to 'src/packet.c') diff --git a/src/packet.c b/src/packet.c new file mode 100644 index 00000000..086e4b2a --- /dev/null +++ b/src/packet.c @@ -0,0 +1,29 @@ +#include +#include + +#include "packet.h" + +struct packet* packet_new(uint32_t length) { + struct packet *p; + assert(length); + p = malloc(sizeof(struct packet)+length); + assert(p); + + p->ref = 1; + p->length = length; + return p; +} + +struct packet* packet_ref(struct packet *p) { + assert(p && p->ref >= 1); + p->ref++; + return p; +} + +void packet_unref(struct packet *p) { + assert(p && p->ref >= 1); + p->ref--; + + if (p->ref == 0) + free(p); +} -- cgit