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
linux
sunrpc
svcsock.h
Go to the documentation of this file.
1
/*
2
* linux/include/linux/sunrpc/svcsock.h
3
*
4
* RPC server socket I/O.
5
*
6
* Copyright (C) 1995, 1996 Olaf Kirch <
[email protected]
>
7
*/
8
9
#ifndef SUNRPC_SVCSOCK_H
10
#define SUNRPC_SVCSOCK_H
11
12
#include <
linux/sunrpc/svc.h
>
13
#include <
linux/sunrpc/svc_xprt.h
>
14
15
/*
16
* RPC server socket.
17
*/
18
struct
svc_sock
{
19
struct
svc_xprt
sk_xprt
;
20
struct
socket
*
sk_sock
;
/* berkeley socket layer */
21
struct
sock
*
sk_sk
;
/* INET layer */
22
23
/* We keep the old state_change and data_ready CB's here */
24
void
(*
sk_ostate
)(
struct
sock
*);
25
void
(*
sk_odata
)(
struct
sock
*,
int
bytes
);
26
void
(*
sk_owspace
)(
struct
sock
*);
27
28
/* private TCP part */
29
u32
sk_reclen
;
/* length of record */
30
u32
sk_tcplen
;
/* current read length */
31
struct
page
*
sk_pages
[
RPCSVC_MAXPAGES
];
/* received data */
32
};
33
34
/*
35
* Function prototypes.
36
*/
37
void
svc_close_net
(
struct
svc_serv
*,
struct
net
*);
38
int
svc_recv
(
struct
svc_rqst
*,
long
);
39
int
svc_send
(
struct
svc_rqst
*);
40
void
svc_drop
(
struct
svc_rqst
*);
41
void
svc_sock_update_bufs
(
struct
svc_serv
*serv);
42
int
svc_addsock
(
struct
svc_serv
*serv,
const
int
fd
,
43
char
*name_return,
const
size_t
len);
44
void
svc_init_xprt_sock
(
void
);
45
void
svc_cleanup_xprt_sock
(
void
);
46
struct
svc_xprt
*
svc_sock_create
(
struct
svc_serv
*serv,
int
prot);
47
void
svc_sock_destroy
(
struct
svc_xprt
*);
48
49
/*
50
* svc_makesock socket characteristics
51
*/
52
#define SVC_SOCK_DEFAULTS (0U)
53
#define SVC_SOCK_ANONYMOUS (1U << 0)
/* don't register with pmap */
54
#define SVC_SOCK_TEMPORARY (1U << 1)
/* flag socket as temporary */
55
56
#endif
/* SUNRPC_SVCSOCK_H */
Generated on Thu Jan 10 2013 14:52:40 for Linux Kernel by
1.8.2