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
include
net
raw.h
Go to the documentation of this file.
1
/*
2
* INET An implementation of the TCP/IP protocol suite for the LINUX
3
* operating system. INET is implemented using the BSD Socket
4
* interface as the means of communication with the user level.
5
*
6
* Definitions for the RAW-IP module.
7
*
8
* Version: @(#)raw.h 1.0.2 05/07/93
9
*
10
* Author: Fred N. van Kempen, <
[email protected]
>
11
*
12
* This program is free software; you can redistribute it and/or
13
* modify it under the terms of the GNU General Public License
14
* as published by the Free Software Foundation; either version
15
* 2 of the License, or (at your option) any later version.
16
*/
17
#ifndef _RAW_H
18
#define _RAW_H
19
20
21
#include <
net/protocol.h
>
22
#include <linux/icmp.h>
23
24
extern
struct
proto
raw_prot
;
25
26
void
raw_icmp_error
(
struct
sk_buff
*,
int
,
u32
);
27
int
raw_local_deliver
(
struct
sk_buff
*,
int
);
28
29
extern
int
raw_rcv
(
struct
sock
*,
struct
sk_buff
*);
30
31
#define RAW_HTABLE_SIZE MAX_INET_PROTOS
32
33
struct
raw_hashinfo
{
34
rwlock_t
lock
;
35
struct
hlist_head
ht
[
RAW_HTABLE_SIZE
];
36
};
37
38
#ifdef CONFIG_PROC_FS
39
extern
int
raw_proc_init(
void
);
40
extern
void
raw_proc_exit(
void
);
41
42
struct
raw_iter_state {
43
struct
seq_net_private
p
;
44
int
bucket;
45
struct
raw_hashinfo
*
h
;
46
};
47
48
static
inline
struct
raw_iter_state *raw_seq_private(
struct
seq_file
*seq)
49
{
50
return
seq->
private
;
51
}
52
void
*raw_seq_start(
struct
seq_file
*seq, loff_t *
pos
);
53
void
*raw_seq_next(
struct
seq_file
*seq,
void
*
v
, loff_t *
pos
);
54
void
raw_seq_stop(
struct
seq_file
*seq,
void
*
v
);
55
int
raw_seq_open(
struct
inode
*
ino
,
struct
file
*
file
,
56
struct
raw_hashinfo
*
h
,
const
struct
seq_operations
*ops);
57
58
#endif
59
60
void
raw_hash_sk
(
struct
sock
*
sk
);
61
void
raw_unhash_sk
(
struct
sock
*
sk
);
62
63
struct
raw_sock
{
64
/* inet_sock has to be the first member */
65
struct
inet_sock
inet
;
66
struct
icmp_filter
filter
;
67
u32
ipmr_table
;
68
};
69
70
static
inline
struct
raw_sock
*raw_sk(
const
struct
sock
*
sk
)
71
{
72
return
(
struct
raw_sock
*)
sk
;
73
}
74
75
#endif
/* _RAW_H */
Generated on Thu Jan 10 2013 14:53:15 for Linux Kernel by
1.8.2