AppleWin/source/linux/network/slirp2.h
Andrea Odetti d2d241cf9c Uthernet 2: add support for TCP sockets.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
2021-05-05 15:02:42 +01:00

28 lines
566 B
C++

#pragma once
#include <memory>
#include <vector>
#include <queue>
#include <poll.h>
struct Slirp;
class SlirpNet
{
public:
SlirpNet();
void sendFromGuest(const uint8_t *pkt, int pkt_len);
void sendToGuest(const uint8_t *pkt, int pkt_len);
void process(const uint32_t timeout);
int addPoll(const int fd, const int events);
int getREvents(const int idx) const;
std::queue<std::vector<uint8_t>> & getQueue();
void clearQueue();
private:
std::shared_ptr<Slirp> mySlirp;
std::vector<pollfd> myFDs;
std::queue<std::vector<uint8_t>> myQueue;
};