9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Use is subject to license terms.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Permission to use, copy, modify, and/or distribute this software for any
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * purpose with or without fee is hereby granted, provided that the above
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * copyright notice and this permission notice appear in all copies.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * PERFORMANCE OF THIS SOFTWARE.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibstatic const char rcsid[] = "$Id: ns_newmsg.c,v 1.3 2009/02/26 10:48:57 marka Exp $";
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibstatic int rdcpy(ns_newmsg *, ns_type, const u_char *, size_t);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Initialize a "newmsg" object to empty.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibns_newmsg_init(u_char *buffer, size_t bufsiz, ns_newmsg *handle) {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib handle->lastdnptr = &handle->dnptrs[sizeof handle->dnptrs /
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Initialize a "newmsg" object by copying an existing parsed message.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib ns_newmsg_flag(handle, flag, ns_msg_getflag(*msg, flag));
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib for (i = 0; i < count; i++) {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Set the message-ID in a "newmsg" object.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Set a flag (including rcode or opcode) in a "newmsg" object.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibns_newmsg_flag(ns_newmsg *handle, ns_flag flag, u_int value) {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Add a question (or zone, if it's an update) to a "newmsg" object.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Add an RR to a "newmsg" object.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Complete a "newmsg" object and return its size for use in write().
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * (Note: the "newmsg" object is also made ready for ns_parserr() etc.)
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Private. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/* Copy an RDATA, using compression pointers where RFC1035 permits.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibrdcpy(ns_newmsg *handle, ns_type type, const u_char *rdata, size_t rdlen) {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib u_char *p = (u_char *) (unsigned long) msg->_msg_ptr;
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib /* MNAME. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib /* ANAME. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib /* Serial, Refresh, Retry, Expiry, and Minimum. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib /* PTRDNAME, CNAME, or NSDNAME. */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (-1);