]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) | |
3 | * Licensed under the GPL | |
4 | */ | |
5 | ||
6 | #ifndef __UM_NET_USER_H__ | |
7 | #define __UM_NET_USER_H__ | |
8 | ||
9 | #define ETH_ADDR_LEN (6) | |
10 | #define ETH_HEADER_ETHERTAP (16) | |
11 | #define ETH_HEADER_OTHER (14) | |
12 | #define ETH_MAX_PACKET (1500) | |
13 | ||
14 | #define UML_NET_VERSION (4) | |
15 | ||
16 | struct net_user_info { | |
17 | void (*init)(void *, void *); | |
18 | int (*open)(void *); | |
19 | void (*close)(int, void *); | |
20 | void (*remove)(void *); | |
21 | int (*set_mtu)(int mtu, void *); | |
22 | void (*add_address)(unsigned char *, unsigned char *, void *); | |
23 | void (*delete_address)(unsigned char *, unsigned char *, void *); | |
24 | int max_packet; | |
25 | }; | |
26 | ||
27 | extern void ether_user_init(void *data, void *dev); | |
0e76422c | 28 | extern void dev_ip_addr(void *d, unsigned char *bin_buf); |
1da177e4 LT |
29 | extern void iter_addresses(void *d, void (*cb)(unsigned char *, |
30 | unsigned char *, void *), | |
31 | void *arg); | |
32 | ||
33 | extern void *get_output_buffer(int *len_out); | |
34 | extern void free_output_buffer(void *buffer); | |
35 | ||
36 | extern int tap_open_common(void *dev, char *gate_addr); | |
da00d9a5 | 37 | extern void tap_check_ips(char *gate_addr, unsigned char *eth_addr); |
1da177e4 LT |
38 | |
39 | extern void read_output(int fd, char *output_out, int len); | |
40 | ||
41 | extern int net_read(int fd, void *buf, int len); | |
42 | extern int net_recvfrom(int fd, void *buf, int len); | |
43 | extern int net_write(int fd, void *buf, int len); | |
44 | extern int net_send(int fd, void *buf, int len); | |
45 | extern int net_sendto(int fd, void *buf, int len, void *to, int sock_len); | |
46 | ||
47 | extern void open_addr(unsigned char *addr, unsigned char *netmask, void *arg); | |
48 | extern void close_addr(unsigned char *addr, unsigned char *netmask, void *arg); | |
49 | ||
50 | extern char *split_if_spec(char *str, ...); | |
51 | ||
52 | extern int dev_netmask(void *d, void *m); | |
53 | ||
54 | #endif | |
55 | ||
56 | /* | |
57 | * Overrides for Emacs so that we follow Linus's tabbing style. | |
58 | * Emacs will notice this stuff at the end of the file and automatically | |
59 | * adjust the settings for this buffer only. This must remain at the end | |
60 | * of the file. | |
61 | * --------------------------------------------------------------------------- | |
62 | * Local variables: | |
63 | * c-file-style: "linux" | |
64 | * End: | |
65 | */ |