librfid/include/librfid/rfid_system.h

54 lines
1.5 KiB
C

/* system / environment specific defines */
//#define LIBRFID_FIRMWARE
#ifdef __LIBRFID__
#ifndef LIBRFID_FIRMWARE
/* If we're not doing a firmware compile, then we just use the regular
* malloc()/free() functions as expected */
#define malloc_asic_handle(x) malloc(x)
#define free_asic_handle(x) free(x)
#define malloc_layer2_handle(x) malloc(x)
#define free_layer2_handle(x) free(x)
#define malloc_protocol_handle(x) malloc(x)
#define free_protocol_handle(x) free(x)
#define malloc_rat_handle(x) malloc(x)
#define free_rat_handle(x) free(x)
#define malloc_reader_handle(x) malloc(x)
#define free_reader_handle(x) free(x)
#else
/* If we're actually doing a firmware compile, then we use pre-allocated
* handles in order to avoid dynamic memory allocation. */
#define EMPTY_STATEMENT do {} while(0)
extern struct rfid_asic_handle rfid_ah;
#define malloc_asic_handle(x) &rfid_ah
#define free_asic_handle(x) EMPTY_STATEMENT
extern struct rfid_layer2_handle rfid_l2h;
#define malloc_layer2_handle(x) &rfid_l2h
#define free_layer2_handle(x) EMPTY_STATEMENT
extern struct rfid_protocol_handle rfid_ph;
#define malloc_protocol_handle(x) &rfid_ph
#define free_protocol_handle(x) EMPTY_STATEMENT
extern struct rfid_asic_transport_handle rfid_ath;
#define malloc_rat_handle(x) &rfid_ath
#define free_rat_handle(x) EMPTY_STATEMENT
extern struct rfid_reader_handle rfid_rh;
#define malloc_reader_handle(x) &rfid_rh
#define free_reader_handle(x) EMPTY_STATEMENT
#endif /* LIBRFID_FIRMWARE */
#endif /* __LIBRFID__ */