<?xml version="1.0"?><!--*-nxml-*-->
<!DOCTYPE manpage SYSTEM "xmltoman.dtd">
<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?>

<!--
  This file is part of avahi.

  avahi is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as
  published by the Free Software Foundation; either version 2.1 of the
  License, or (at your option) any later version.

  avahi is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
  Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with avahi; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
  USA.
-->

  <manpage name="avahi-set-host-name" section="1" desc="Change mDNS host name">

	<synopsis>
      <cmd>avahi-set-host-name <arg>host-name</arg></cmd>
	</synopsis>

    <description>
      <p>Set the mDNS host name of a currently running Avahi
      daemon. The effect of this operation is not persistent across
      daemon restarts. This operation is usually privileged.</p>
	</description>

	<options>

      <option>
        <p><opt>-v | --verbose</opt></p>
        <optdesc><p>Enable verbose mode.</p></optdesc>
      </option>

	  <option>
		<p><opt>-h | --help</opt></p>
		<optdesc><p>Show help.</p></optdesc>
	  </option>


	  <option>
		<p><opt>-V | --version</opt></p>
		<optdesc><p>Show version information.</p></optdesc>
	  </option>


	</options>

	<section name="Authors">
	  <p>The Avahi Developers &lt;@PACKAGE_BUGREPORT@&gt;; Avahi is
	  available from <url href="@PACKAGE_URL@"/></p>
	</section>

	<section name="See also">
	  <p>
        <manref name="avahi-daemon" section="8"/>
	  </p>
	</section>

	<section name="Comments">
	  <p>This man page was written using <manref name="xml2man" section="1"
		  href="http://masqmail.cx/xml2man/"/> by Oliver Kurth.</p>
	</section>

  </manpage>
