private.h revision 9c9af2590af49bb395bc8d2eace0f2d4ea16d165
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Copyright (c) 2000-2001 Boris Popov
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * All rights reserved.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Redistribution and use in source and binary forms, with or without
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * modification, are permitted provided that the following conditions
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * 1. Redistributions of source code must retain the above copyright
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * notice, this list of conditions and the following disclaimer.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * 2. Redistributions in binary form must reproduce the above copyright
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * notice, this list of conditions and the following disclaimer in the
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * documentation and/or other materials provided with the distribution.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * 3. All advertising materials mentioning features or use of this software
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * must display the following acknowledgement:
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * This product includes software developed by Boris Popov.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * 4. Neither the name of the author nor the names of any co-contributors
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * may be used to endorse or promote products derived from this software
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * without specific prior written permission.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * SUCH DAMAGE.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Use is subject to license terms.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Private declarations for this library.
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * BSD-style mbuf simulation
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross#if 0 /* in smb_lib.h */
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross#define M_ALIGNFACTOR (sizeof (long))
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross#define M_ALIGN(len) (((len) + M_ALIGNFACTOR - 1) & ~(M_ALIGNFACTOR - 1))
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross#define M_TRAILINGSPACE(m) ((m)->m_maxlen - (m)->m_len)
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * request handling structures
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint smb_rq_init(struct smb_ctx *, uchar_t, size_t, struct smb_rq **);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint smb_rq_dmem(struct mbdata *, const char *, size_t);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint smb_rq_dstring(struct mbdata *, const char *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint m_getm(struct mbuf *, size_t, struct mbuf **);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_fit(struct mbdata *mbp, size_t size, char **pp);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_put_mem(struct mbdata *, const char *, size_t);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_put_pstring(struct mbdata *mbp, const char *s);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint16le(struct mbdata *, uint16_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint16be(struct mbdata *, uint16_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint32be(struct mbdata *, uint32_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint32le(struct mbdata *, uint32_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint64be(struct mbdata *, uint64_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint mb_get_uint64le(struct mbdata *, uint64_t *);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross * Network stuff (NetBIOS and otherwise)
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross/* new flag UCflag. 1=uppercase,0=don't */
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint nb_snballoc(int namelen, struct sockaddr_nb **);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint nb_sockaddr(struct sockaddr *, struct nb_name *, struct sockaddr_nb **);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint nbns_resolvename(const char *, struct nb_ctx *, struct sockaddr **);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Rossint nbns_getnodestatus(struct sockaddr *targethost,
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross struct nb_ctx *ctx, char *system, char *workgroup);
9c9af2590af49bb395bc8d2eace0f2d4ea16d165Gordon Ross#endif /* _PRIVATE_H */