int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) { libc_func(bind, int, int, const struct sockaddr *, socklen_t); int res; res = netlink_bind(sockfd, addr, addrlen); if (res != UNHANDLED) return res; return _bind(sockfd, addr, addrlen); }
int main(int argc, char* argv[]) { int fd; if (argc == 2) { filefd = open(argv[1], O_WRONLY|O_APPEND | O_CREAT, S_IRUSR | S_IWUSR); if (filefd < 0) { printf("open file %s: %s", argv[1], strerror(errno)); return -1; } } else{ filefd = 1; } fd = netlink_bind(NETLINK_TCP_RECORD); if(fd == -1){ printf("error getting socket: %s", strerror(errno)); return -1; } int rc; rc = netlink_send(fd, "hi", 100); if (rc < 0) { printf("get error sendmsg = %s\n",strerror(errno)); return -1; } printf("waiting received!\n"); netlink_recv(fd, msg_handler); close(fd); return 0; }