int protocol,
const struct sockaddr_storage *pss,
uint16_t port,
- int timeout);
+ int timeout,
+ void (*before_connect)(int fd, void *private_data),
+ void (*after_connect)(int fd, void *private_data),
+ void *private_data);
NTSTATUS open_socket_out_recv(struct tevent_req *req, int *pfd);
const char *get_peer_addr(int fd, char *addr, size_t addr_len);
int protocol,
const struct sockaddr_storage *pss,
uint16_t port,
- int timeout)
+ int timeout,
+ void (*before_connect)(int fd, void *private_data),
+ void (*after_connect)(int fd, void *private_data),
+ void *private_data)
{
char addr[INET6_ADDRSTRLEN];
struct tevent_req *req;
state->connect_subreq = async_connect_send(
state, state->ev, state->fd, &state->saddr.u.sa,
- state->saddr.sa_socklen, NULL, NULL, NULL);
+ state->saddr.sa_socklen,
+ before_connect, after_connect, private_data);
if (tevent_req_nomem(state->connect_subreq, NULL)) {
return tevent_req_post(req, ev);
}
goto fail;
}
- req = open_socket_out_send(frame, ev, IPPROTO_TCP, pss, port, timeout);
+ req = open_socket_out_send(frame, ev, IPPROTO_TCP, pss, port, timeout,
+ NULL, NULL, NULL);
if (req == NULL) {
goto fail;
}
IPPROTO_TCP,
addr,
port,
- 5000);
+ 5000,
+ NULL,
+ NULL,
+ NULL);
if (tevent_req_nomem(subreq, req)) {
return tevent_req_post(req, ev);
}
IPPROTO_TCP,
state->addr,
NBT_SMB_PORT,
- 5000);
+ 5000,
+ NULL,
+ NULL,
+ NULL);
if (tevent_req_nomem(subreq, req)) {
return;
}
IPPROTO_TCP,
state->addr,
s->transport.port,
- 5000);
+ 5000,
+ NULL,
+ NULL,
+ NULL);
if (tevent_req_nomem(s->subreq, req)) {
return false;
}
IPPROTO_QUIC,
state->addr,
s->transport.port,
- 5000);
+ 5000,
+ NULL,
+ NULL,
+ NULL);
if (tevent_req_nomem(s->subreq, req)) {
return false;
}