From 4bbf70b9f367afab929cb6c2f214475ee09b2403 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 26 Mar 2018 16:46:52 +0200 Subject: initial checkin of unix domain socket tracer --- sock_events.h | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sock_events.h (limited to 'sock_events.h') diff --git a/sock_events.h b/sock_events.h new file mode 100644 index 0000000..534187c --- /dev/null +++ b/sock_events.h @@ -0,0 +1,74 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +// Events hooks + +void sock_ev_socket(int fd, int domain, int type, int protocol); + +void sock_ev_bind(int fd, int ret, int err, const struct sockaddr *addr, + socklen_t len); + +void sock_ev_connect(int fd, int ret, int err, const struct sockaddr *addr, + socklen_t len); + +void sock_ev_listen(int fd, int ret, int err, int backlog); + +void sock_ev_accept(int fd, int ret, int err, struct sockaddr *addr, + socklen_t *addr_len); + +void sock_ev_accept4(int fd, int ret, int err, struct sockaddr *addr, + socklen_t *addr_len, int flags); + +void sock_ev_send(int fd, int ret, int err, const void *buf, size_t bytes, + int flags); + +void sock_ev_recv(int fd, int ret, int err, void *buf, size_t bytes, int flags); + +void sock_ev_sendto(int fd, int ret, int err, const void *buf, size_t bytes, + int flags, const struct sockaddr *addr, socklen_t len); + +void sock_ev_recvfrom(int fd, int ret, int err, void *buf, size_t bytes, + int flags, const struct sockaddr *addr, socklen_t *len); + +void sock_ev_sendmsg(int fd, int ret, int err, const struct msghdr *msg, + int flags); + +void sock_ev_recvmsg(int fd, int ret, int err, const struct msghdr *msg, + int flags); + +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 +void sock_ev_sendmmsg(int fd, int ret, int err, const struct mmsghdr *vmessages, + unsigned int vlen, int flags); + +void sock_ev_recvmmsg(int fd, int ret, int err, const struct mmsghdr *vmessages, + unsigned int vlen, int flags, const struct timespec *tmo); +#endif + +void sock_ev_write(int fd, int ret, int err, const void *buf, size_t bytes); + +void sock_ev_read(int fd, int ret, int err, void *buf, size_t bytes); + +void sock_ev_close(int fd, int ret, int err); + +void sock_ev_dup(int fd, int ret, int err); + +void sock_ev_dup2(int fd, int ret, int err, int newfd); + +void sock_ev_dup3(int fd, int ret, int err, int newfd, int flags); + +void sock_ev_writev(int fd, int ret, int err, const struct iovec *iovec, + int iovec_count); + +void sock_ev_readv(int fd, int ret, int err, const struct iovec *iovec, + int iovec_count); + +void sock_ev_sendfile(int fd, int ret, int err, int in_fd, off_t *offset, + size_t bytes); -- cgit v1.2.3