/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _XML_CONVERT_H
#define _XML_CONVERT_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#include "volume_request.h"
#include "volume_defaults.h"
/* The location of the volume-request.dtd */
/* The location of the volume-request-defaults.dtd */
/* The location of the volume-config.dtd */
/* Location of the volume-command.xsl file */
/*
* Valid values for attributes
*/
/*
* Standard units
*/
/*
* Initialize the XML parser, setting defaults across all XML
* routines.
*/
extern void init_xml();
/*
* Clean up any remaining structures before exiting.
*/
extern void cleanup_xml();
/*
* Converts a volume-request XML document into a request_t.
*
* @param doc
* an existing volume-request XML document
*
* @param request
* RETURN: a new request_t which must be freed via
* free_request
*
* @return 0 on success, non-zero otherwise.
*/
/*
* Converts a volume-defaults XML document into a defaults_t.
*
* @param doc
* an existing volume-defaults XML document
*
* @param defaults
* RETURN: a new defaults_t which must be freed via
* free_defaults
*
* @return 0 on success, non-zero otherwise.
*/
/*
* Converts a volume-config XML document into a devconfig_t.
*
* @param doc
* an existing volume-config XML document
*
* @param config
* RETURN: a new devconfig_t which must be freed via
* free_devconfig
*
* @return 0 on success, non-zero otherwise.
*/
/*
* Converts a devconfig_t into a volume-config XML document.
*
* @param config
* an existing devconfig_t representing a volume
* configuration.
*
* @param doc
* RETURN: a new volume-config XML document which must be
* freed via xmlFreeDoc
*
* @return 0 on success, non-zero otherwise.
*/
/*
* Converts a volume-config XML document into a Bourne shell script.
*
* @param doc
* an existing volume-config XML document
*
* @param commands
* RETURN: a new char* which must be freed
*
* @return 0 on success, non-zero otherwise.
*/
#ifdef __cplusplus
}
#endif
#endif /* _XML_CONVERT_H */