Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/enet-1.1/callbacks.c @ 14

Last change on this file since 14 was 13, checked in by landauf, 17 years ago

added enet

File size: 911 bytes
Line 
1/**
2 @file callbacks.c
3 @brief ENet callback functions
4*/
5#define ENET_BUILDING_LIB 1
6#include "enet/enet.h"
7
8static ENetCallbacks callbacks = { malloc, free, rand };
9
10int
11enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits)
12{
13   if (version != ENET_VERSION)
14     return -1;
15
16   if (inits -> malloc != NULL || inits -> free != NULL)
17   {
18      if (inits -> malloc == NULL || inits -> free == NULL)
19        return -1;
20
21      callbacks.malloc = inits -> malloc;
22      callbacks.free = inits -> free;
23   }
24     
25   if (inits -> rand != NULL)
26     callbacks.rand = inits -> rand;
27
28   return enet_initialize ();
29}
30           
31void *
32enet_malloc (size_t size)
33{
34   void * memory = callbacks.malloc (size);
35
36   if (memory == NULL)
37     abort ();
38
39   return memory;
40}
41
42void
43enet_free (void * memory)
44{
45   callbacks.free (memory);
46}
47
48int
49enet_rand (void)
50{
51   return callbacks.rand ();
52}
53
Note: See TracBrowser for help on using the repository browser.