projects
/
project
/
netifd.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4ea88db
)
add a section pointer to the proto attach callback
author
Felix Fietkau
<nbd@openwrt.org>
Wed, 13 Apr 2011 21:25:17 +0000
(23:25 +0200)
committer
Felix Fietkau
<nbd@openwrt.org>
Wed, 13 Apr 2011 21:25:17 +0000
(23:25 +0200)
proto.c
patch
|
blob
|
history
proto.h
patch
|
blob
|
history
diff --git
a/proto.c
b/proto.c
index
ea6e138
..
3161e01
100644
(file)
--- a/
proto.c
+++ b/
proto.c
@@
-78,7
+78,7
@@
void proto_attach_interface(struct interface *iface, struct uci_section *s)
goto error;
}
goto error;
}
- state = proto->attach(proto, iface);
+ state = proto->attach(proto, iface
, s
);
error:
if (error) {
error:
if (error) {
diff --git
a/proto.h
b/proto.h
index
776cc36
..
aeb2f24
100644
(file)
--- a/
proto.h
+++ b/
proto.h
@@
-1,7
+1,9
@@
#ifndef __NETIFD_PROTO_H
#define __NETIFD_PROTO_H
#ifndef __NETIFD_PROTO_H
#define __NETIFD_PROTO_H
+struct interface;
struct interface_proto_state;
struct interface_proto_state;
+struct proto_handler;
enum interface_proto_event {
IFPEV_UP,
enum interface_proto_event {
IFPEV_UP,
@@
-29,11
+31,15
@@
struct interface_proto_state {
void (*free)(struct interface_proto_state *);
};
void (*free)(struct interface_proto_state *);
};
+typedef struct interface_proto_state *
+ (*proto_attach_cb)(struct proto_handler *h, struct interface *,
+ struct uci_section *s);
+
struct proto_handler {
struct avl_node avl;
const char *name;
struct proto_handler {
struct avl_node avl;
const char *name;
-
struct interface_proto_state * (*attach)(struct proto_handler *h, struct interface *)
;
+
proto_attach_cb attach
;
};
void add_proto_handler(struct proto_handler *p);
};
void add_proto_handler(struct proto_handler *p);