mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	Building against shared libraries only implemented for Linux X11 so far. TODO: Document Godot's modifications of upstream enet.
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			971 B
		
	
	
	
		
			C
		
	
	
	
	
	
/** 
 | 
						|
 @file callbacks.c
 | 
						|
 @brief ENet callback functions
 | 
						|
*/
 | 
						|
#define ENET_BUILDING_LIB 1
 | 
						|
#include "enet/enet.h"
 | 
						|
 | 
						|
static ENetCallbacks callbacks = { malloc, free, abort };
 | 
						|
 | 
						|
int
 | 
						|
enet_initialize_with_callbacks (ENetVersion version, const ENetCallbacks * inits)
 | 
						|
{
 | 
						|
   if (version < ENET_VERSION_CREATE (1, 3, 0))
 | 
						|
     return -1;
 | 
						|
 | 
						|
   if (inits -> malloc != NULL || inits -> free != NULL)
 | 
						|
   {
 | 
						|
      if (inits -> malloc == NULL || inits -> free == NULL)
 | 
						|
        return -1;
 | 
						|
 | 
						|
      callbacks.malloc = inits -> malloc;
 | 
						|
      callbacks.free = inits -> free;
 | 
						|
   }
 | 
						|
      
 | 
						|
   if (inits -> no_memory != NULL)
 | 
						|
     callbacks.no_memory = inits -> no_memory;
 | 
						|
 | 
						|
   return enet_initialize ();
 | 
						|
}
 | 
						|
 | 
						|
ENetVersion
 | 
						|
enet_linked_version (void)
 | 
						|
{
 | 
						|
    return ENET_VERSION;
 | 
						|
}
 | 
						|
           
 | 
						|
void *
 | 
						|
enet_malloc (size_t size)
 | 
						|
{
 | 
						|
   void * memory = callbacks.malloc (size);
 | 
						|
 | 
						|
   if (memory == NULL)
 | 
						|
     callbacks.no_memory ();
 | 
						|
 | 
						|
   return memory;
 | 
						|
}
 | 
						|
 | 
						|
void
 | 
						|
enet_free (void * memory)
 | 
						|
{
 | 
						|
   callbacks.free (memory);
 | 
						|
}
 | 
						|
 |