xref: /openbmc/qemu/net/clients.h (revision 623d7e3551a6fc5693c06ea938c60fe281b52e27)
1  /*
2   * QEMU System Emulator
3   *
4   * Copyright (c) 2003-2008 Fabrice Bellard
5   *
6   * Permission is hereby granted, free of charge, to any person obtaining a copy
7   * of this software and associated documentation files (the "Software"), to deal
8   * in the Software without restriction, including without limitation the rights
9   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10   * copies of the Software, and to permit persons to whom the Software is
11   * furnished to do so, subject to the following conditions:
12   *
13   * The above copyright notice and this permission notice shall be included in
14   * all copies or substantial portions of the Software.
15   *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19   * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22   * THE SOFTWARE.
23   */
24  #ifndef QEMU_NET_CLIENTS_H
25  #define QEMU_NET_CLIENTS_H
26  
27  #include "net/net.h"
28  
29  int net_init_dump(const Netdev *netdev, const char *name,
30                    NetClientState *peer, Error **errp);
31  
32  #ifdef CONFIG_SLIRP
33  int net_init_slirp(const Netdev *netdev, const char *name,
34                     NetClientState *peer, Error **errp);
35  #endif
36  
37  int net_init_hubport(const Netdev *netdev, const char *name,
38                       NetClientState *peer, Error **errp);
39  
40  int net_init_socket(const Netdev *netdev, const char *name,
41                      NetClientState *peer, Error **errp);
42  
43  int net_init_stream(const Netdev *netdev, const char *name,
44                      NetClientState *peer, Error **errp);
45  
46  int net_init_dgram(const Netdev *netdev, const char *name,
47                     NetClientState *peer, Error **errp);
48  
49  int net_init_tap(const Netdev *netdev, const char *name,
50                   NetClientState *peer, Error **errp);
51  
52  int net_init_bridge(const Netdev *netdev, const char *name,
53                      NetClientState *peer, Error **errp);
54  
55  int net_init_l2tpv3(const Netdev *netdev, const char *name,
56                      NetClientState *peer, Error **errp);
57  #ifdef CONFIG_VDE
58  int net_init_vde(const Netdev *netdev, const char *name,
59                   NetClientState *peer, Error **errp);
60  #endif
61  
62  #ifdef CONFIG_NETMAP
63  int net_init_netmap(const Netdev *netdev, const char *name,
64                      NetClientState *peer, Error **errp);
65  #endif
66  
67  int net_init_vhost_user(const Netdev *netdev, const char *name,
68                          NetClientState *peer, Error **errp);
69  
70  int net_init_vhost_vdpa(const Netdev *netdev, const char *name,
71                          NetClientState *peer, Error **errp);
72  #ifdef CONFIG_VMNET
73  int net_init_vmnet_host(const Netdev *netdev, const char *name,
74                            NetClientState *peer, Error **errp);
75  
76  int net_init_vmnet_shared(const Netdev *netdev, const char *name,
77                            NetClientState *peer, Error **errp);
78  
79  int net_init_vmnet_bridged(const Netdev *netdev, const char *name,
80                            NetClientState *peer, Error **errp);
81  #endif /* CONFIG_VMNET */
82  
83  #endif /* QEMU_NET_CLIENTS_H */
84