File:  [Qemu by Fabrice Bellard] / qemu / slirp / libslirp.h
Revision 1.1.1.8 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:51:34 2018 UTC (2 years, 11 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, HEAD
qemu 1.1.1

    1: #ifndef _LIBSLIRP_H
    2: #define _LIBSLIRP_H
    3: 
    4: #include "qemu-common.h"
    5: 
    6: struct Slirp;
    7: typedef struct Slirp Slirp;
    8: 
    9: int get_dns_addr(struct in_addr *pdns_addr);
   10: 
   11: Slirp *slirp_init(int restricted, struct in_addr vnetwork,
   12:                   struct in_addr vnetmask, struct in_addr vhost,
   13:                   const char *vhostname, const char *tftp_path,
   14:                   const char *bootfile, struct in_addr vdhcp_start,
   15:                   struct in_addr vnameserver, void *opaque);
   16: void slirp_cleanup(Slirp *slirp);
   17: 
   18: void slirp_update_timeout(uint32_t *timeout);
   19: void slirp_select_fill(int *pnfds,
   20:                        fd_set *readfds, fd_set *writefds, fd_set *xfds);
   21: 
   22: void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds,
   23:                        int select_error);
   24: 
   25: void slirp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len);
   26: 
   27: /* you must provide the following functions: */
   28: int slirp_can_output(void *opaque);
   29: void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len);
   30: 
   31: int slirp_add_hostfwd(Slirp *slirp, int is_udp,
   32:                       struct in_addr host_addr, int host_port,
   33:                       struct in_addr guest_addr, int guest_port);
   34: int slirp_remove_hostfwd(Slirp *slirp, int is_udp,
   35:                          struct in_addr host_addr, int host_port);
   36: int slirp_add_exec(Slirp *slirp, int do_pty, const void *args,
   37:                    struct in_addr *guest_addr, int guest_port);
   38: 
   39: void slirp_connection_info(Slirp *slirp, Monitor *mon);
   40: 
   41: void slirp_socket_recv(Slirp *slirp, struct in_addr guest_addr,
   42:                        int guest_port, const uint8_t *buf, int size);
   43: size_t slirp_socket_can_recv(Slirp *slirp, struct in_addr guest_addr,
   44:                              int guest_port);
   45: 
   46: #endif

unix.superglobalmegacorp.com