This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
2007-04-27 00:44:52 +02:00
|
|
|
#ifndef _GPXE_INTERFACE_H
|
|
|
|
#define _GPXE_INTERFACE_H
|
|
|
|
|
|
|
|
/** @file
|
|
|
|
*
|
|
|
|
* Object communication interfaces
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2007-04-30 01:53:39 +02:00
|
|
|
#include <gpxe/refcnt.h>
|
|
|
|
|
2007-04-27 00:44:52 +02:00
|
|
|
/** An object communication interface */
|
|
|
|
struct interface {
|
|
|
|
/** Destination interface
|
|
|
|
*
|
|
|
|
* When messages are sent via this interface, they will be
|
|
|
|
* delivered to the destination interface.
|
|
|
|
*
|
|
|
|
* This pointer may never be NULL. When the interface is
|
|
|
|
* unplugged, it should point to a null interface.
|
|
|
|
*/
|
|
|
|
struct interface *dest;
|
2007-04-30 01:53:39 +02:00
|
|
|
/** Reference counter
|
2007-04-27 00:44:52 +02:00
|
|
|
*
|
2007-04-30 01:53:39 +02:00
|
|
|
* If this interface is not part of a reference-counted
|
|
|
|
* object, this field may be NULL.
|
2007-04-27 00:44:52 +02:00
|
|
|
*/
|
2007-04-30 01:53:39 +02:00
|
|
|
struct refcnt *refcnt;
|
2007-04-27 00:44:52 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
extern void plug ( struct interface *intf, struct interface *dest );
|
|
|
|
|
|
|
|
#endif /* _GPXE_INTERFACE_H */
|