summaryrefslogtreecommitdiff
path: root/sock_events.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-03-26 16:46:52 +0200
committerHarald Welte <laforge@gnumonks.org>2018-03-26 16:46:52 +0200
commit4bbf70b9f367afab929cb6c2f214475ee09b2403 (patch)
tree7286581fdd29535f7ab7526d6d231f0f5fd8a520 /sock_events.h
initial checkin of unix domain socket tracer
Diffstat (limited to 'sock_events.h')
-rw-r--r--sock_events.h74
1 files changed, 74 insertions, 0 deletions
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 <netinet/tcp.h>
+#include <pcap/pcap.h>
+#include <pthread.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <sys/epoll.h>
+#include <sys/socket.h>
+#include <time.h>
+
+// 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);
personal git repositories of Harald Welte. Your mileage may vary