1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/*
* Interface declaration for the DDI layer.
*
* Matthias Welwarsky (DG2FEF) 05/25/98
*
*/
#ifndef _AX25_DDI_H
#define _AX25_DDI_H
enum {
AX25_TX_STATE_IDLE = 0,
AX25_TX_STATE_RTS,
AX25_TX_STATE_WAIT_CTS,
AX25_TX_STATE_CTS
};
extern void ax25_ddi_init(void);
extern ax25_cb* ax25_dev_list(struct net_device *);
extern void ax25_dev_insert_cb(ax25_cb *);
extern void ax25_dev_remove_cb(ax25_cb *);
extern ax25_cb* ax25_dev_find_listener(ax25_address *, int, struct net_device *);
extern struct sock* ax25_dev_find_socket(ax25_address *, ax25_address *, struct net_device *, int);
extern int ax25_dev_match_addr(ax25_address *, struct net_device *);
extern void ax25_kick(ax25_cb *);
extern void ax25_send_unproto(struct sk_buff*, struct net_device*);
extern void ax25_send_broadcast(struct sk_buff*);
extern void ax25_dev_set_value_notify(struct net_device *dev, int, int);
extern void ax25_dev_device_up(struct net_device *);
extern void ax25_dev_device_down(struct net_device *);
extern int ax25_fwd_ioctl(unsigned int, struct ax25_fwd_struct *);
extern struct net_device* ax25_fwd_dev(struct net_device *);
extern int ax25_dev_get_info(char*, char**, off_t, int);
extern void ax25_notify_dispatcher(struct net_device *dev, int id, int oldval, int newval);
extern void ax25_dev_set_dama(struct net_device *dev, int dama);
extern struct net_device* ax25_devices[];
#endif
|