mwrap.h 1019 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef AVM_MWRAP_H
  2. #define AVM_MWRAP_H 1
  3. #ifdef __cplusplus
  4. extern "C"
  5. {
  6. #endif
  7. #if HAVE_SETJMP
  8. #include <setjmp.h>
  9. #else
  10. typedef int jmp_buf;
  11. extern int setjmp (jmp_buf);
  12. #endif
  13. extern jmp_buf *_avm_mwrap_client;
  14. #if HAVE_SETJMP
  15. #define avm_setjmp() ((_avm_mwrap_client = avm_new_jmp_buf()) ? setjmp(*_avm_mwrap_client) : -1)
  16. #else
  17. #define avm_setjmp() 0
  18. #endif
  19. extern void avm_clearjmp ();
  20. extern void avm_setnonjmp ();
  21. extern jmp_buf *avm_new_jmp_buf (); /* should be called only by way of avm_setjmp() */
  22. extern void avm_debug_memory ();
  23. extern void avm_dont_debug_memory ();
  24. extern inline void avm_manage_memory ();
  25. extern inline void avm_dont_manage_memory ();
  26. extern void avm_free_managed_memory ();
  27. extern void avm_turn_off_stdout ();
  28. extern void avm_turn_off_stderr ();
  29. extern void avm_turn_on_stdout ();
  30. extern void avm_turn_on_stderr ();
  31. extern void avm_initialize_mwrap ();
  32. extern void avm_count_mwrap ();
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36. #endif /* !AVM_MWRAP_H */