<?xml version="1.0" encoding="UTF-8"?>
<refentry id="nbp_name.3">
  <refmeta>
    <refentrytitle>nbp_name</refentrytitle>

    <manvolnum>3</manvolnum>

    <refmiscinfo class="date">12 Jan 1994</refmiscinfo>

    <refmiscinfo class="source">Netatalk</refmiscinfo>

    <refmiscinfo class="manual">Netatalk AFP ファイルサーバ マニュアル</refmiscinfo>

    <refmiscinfo class="version">@netatalk_version@</refmiscinfo>
  </refmeta>

  <refnamediv>
    <refname>nbp_name</refname>

    <refpurpose>NBP 名の解析<indexterm>
        <primary>nbp_name</primary>
      </indexterm></refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <funcsynopsis>
      <funcprototype>
        <funcdef>int <function>nbp_name</function></funcdef>

        <paramdef>char *<parameter>name</parameter></paramdef>

        <paramdef>char **<parameter>obj</parameter></paramdef>

        <paramdef>char **<parameter>type</parameter></paramdef>

        <paramdef>char **<parameter>zone</parameter></paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>

  <refsect1>
    <title>説明</title>

    <para><function>nbp_name()</function> は、ユーザーが指定した名前を、そのコンポーネント
    オブジェクト、タイプ、およびゾーンに解析します。 <emphasis remap="B">obj</emphasis>、<emphasis
    remap="B">type</emphasis>、<varname role="parameter">zone</varname>
    は参照渡しされ、呼び出し元のデフォルト値を指す必要があります。<function>nbp_name()</function>
    は、解析された値へのポインタを変更します。 <emphasis remap="B">name</emphasis> は、<emphasis
    remap="I">object</emphasis><emphasis remap="B">:</emphasis><emphasis
    remap="I"/><emphasis remap="I">type</emphasis><emphasis
    remap="B">@</emphasis><emphasis remap="I"/><varname
    role="parameter">zone</varname> の形式です。ここで、<emphasis
    remap="I">object</emphasis>、 <emphasis remap="B">:</emphasis><emphasis
    remap="I">type</emphasis><emphasis remap="B">、</emphasis>、および <emphasis
    remap="B">@</emphasis><varname role="parameter">zone</varname>
    はそれぞれ、<emphasis remap="B">obj</emphasis>、 <emphasis
    remap="B">type</emphasis>、<emphasis remap="B">zone,</emphasis>
    です。<emphasis remap="I">type</emphasis> の前には `<emphasis
    remap="B">:</emphasis>' が、<varname role="parameter">zone</varname> の前には
    `<emphasis remap="B">@</emphasis>' がなければなりません。</para>
  </refsect1>

  <refsect1>
    <title>例</title>

    <para><citerefentry>
        <refentrytitle>afpd</refentrytitle>

        <manvolnum>8</manvolnum>
      </citerefentry>'s <option>-n</option>
    オプションの引数は、<function>nbp_name()</function> で解析されます。 <emphasis
    remap="B">obj</emphasis> のデフォルト値は、マシンのホスト名の最初のコンポーネントです (<citerefentry>
        <refentrytitle>gethostbyname</refentrytitle>

        <manvolnum>3</manvolnum>
      </citerefentry> によって返されます)。<emphasis remap="B">type</emphasis> のデフォルト値は
    ``AFPServer'' で、<varname role="parameter">zone</varname> のデフォルト値は ``*''
    (デフォルト ゾーン) です。 <emphasis remap="B">afpd</emphasis>
    をデフォルト以外のゾーンに登録するには、次のように呼び出します。</para>

    <literallayout remap=".nf">afpd -n @some-other-zone
</literallayout>

    <para><emphasis remap="B">obj</emphasis> と <emphasis
    remap="B">type</emphasis> はデフォルト値を保持します。</para>
  </refsect1>

  <refsect1>
    <title>バグ</title>

    <para><emphasis remap="B">obj</emphasis>、<emphasis
    remap="B">type</emphasis>、および <varname role="parameter">zone</varname>
    は、呼び出しごとに上書きされる可能性のある静的領域へのポインタを返します。</para>
  </refsect1>

  <refsect1>
    <title>著者</title>

    <para><ulink url='https://netatalk.io/contributors'>CONTRIBUTORS</ulink> を参照</para>
  </refsect1>
</refentry>
