#include "lib/events/events.h"
#include "libcli/composite/composite.h"
#include "libcli/resolve/resolve.h"
-#include "param/param.h"
#define MULTI_PORT_DELAY 2000 /* microseconds */
};
static void continue_resolve_name(struct composite_context *creq);
-static void connect_multi_timer(struct event_context *ev,
- struct timed_event *te,
+static void connect_multi_timer(struct tevent_context *ev,
+ struct tevent_timer *te,
struct timeval tv, void *p);
static void connect_multi_next_socket(struct composite_context *result);
static void continue_one(struct composite_context *creq);
const char *server_address,
int num_server_ports,
uint16_t *server_ports,
- struct event_context *event_ctx)
+ struct resolve_context *resolve_ctx,
+ struct tevent_context *event_ctx)
{
struct composite_context *result;
struct connect_multi_state *multi;
*/
struct nbt_name name;
struct composite_context *creq;
- make_nbt_name_client(&name, server_address);
- creq = resolve_name_send(&name, result->event_ctx,
- lp_name_resolve_order());
+ make_nbt_name_server(&name, server_address);
+ creq = resolve_name_send(resolve_ctx, &name, result->event_ctx);
if (composite_nomem(creq, result)) goto failed;
composite_continue(result, creq, continue_resolve_name, result);
return result;
talloc_steal(state, state->sock);
creq = socket_connect_send(state->sock, NULL,
- state->addr, 0, result->event_ctx);
+ state->addr, 0,
+ result->event_ctx);
if (composite_nomem(creq, result)) return;
talloc_steal(state, creq);
/*
a timer has gone off telling us that we should try the next port
*/
-static void connect_multi_timer(struct event_context *ev,
- struct timed_event *te,
+static void connect_multi_timer(struct tevent_context *ev,
+ struct tevent_timer *te,
struct timeval tv, void *p)
{
struct composite_context *result = talloc_get_type(p, struct composite_context);
NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx,
const char *server_address,
int num_server_ports, uint16_t *server_ports,
- struct event_context *event_ctx,
+ struct resolve_context *resolve_ctx,
+ struct tevent_context *event_ctx,
struct socket_context **result,
uint16_t *result_port)
{
struct composite_context *ctx =
socket_connect_multi_send(mem_ctx, server_address,
num_server_ports, server_ports,
+ resolve_ctx,
event_ctx);
return socket_connect_multi_recv(ctx, mem_ctx, result, result_port);
}