diff options
Diffstat (limited to 'include/net/ax25.h')
-rw-r--r-- | include/net/ax25.h | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h index 14b72d868f03..5ae10dd2e32e 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h | |||
@@ -277,7 +277,7 @@ struct sock *ax25_get_socket(ax25_address *, ax25_address *, int); | |||
277 | extern ax25_cb *ax25_find_cb(ax25_address *, ax25_address *, ax25_digi *, struct net_device *); | 277 | extern ax25_cb *ax25_find_cb(ax25_address *, ax25_address *, ax25_digi *, struct net_device *); |
278 | extern void ax25_send_to_raw(ax25_address *, struct sk_buff *, int); | 278 | extern void ax25_send_to_raw(ax25_address *, struct sk_buff *, int); |
279 | extern void ax25_destroy_socket(ax25_cb *); | 279 | extern void ax25_destroy_socket(ax25_cb *); |
280 | extern ax25_cb *ax25_create_cb(void); | 280 | extern ax25_cb * __must_check ax25_create_cb(void); |
281 | extern void ax25_fillin_cb(ax25_cb *, ax25_dev *); | 281 | extern void ax25_fillin_cb(ax25_cb *, ax25_dev *); |
282 | extern struct sock *ax25_make_new(struct sock *, struct ax25_dev *); | 282 | extern struct sock *ax25_make_new(struct sock *, struct ax25_dev *); |
283 | 283 | ||
@@ -333,11 +333,25 @@ extern void ax25_ds_t3timer_expiry(ax25_cb *); | |||
333 | extern void ax25_ds_idletimer_expiry(ax25_cb *); | 333 | extern void ax25_ds_idletimer_expiry(ax25_cb *); |
334 | 334 | ||
335 | /* ax25_iface.c */ | 335 | /* ax25_iface.c */ |
336 | extern int ax25_protocol_register(unsigned int, int (*)(struct sk_buff *, ax25_cb *)); | 336 | |
337 | struct ax25_protocol { | ||
338 | struct ax25_protocol *next; | ||
339 | unsigned int pid; | ||
340 | int (*func)(struct sk_buff *, ax25_cb *); | ||
341 | }; | ||
342 | |||
343 | extern void ax25_register_pid(struct ax25_protocol *ap); | ||
337 | extern void ax25_protocol_release(unsigned int); | 344 | extern void ax25_protocol_release(unsigned int); |
338 | extern int ax25_linkfail_register(void (*)(ax25_cb *, int)); | 345 | |
339 | extern void ax25_linkfail_release(void (*)(ax25_cb *, int)); | 346 | struct ax25_linkfail { |
340 | extern int ax25_listen_register(ax25_address *, struct net_device *); | 347 | struct hlist_node lf_node; |
348 | void (*func)(ax25_cb *, int); | ||
349 | }; | ||
350 | |||
351 | extern void ax25_linkfail_register(struct ax25_linkfail *lf); | ||
352 | extern void ax25_linkfail_release(struct ax25_linkfail *lf); | ||
353 | extern int __must_check ax25_listen_register(ax25_address *, | ||
354 | struct net_device *); | ||
341 | extern void ax25_listen_release(ax25_address *, struct net_device *); | 355 | extern void ax25_listen_release(ax25_address *, struct net_device *); |
342 | extern int (*ax25_protocol_function(unsigned int))(struct sk_buff *, ax25_cb *); | 356 | extern int (*ax25_protocol_function(unsigned int))(struct sk_buff *, ax25_cb *); |
343 | extern int ax25_listen_mine(ax25_address *, struct net_device *); | 357 | extern int ax25_listen_mine(ax25_address *, struct net_device *); |
@@ -415,7 +429,7 @@ extern unsigned long ax25_display_timer(struct timer_list *); | |||
415 | /* ax25_uid.c */ | 429 | /* ax25_uid.c */ |
416 | extern int ax25_uid_policy; | 430 | extern int ax25_uid_policy; |
417 | extern ax25_uid_assoc *ax25_findbyuid(uid_t); | 431 | extern ax25_uid_assoc *ax25_findbyuid(uid_t); |
418 | extern int ax25_uid_ioctl(int, struct sockaddr_ax25 *); | 432 | extern int __must_check ax25_uid_ioctl(int, struct sockaddr_ax25 *); |
419 | extern struct file_operations ax25_uid_fops; | 433 | extern struct file_operations ax25_uid_fops; |
420 | extern void ax25_uid_free(void); | 434 | extern void ax25_uid_free(void); |
421 | 435 | ||