INTERPOSE (bind, int, int sockfd, const struct sockaddr * addr, socklen_t addrlen) { v4v_addr_t v4va; CHECK_INTERPOSE (bind); if (!is_our_fd (sockfd)) return orig_bind (sockfd, addr, addrlen); if (addr->sa_family == AF_XENV4V) register_af (sockfd); else unregister_af (sockfd); if (v4v_map_sa_to_v4va (&v4va, addr, addrlen)) return -EINVAL; return v4v_bind (sockfd, &v4va, getenv ("V4V_ACCEPT_DOM0_ONLY") ? 0 : V4V_DOMID_NONE); }
static void but_bind(BUTTON *b, char *bind_ident, char *message) { b->wd->flags |= WID_FLAGS_TAKEFOCUS; orig_bind(b, bind_ident, message); }
/* Overload bind */ int bind(int sockfd, const struct sockaddr *my_addr, socklen_t addrlen) { printf("Called bind\n"); return orig_bind(sockfd, my_addr, addrlen); }