/* 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 */
syntax highlighted by Code2HTML, v. 0.9.1