summaryrefslogtreecommitdiffstats
path: root/net/ax25/ax25_ddi.h
blob: acaf4aa37bca3e335a23e27d9e75c2e9b9e1aecc (plain)
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