/* Copyright 1989-93 GROUPE BULL -- See license conditions in file COPYRIGHT */ /*************\ * * * KL_LINK * * DEFINITIONS * * * \*************/ #ifndef INCLUDE_Kl_LINK_H #define INCLUDE_Kl_LINK_H /* type */ typedef struct _KlLink { KlKLONE_HEADER; KlO link; KlType linktype; /* here to check validity */ } *KlLink; /* exported functions */ extern KlO KlLinkCoerce(); extern KlLink KlLinkMake(); extern KlO KlLinkDereference(); #define KlIsALink(obj) ((obj)->type == KlLinkType) #define KlMustBeLink(obj, n) KlArgumentMustBe(obj, n, KlLinkType) /* methods */ EXT KlType KlLinkType; #endif /* INCLUDE_Kl_LINK_H */