nb_name.c revision 02d09e03eb27f3a2dc299de704e45dae5173f43f
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright (c) 2000, Boris Popov
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Redistribution and use in source and binary forms, with or without
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * modification, are permitted provided that the following conditions
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 1. Redistributions of source code must retain the above copyright
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * notice, this list of conditions and the following disclaimer.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 2. Redistributions in binary form must reproduce the above copyright
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * notice, this list of conditions and the following disclaimer in the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * documentation and/or other materials provided with the distribution.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 3. All advertising materials mentioning features or use of this software
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * must display the following acknowledgement:
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * This product includes software developed by Boris Popov.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * 4. Neither the name of the author nor the names of any co-contributors
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * may be used to endorse or promote products derived from this software
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * without specific prior written permission.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * SUCH DAMAGE.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * $Id: nb_name.c,v 1.11 2004/12/11 05:23:59 lindak Exp $
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Create a full NETBIOS address
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Passed names should already be upper case.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Stores the names truncated or blank padded.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * NetBIOS name encoding happens later.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtisnb_sockaddr(struct sockaddr *peer, struct nb_name *np,
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis /* Star is special: No blanks, type, etc. */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis /* Normal name: pad with blanks, add type. */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis for (name = np->nn_scope; *name; name++) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis return (-1); /* first two bytes are offset to name */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtisnb_name_encode(struct mbdata *mbp, struct nb_name *nn)
for (i = 0; i < NB_NAMELEN; i++) {
lblen = 0;
if (lblen)
*plen = 0;
lblen = 0;
lblen++;