diff options
author | Michael Brown <mcb30@ipxe.org> | 2010-04-19 20:16:01 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2010-04-19 23:43:39 +0100 |
commit | 8406115834d38bb743e01f35bfd36e835532415e (patch) | |
tree | ee1e3106e2cdc645d911ba5643f8414b21fc4c3e /src/include/ipxe/interface.h | |
parent | 2a36703af228bd10d50a31daec96072fe3a992a3 (diff) | |
download | ipxe-8406115834d38bb743e01f35bfd36e835532415e.tar.gz |
[build] Rename gPXE to iPXE
Access to the gpxe.org and etherboot.org domains and associated
resources has been revoked by the registrant of the domain. Work
around this problem by renaming project from gPXE to iPXE, and
updating URLs to match.
Also update README, LOG and COPYRIGHTS to remove obsolete information.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/interface.h')
-rw-r--r-- | src/include/ipxe/interface.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/include/ipxe/interface.h b/src/include/ipxe/interface.h new file mode 100644 index 000000000..41041054c --- /dev/null +++ b/src/include/ipxe/interface.h @@ -0,0 +1,58 @@ +#ifndef _IPXE_INTERFACE_H +#define _IPXE_INTERFACE_H + +/** @file + * + * Object communication interfaces + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include <ipxe/refcnt.h> + +/** 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; + /** Reference counter + * + * If this interface is not part of a reference-counted + * object, this field may be NULL. + */ + struct refcnt *refcnt; +}; + +/** + * Increment reference count on an interface + * + * @v intf Interface + * @ret intf Interface + */ +static inline __attribute__ (( always_inline )) struct interface * +intf_get ( struct interface *intf ) { + ref_get ( intf->refcnt ); + return intf; +} + +/** + * Decrement reference count on an interface + * + * @v intf Interface + */ +static inline __attribute__ (( always_inline )) void +intf_put ( struct interface *intf ) { + ref_put ( intf->refcnt ); +} + +extern void plug ( struct interface *intf, struct interface *dest ); +extern void plug_plug ( struct interface *a, struct interface *b ); + +#endif /* _IPXE_INTERFACE_H */ |