|
@@ -28,6 +28,26 @@ struct interface {
|
28
|
28
|
struct refcnt *refcnt;
|
29
|
29
|
};
|
30
|
30
|
|
|
31
|
+/**
|
|
32
|
+ * Increment reference count on an interface
|
|
33
|
+ *
|
|
34
|
+ * @v intf Interface
|
|
35
|
+ * @ret intf Interface
|
|
36
|
+ */
|
|
37
|
+static inline struct interface * intf_get ( struct interface *intf ) {
|
|
38
|
+ ref_get ( intf->refcnt );
|
|
39
|
+ return intf;
|
|
40
|
+}
|
|
41
|
+
|
|
42
|
+/**
|
|
43
|
+ * Decrement reference count on an interface
|
|
44
|
+ *
|
|
45
|
+ * @v intf Interface
|
|
46
|
+ */
|
|
47
|
+static inline void intf_put ( struct interface *intf ) {
|
|
48
|
+ ref_put ( intf->refcnt );
|
|
49
|
+}
|
|
50
|
+
|
31
|
51
|
extern void plug ( struct interface *intf, struct interface *dest );
|
32
|
52
|
extern void plug_plug ( struct interface *a, struct interface *b );
|
33
|
53
|
|