diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-04-03 17:29:12 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-05-01 17:38:21 +0200 |
commit | 9dbb535aa5d79a748874d1a85ef8cb6f6b195e52 (patch) | |
tree | 879b5d01757ec9aae17d2a3e23752dca2320dc88 /lib/tsocket/tsocket_connect.c | |
parent | 5604e8d614c938876b0a8cbc6f8c38262588f961 (diff) | |
download | samba-9dbb535aa5d79a748874d1a85ef8cb6f6b195e52.tar.gz samba-9dbb535aa5d79a748874d1a85ef8cb6f6b195e52.tar.bz2 samba-9dbb535aa5d79a748874d1a85ef8cb6f6b195e52.zip |
tsocket: remove tsocket_context related stuff
It will be replaced by tdgram_context and tstream_context.
metze
Diffstat (limited to 'lib/tsocket/tsocket_connect.c')
-rw-r--r-- | lib/tsocket/tsocket_connect.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/lib/tsocket/tsocket_connect.c b/lib/tsocket/tsocket_connect.c deleted file mode 100644 index 7a9d4b8381..0000000000 --- a/lib/tsocket/tsocket_connect.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - Unix SMB/CIFS implementation. - - Copyright (C) Stefan Metzmacher 2009 - - ** NOTE! The following LGPL license applies to the tevent - ** library. This does NOT imply that all of Samba is released - ** under the LGPL - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see <http://www.gnu.org/licenses/>. -*/ - -#include "replace.h" -#include "system/network.h" -#include "tsocket.h" -#include "tsocket_internal.h" - -struct tsocket_connect_state { - /* this structs are owned by the caller */ - struct { - struct tsocket_context *sock; - const struct tsocket_address *dst; - } caller; -}; - -static void tsocket_connect_handler(struct tsocket_context *sock, - void *private_data); - -struct tevent_req *tsocket_connect_send(struct tsocket_context *sock, - TALLOC_CTX *mem_ctx, - const struct tsocket_address *dst) -{ - struct tevent_req *req; - struct tsocket_connect_state *state; - int ret; - int err; - bool retry; - bool dummy; - - req = tevent_req_create(mem_ctx, &state, - struct tsocket_connect_state); - if (!req) { - return NULL; - } - - state->caller.sock = sock; - state->caller.dst = dst; - - ret = tsocket_connect(state->caller.sock, - state->caller.dst); - err = tsocket_error_from_errno(ret, errno, &retry); - if (retry) { - /* retry later */ - goto async; - } - if (tevent_req_error(req, err)) { - goto post; - } - - tevent_req_done(req); - goto post; - - async: - ret = tsocket_set_readable_handler(state->caller.sock, - tsocket_connect_handler, - req); - err = tsocket_error_from_errno(ret, errno, &dummy); - if (tevent_req_error(req, err)) { - goto post; - } - - return req; - - post: - return tevent_req_post(req, sock->event.ctx); -} - -static void tsocket_connect_handler(struct tsocket_context *sock, - void *private_data) -{ - struct tevent_req *req = talloc_get_type(private_data, - struct tevent_req); - struct tsocket_connect_state *state = tevent_req_data(req, - struct tsocket_connect_state); - int ret; - int err; - bool retry; - - ret = tsocket_get_status(state->caller.sock); - err = tsocket_error_from_errno(ret, errno, &retry); - if (retry) { - /* retry later */ - return; - } - if (tevent_req_error(req, err)) { - return; - } - - tevent_req_done(req); -} - -int tsocket_connect_recv(struct tevent_req *req, int *perrno) -{ - int ret; - - ret = tsocket_simple_int_recv(req, perrno); - - tevent_req_received(req); - return ret; -} - |