ifa.c 324 B

1234567891011121314151617181920
  1. #include "ifa.h"
  2. /** Basic interface for a resorce that can be freed. */
  3. struct CanFree_ {
  4. void * (*free)(void * self);
  5. };
  6. /** Interface that extends CanFree and allows reference counting. */
  7. struct CanReference_ {
  8. struct CanFree_ parent;
  9. void * (*use)(void * self);
  10. void * (*toss)(void * self);
  11. };