Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
um
include
shared
net_kern.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3
* Licensed under the GPL
4
*/
5
6
#ifndef __UM_NET_KERN_H
7
#define __UM_NET_KERN_H
8
9
#include <linux/netdevice.h>
10
#include <
linux/platform_device.h
>
11
#include <
linux/skbuff.h
>
12
#include <linux/socket.h>
13
#include <linux/list.h>
14
#include <
linux/workqueue.h
>
15
16
struct
uml_net
{
17
struct
list_head
list
;
18
struct
net_device
*
dev
;
19
struct
platform_device
pdev
;
20
int
index
;
21
unsigned
char
mac
[
ETH_ALEN
];
22
};
23
24
struct
uml_net_private
{
25
struct
list_head
list
;
26
spinlock_t
lock
;
27
struct
net_device
*
dev
;
28
struct
timer_list
tl
;
29
30
struct
work_struct
work
;
31
int
fd
;
32
unsigned
char
mac
[
ETH_ALEN
];
33
int
max_packet
;
34
unsigned
short
(*
protocol
)(
struct
sk_buff
*);
35
int
(*
open
)(
void
*);
36
void
(*
close
)(
int
,
void
*);
37
void
(*
remove
)(
void
*);
38
int
(*
read
)(
int
,
struct
sk_buff
*
skb
,
struct
uml_net_private
*);
39
int
(*
write
)(
int
,
struct
sk_buff
*
skb
,
struct
uml_net_private
*);
40
41
void
(*
add_address
)(
unsigned
char
*,
unsigned
char
*,
void
*);
42
void
(*
delete_address
)(
unsigned
char
*,
unsigned
char
*,
void
*);
43
char
user
[0];
44
};
45
46
struct
net_kern_info
{
47
void
(*
init
)(
struct
net_device
*,
void
*);
48
unsigned
short
(*
protocol
)(
struct
sk_buff
*);
49
int
(*
read
)(
int
,
struct
sk_buff
*
skb
,
struct
uml_net_private
*);
50
int
(*
write
)(
int
,
struct
sk_buff
*
skb
,
struct
uml_net_private
*);
51
};
52
53
struct
transport
{
54
struct
list_head
list
;
55
const
char
*
name
;
56
int
(*
const
setup
)(
char
*,
char
**,
void
*);
57
const
struct
net_user_info
*
user
;
58
const
struct
net_kern_info
*
kern
;
59
const
int
private_size
;
60
const
int
setup_size
;
61
};
62
63
extern
struct
net_device
*
ether_init
(
int
);
64
extern
unsigned
short
ether_protocol
(
struct
sk_buff
*);
65
extern
int
tap_setup_common
(
char
*
str
,
char
*
type
,
char
**dev_name,
66
char
**mac_out,
char
**gate_addr);
67
extern
void
register_transport
(
struct
transport
*
new
);
68
extern
unsigned
short
eth_protocol
(
struct
sk_buff
*
skb
);
69
70
#endif
Generated on Thu Jan 10 2013 13:19:29 for Linux Kernel by
1.8.2