Line data Source code
1 : /* 2 : Unix SMB/CIFS implementation. 3 : 4 : Copyright (C) Stefan Metzmacher 2004 5 : 6 : This program is free software; you can redistribute it and/or modify 7 : it under the terms of the GNU General Public License as published by 8 : the Free Software Foundation; either version 3 of the License, or 9 : (at your option) any later version. 10 : 11 : This program is distributed in the hope that it will be useful, 12 : but WITHOUT ANY WARRANTY; without even the implied warranty of 13 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 : GNU General Public License for more details. 15 : 16 : You should have received a copy of the GNU General Public License 17 : along with this program. If not, see <http://www.gnu.org/licenses/>. 18 : */ 19 : 20 : #include "includes.h" 21 : #include "libnet/libnet.h" 22 : #include "lib/events/events.h" 23 : #include "param/param.h" 24 : #include "libcli/resolve/resolve.h" 25 : 26 4526 : struct libnet_context *libnet_context_init(struct tevent_context *ev, 27 : struct loadparm_context *lp_ctx) 28 : { 29 2783 : struct libnet_context *ctx; 30 : 31 : /* We require an event context here */ 32 4526 : if (!ev) { 33 0 : return NULL; 34 : } 35 : 36 : /* create brand new libnet context */ 37 4526 : ctx = talloc_zero(ev, struct libnet_context); 38 4526 : if (!ctx) { 39 0 : return NULL; 40 : } 41 : 42 4526 : ctx->event_ctx = ev; 43 4526 : ctx->lp_ctx = lp_ctx; 44 : 45 : /* make sure dcerpc is initialized */ 46 4526 : dcerpc_init(); 47 : 48 : /* name resolution methods */ 49 4526 : ctx->resolve_ctx = lpcfg_resolve_context(lp_ctx); 50 : 51 : /* default buffer size for various operations requiring specifying a buffer */ 52 4526 : ctx->samr.buf_size = 128; 53 : 54 4526 : return ctx; 55 : }