]>
Commit | Line | Data |
---|---|---|
651350d1 | 1 | /* RxRPC kernel service interface definitions |
17926a79 | 2 | * |
651350d1 | 3 | * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. |
17926a79 DH |
4 | * Written by David Howells ([email protected]) |
5 | * | |
6 | * This program is free software; you can redistribute it and/or | |
7 | * modify it under the terms of the GNU General Public License | |
8 | * as published by the Free Software Foundation; either version | |
9 | * 2 of the License, or (at your option) any later version. | |
10 | */ | |
11 | ||
12 | #ifndef _NET_RXRPC_H | |
13 | #define _NET_RXRPC_H | |
14 | ||
15 | #include <linux/rxrpc.h> | |
16 | ||
651350d1 DH |
17 | struct rxrpc_call; |
18 | ||
19 | /* | |
20 | * the mark applied to socket buffers that may be intercepted | |
21 | */ | |
22 | enum { | |
23 | RXRPC_SKB_MARK_DATA, /* data message */ | |
24 | RXRPC_SKB_MARK_FINAL_ACK, /* final ACK received message */ | |
25 | RXRPC_SKB_MARK_BUSY, /* server busy message */ | |
26 | RXRPC_SKB_MARK_REMOTE_ABORT, /* remote abort message */ | |
27 | RXRPC_SKB_MARK_NET_ERROR, /* network error message */ | |
28 | RXRPC_SKB_MARK_LOCAL_ERROR, /* local error message */ | |
29 | RXRPC_SKB_MARK_NEW_CALL, /* local error message */ | |
30 | }; | |
31 | ||
32 | typedef void (*rxrpc_interceptor_t)(struct sock *, unsigned long, | |
33 | struct sk_buff *); | |
34 | extern void rxrpc_kernel_intercept_rx_messages(struct socket *, | |
35 | rxrpc_interceptor_t); | |
36 | extern struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *, | |
37 | struct sockaddr_rxrpc *, | |
38 | struct key *, | |
39 | unsigned long, | |
40 | gfp_t); | |
41 | extern int rxrpc_kernel_send_data(struct rxrpc_call *, struct msghdr *, | |
42 | size_t); | |
43 | extern void rxrpc_kernel_abort_call(struct rxrpc_call *, u32); | |
44 | extern void rxrpc_kernel_end_call(struct rxrpc_call *); | |
45 | extern bool rxrpc_kernel_is_data_last(struct sk_buff *); | |
46 | extern u32 rxrpc_kernel_get_abort_code(struct sk_buff *); | |
47 | extern int rxrpc_kernel_get_error_number(struct sk_buff *); | |
48 | extern void rxrpc_kernel_data_delivered(struct sk_buff *); | |
49 | extern void rxrpc_kernel_free_skb(struct sk_buff *); | |
50 | extern struct rxrpc_call *rxrpc_kernel_accept_call(struct socket *, | |
51 | unsigned long); | |
52 | extern int rxrpc_kernel_reject_call(struct socket *); | |
53 | ||
17926a79 | 54 | #endif /* _NET_RXRPC_H */ |