Blame view

net/tipc/socket.h 3.44 KB
8826cde65   Jon Paul Maloy   tipc: aggregate p...
1
2
  /* net/tipc/socket.h: Include file for TIPC socket code
   *
10724cc7b   Jon Paul Maloy   tipc: redesign co...
3
   * Copyright (c) 2014-2016, Ericsson AB
8826cde65   Jon Paul Maloy   tipc: aggregate p...
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in the
   *    documentation and/or other materials provided with the distribution.
   * 3. Neither the names of the copyright holders nor the names of its
   *    contributors may be used to endorse or promote products derived from
   *    this software without specific prior written permission.
   *
   * Alternatively, this software may be distributed under the terms of the
   * GNU General Public License ("GPL") version 2 as published by the Free
   * Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   * POSSIBILITY OF SUCH DAMAGE.
   */
  
  #ifndef _TIPC_SOCK_H
  #define _TIPC_SOCK_H
8826cde65   Jon Paul Maloy   tipc: aggregate p...
37
  #include <net/sock.h>
34b78a127   Richard Alpe   tipc: add sock du...
38
  #include <net/genetlink.h>
8826cde65   Jon Paul Maloy   tipc: aggregate p...
39

10724cc7b   Jon Paul Maloy   tipc: redesign co...
40
41
42
43
44
45
46
47
48
49
  /* Compatibility values for deprecated message based flow control */
  #define FLOWCTL_MSG_WIN 512
  #define FLOWCTL_MSG_LIM ((FLOWCTL_MSG_WIN * 2 + 1) * SKB_TRUESIZE(MAX_MSG_SIZE))
  
  #define FLOWCTL_BLK_SZ 1024
  
  /* Socket receive buffer sizes */
  #define RCVBUF_MIN  (FLOWCTL_BLK_SZ * 512)
  #define RCVBUF_DEF  (FLOWCTL_BLK_SZ * 1024 * 2)
  #define RCVBUF_MAX  (FLOWCTL_BLK_SZ * 1024 * 16)
c30b70deb   GhantaKrishnamurthy MohanKrishna   tipc: implement s...
50
  struct tipc_sock;
859fc7c0c   Ying Xue   tipc: cleanup cor...
51
52
  int tipc_socket_init(void);
  void tipc_socket_stop(void);
cda3696d3   Jon Paul Maloy   tipc: clean up so...
53
  void tipc_sk_rcv(struct net *net, struct sk_buff_head *inputq);
cb1b72809   Jon Paul Maloy   tipc: eliminate r...
54
55
  void tipc_sk_mcast_rcv(struct net *net, struct sk_buff_head *arrvq,
  		       struct sk_buff_head *inputq);
e05b31f4b   Ying Xue   tipc: make tipc s...
56
57
58
  void tipc_sk_reinit(struct net *net);
  int tipc_sk_rht_init(struct net *net);
  void tipc_sk_rht_destroy(struct net *net);
34b78a127   Richard Alpe   tipc: add sock du...
59
  int tipc_nl_sk_dump(struct sk_buff *skb, struct netlink_callback *cb);
1a1a143da   Richard Alpe   tipc: add publica...
60
  int tipc_nl_publ_dump(struct sk_buff *skb, struct netlink_callback *cb);
e41f05484   Cong Wang   tipc: use the rig...
61
62
  int tipc_sk_fill_sock_diag(struct sk_buff *skb, struct netlink_callback *cb,
  			   struct tipc_sock *tsk, u32 sk_filter_state,
c30b70deb   GhantaKrishnamurthy MohanKrishna   tipc: implement s...
63
64
65
66
67
  			   u64 (*tipc_diag_gen_cookie)(struct sock *sk));
  int tipc_nl_sk_walk(struct sk_buff *skb, struct netlink_callback *cb,
  		    int (*skb_handler)(struct sk_buff *skb,
  				       struct netlink_callback *cb,
  				       struct tipc_sock *tsk));
9a07efa9a   Cong Wang   tipc: switch to r...
68
  int tipc_dump_start(struct netlink_callback *cb);
8f5c5fcf3   Cong Wang   tipc: call start ...
69
  int __tipc_dump_start(struct netlink_callback *cb, struct net *net);
9a07efa9a   Cong Wang   tipc: switch to r...
70
  int tipc_dump_done(struct netlink_callback *cb);
b4b9771bc   Tuong Lien   tipc: enable trac...
71
  u32 tipc_sock_get_portid(struct sock *sk);
01e661ebf   Tuong Lien   tipc: add trace_e...
72
73
  bool tipc_sk_overlimit1(struct sock *sk, struct sk_buff *skb);
  bool tipc_sk_overlimit2(struct sock *sk, struct sk_buff *skb);
b4b9771bc   Tuong Lien   tipc: enable trac...
74

8826cde65   Jon Paul Maloy   tipc: aggregate p...
75
  #endif