85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * CDDL HEADER START
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * The contents of this file are subject to the terms of the
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Common Development and Distribution License (the "License").
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * You may not use this file except in compliance with the License.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * See the License for the specific language governing permissions
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * and limitations under the License.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * When distributing Covered Code, include this CDDL HEADER in each
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * If applicable, add the following below this CDDL HEADER, with the
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * fields enclosed by brackets "[]" replaced with your own identifying
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * information: Portions Copyright [yyyy] [name of copyright owner]
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * CDDL HEADER END
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Copyright 2013 Nexenta Systems, Inc. All rights reserved.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Test program for opening an SMB connection directly.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross printf("usage: tconn [-d domain][-u user][-p passwd] server\n");
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross while ((c = getopt(argc, argv, "vd:p:s:u:")) != -1) {
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross switch (c) {
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross if (pw != NULL && (dom == NULL || usr == NULL)) {
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross fprintf(stderr, "%s: -p arg requires -d dom -u usr\n",
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * This section is intended to demonstrate how an
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * RPC client library might use this interface.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross fprintf(stderr, "%s: smb_ctx_alloc failed\n", argv[0]);
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Set server, share, domain, user
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * (in the ctx handle).
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Hackish option to override the Authentication Type flags.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Sorry about exposing the flag values here, but this is
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * really a programmer's test tool. See smbfs_api.h for
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * the SMB_AT_... flag values.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * Resolve the server address,
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * setup derived defaults.
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross fprintf(stderr, "%s: smb_ctx_resolve failed\n", argv[0]);
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross fprintf(stderr, "%s: no ct_addrinfo\n", argv[0]);
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross memcpy(&ctx->ct_srvaddr, ai->ai_addr, ai->ai_addrlen);
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * If this code were in smbutil or mount_smbfs, it would
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross * get system and $HOME/.nsmbrc settings here, like this:
85e6b6747d07050e01ec91acef2453655821f9abGordon Ross fprintf(stderr, "%s: smb_iod_connect failed\n", argv[0]);