diff options
Diffstat (limited to 'accel-pppd/net.c')
-rw-r--r-- | accel-pppd/net.c | 52 |
1 files changed, 47 insertions, 5 deletions
diff --git a/accel-pppd/net.c b/accel-pppd/net.c index 054885e4..cbd47304 100644 --- a/accel-pppd/net.c +++ b/accel-pppd/net.c @@ -8,16 +8,51 @@ __export __thread const struct ap_net *net; -static int def_pppox_socket(int proto) +static int def_socket(int domain, int type, int proto) { - return socket(AF_PPPOX, SOCK_STREAM, proto); + return socket(domain, type, proto); } -static int def_pppox_connect(int sock, const struct sockaddr *addr, socklen_t len) +static int def_connect(int sock, const struct sockaddr *addr, socklen_t len) { return connect(sock, addr, len); } +static int def_bind(int sock, const struct sockaddr *addr, socklen_t len) +{ + return bind(sock, addr, len); +} + +static int def_listen(int sock, int backlog) +{ + return listen(sock, backlog); +} + +static ssize_t def_recv(int sock, void *buf, size_t len, int flags) +{ + return recv(sock, buf, len, flags); +} + +static ssize_t def_recvfrom(int sock, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen) +{ + return recvfrom(sock, buf, len, flags, src_addr, addrlen); +} + +static ssize_t def_send(int sock, const void *buf, size_t len, int flags) +{ + return send(sock, buf, len, flags); +} + +static ssize_t def_sendto(int sock, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen) +{ + return sendto(sock, buf, len, flags, dest_addr, addrlen); +} + +static int def_set_nonblocking(int sock, int f) +{ + return fcntl(sock, F_SETFL, O_NONBLOCK); +} + static int def_ppp_open() { return open("/dev/ppp", O_RDWR); @@ -34,8 +69,15 @@ static int def_sock_ioctl(unsigned long request, void *arg) } __export const struct ap_net def_net = { - .pppox_socket = def_pppox_socket, - .pppox_connect = def_pppox_connect, + .socket = def_socket, + .connect = def_connect, + .bind = def_bind, + .listen = def_listen, + .recv = def_recv, + .recvfrom = def_recvfrom, + .send = def_send, + .sendto = def_sendto, + .set_nonblocking = def_set_nonblocking, .ppp_open = def_ppp_open, .ppp_ioctl = def_ppp_ioctl, .sock_ioctl = def_sock_ioctl, |