diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-06-08 23:54:24 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-06-08 23:54:24 +0000 |
commit | 9cb0b933e260008c6a03e24a4a149f726b8d86b2 (patch) | |
tree | b54651bafe32d1a817e779f884d1628176465bf0 /src/packet.c | |
parent | b1c00dcd0ae51d201f772e7f5fa61acae436a2cf (diff) |
initial commit
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@3 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/packet.c')
-rw-r--r-- | src/packet.c | 29 |
1 files changed, 29 insertions, 0 deletions
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 <assert.h> +#include <stdlib.h> + +#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); +} |