#ifndef _STABLEPTR_H
#define _STABLEPTR_H
typedef void* StablePtr;
extern StablePtr makeStablePtr (unsigned long*);
extern unsigned long *derefStablePtr (StablePtr);
extern void freeStablePtr (StablePtr);
extern void copyStablePtr (StablePtr,StablePtr);
extern void stableInit (void);
/* for backwards compatibility: */
typedef StablePtr HaskellRef;
#define stableRef(x) derefStablePtr(x)
#define stableInsert(x) makeStablePtr(x)
#define stableRelease(x) freeStablePtr(x)
#define stableCopy(x,y) copyStablePtr(x)
#endif
|