Annotation of qemu/slirp/libslirp.h, revision 1.1.1.5

1.1       root        1: #ifndef _LIBSLIRP_H
                      2: #define _LIBSLIRP_H
                      3: 
1.1.1.5 ! root        4: #include <qemu-common.h>
        !             5: 
        !             6: #ifdef CONFIG_SLIRP
        !             7: 
        !             8: struct Slirp;
        !             9: typedef struct Slirp Slirp;
1.1       root       10: 
1.1.1.5 ! root       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);
1.1       root       17: 
1.1.1.3   root       18: void slirp_select_fill(int *pnfds,
1.1       root       19:                        fd_set *readfds, fd_set *writefds, fd_set *xfds);
                     20: 
1.1.1.5 ! root       21: void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds,
        !            22:                        int select_error);
1.1       root       23: 
1.1.1.5 ! root       24: void slirp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len);
1.1       root       25: 
                     26: /* you must provide the following functions: */
1.1.1.5 ! root       27: int slirp_can_output(void *opaque);
        !            28: void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len);
1.1       root       29: 
1.1.1.5 ! root       30: int slirp_add_hostfwd(Slirp *slirp, int is_udp,
        !            31:                       struct in_addr host_addr, int host_port,
        !            32:                       struct in_addr guest_addr, int guest_port);
        !            33: int slirp_remove_hostfwd(Slirp *slirp, int is_udp,
        !            34:                          struct in_addr host_addr, int host_port);
        !            35: int slirp_add_exec(Slirp *slirp, int do_pty, const void *args,
        !            36:                    struct in_addr *guest_addr, int guest_port);
        !            37: 
        !            38: void slirp_connection_info(Slirp *slirp, Monitor *mon);
        !            39: 
        !            40: void slirp_socket_recv(Slirp *slirp, struct in_addr guest_addr,
        !            41:                        int guest_port, const uint8_t *buf, int size);
        !            42: size_t slirp_socket_can_recv(Slirp *slirp, struct in_addr guest_addr,
        !            43:                              int guest_port);
        !            44: 
        !            45: #else /* !CONFIG_SLIRP */
        !            46: 
        !            47: static inline void slirp_select_fill(int *pnfds, fd_set *readfds,
        !            48:                                      fd_set *writefds, fd_set *xfds) { }
        !            49: 
        !            50: static inline void slirp_select_poll(fd_set *readfds, fd_set *writefds,
        !            51:                                      fd_set *xfds, int select_error) { }
        !            52: #endif /* !CONFIG_SLIRP */
1.1       root       53: 
                     54: #endif

unix.superglobalmegacorp.com