Add (and use) generic reference counter, to improve signal:noise ratio
[people/holger/gpxe.git] / src / include / gpxe / interface.h
1 #ifndef _GPXE_INTERFACE_H
2 #define _GPXE_INTERFACE_H
3
4 /** @file
5  *
6  * Object communication interfaces
7  *
8  */
9
10 #include <gpxe/refcnt.h>
11
12 /** An object communication interface */
13 struct interface {
14         /** Destination interface
15          *
16          * When messages are sent via this interface, they will be
17          * delivered to the destination interface.
18          *
19          * This pointer may never be NULL.  When the interface is
20          * unplugged, it should point to a null interface.
21          */
22         struct interface *dest;
23         /** Reference counter
24          *
25          * If this interface is not part of a reference-counted
26          * object, this field may be NULL.
27          */
28         struct refcnt *refcnt;
29 };
30
31 extern void plug ( struct interface *intf, struct interface *dest );
32
33 #endif /* _GPXE_INTERFACE_H */