Ignore:
Timestamp:
Mar 1, 2010, 3:05:48 PM (15 years ago)
Author:
Herwig Bauernfeind
Message:

Update Samba 3.3.x to 3.3.11

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.3.x/docs/htmldocs/Samba3-Developers-Guide/parsing.html

    r368 r411  
    1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 11. The smb.conf file</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="SAMBA Developers Guide"><link rel="up" href="pt03.html" title="Part III. Samba Subsystems"><link rel="prev" href="vfs.html" title="Chapter 10. VFS Modules"><link rel="next" href="wins.html" title="Chapter 12. Samba WINS Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. The smb.conf file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="vfs.html">Prev</a> </td><th width="60%" align="center">Part III. Samba Subsystems</th><td width="20%" align="right"> <a accesskey="n" href="wins.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 11. The smb.conf file"><div class="titlepage"><div><div><h2 class="title"><a name="parsing"></a>Chapter 11. The smb.conf file</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Chris</span> <span class="surname">Hertel</span></h3></div></div><div><p class="pubdate">November 1997</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="parsing.html#id2566406">Lexical Analysis</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id2566478">Handling of Whitespace</a></span></dt><dt><span class="sect2"><a href="parsing.html#id2566523">Handling of Line Continuation</a></span></dt><dt><span class="sect2"><a href="parsing.html#id2566574">Line Continuation Quirks</a></span></dt></dl></dd><dt><span class="sect1"><a href="parsing.html#id2566651">Syntax</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id2566709">About params.c</a></span></dt></dl></dd></dl></div><div class="sect1" title="Lexical Analysis"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2566406"></a>Lexical Analysis</h2></div></div></div><p>
     1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 11. The smb.conf file</title><link rel="stylesheet" href="../samba.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="SAMBA Developers Guide"><link rel="up" href="pt03.html" title="Part III. Samba Subsystems"><link rel="prev" href="vfs.html" title="Chapter 10. VFS Modules"><link rel="next" href="wins.html" title="Chapter 12. Samba WINS Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 11. The smb.conf file</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="vfs.html">Prev</a> </td><th width="60%" align="center">Part III. Samba Subsystems</th><td width="20%" align="right"> <a accesskey="n" href="wins.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="parsing"></a>Chapter 11. The smb.conf file</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Chris</span> <span class="surname">Hertel</span></h3></div></div><div><p class="pubdate">November 1997</p></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="parsing.html#id2560333">Lexical Analysis</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id2560405">Handling of Whitespace</a></span></dt><dt><span class="sect2"><a href="parsing.html#id2560450">Handling of Line Continuation</a></span></dt><dt><span class="sect2"><a href="parsing.html#id2560502">Line Continuation Quirks</a></span></dt></dl></dd><dt><span class="sect1"><a href="parsing.html#id2560579">Syntax</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id2560636">About params.c</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2560333"></a>Lexical Analysis</h2></div></div></div><p>
    22Basically, the file is processed on a line by line basis.  There are
    33four types of lines that are recognized by the lexical analyzer
    44(params.c):
    5 </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
     5</p><div class="orderedlist"><ol type="1"><li><p>
    66Blank lines - Lines containing only whitespace.
    7 </p></li><li class="listitem"><p>
     7</p></li><li><p>
    88Comment lines - Lines beginning with either a semi-colon or a
    99pound sign (';' or '#').
    10 </p></li><li class="listitem"><p>
     10</p></li><li><p>
    1111Section header lines - Lines beginning with an open square bracket ('[').
    12 </p></li><li class="listitem"><p>
     12</p></li><li><p>
    1313Parameter lines - Lines beginning with any other character.
    1414(The default line type.)
     
    1616The first two are handled exclusively by the lexical analyzer, which
    1717ignores them.  The latter two line types are scanned for
    18 </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
     18</p><div class="orderedlist"><ol type="1"><li><p>
    1919  - Section names
    20 </p></li><li class="listitem"><p>
     20</p></li><li><p>
    2121  - Parameter names
    22 </p></li><li class="listitem"><p>
     22</p></li><li><p>
    2323  - Parameter values
    2424</p></li></ol></div><p>
     
    2626(loadparm.c).  Parameter names and values are divided from one
    2727another by an equal sign: '='.
    28 </p><div class="sect2" title="Handling of Whitespace"><div class="titlepage"><div><div><h3 class="title"><a name="id2566478"></a>Handling of Whitespace</h3></div></div></div><p>
     28</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2560405"></a>Handling of Whitespace</h3></div></div></div><p>
    2929Whitespace is defined as all characters recognized by the isspace()
    3030function (see ctype(3C)) except for the newline character ('\n')
    3131The newline is excluded because it identifies the end of the line.
    32 </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
     32</p><div class="orderedlist"><ol type="1"><li><p>
    3333The lexical analyzer scans past white space at the beginning of a line.
    34 </p></li><li class="listitem"><p>
     34</p></li><li><p>
    3535Section and parameter names may contain internal white space.  All
    3636whitespace within a name is compressed to a single space character.
    37 </p></li><li class="listitem"><p>
     37</p></li><li><p>
    3838Internal whitespace within a parameter value is kept verbatim with
    3939the exception of carriage return characters ('\r'), all of which
    4040are removed.
    41 </p></li><li class="listitem"><p>
     41</p></li><li><p>
    4242Leading and trailing whitespace is removed from names and values.
    43 </p></li></ol></div></div><div class="sect2" title="Handling of Line Continuation"><div class="titlepage"><div><div><h3 class="title"><a name="id2566523"></a>Handling of Line Continuation</h3></div></div></div><p>
     43</p></li></ol></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2560450"></a>Handling of Line Continuation</h3></div></div></div><p>
    4444Long section header and parameter lines may be extended across
    4545multiple lines by use of the backslash character ('\\').  Line
     
    6464of comments.  They are *only* recognized within section and parameter
    6565lines.
    66 </p></div><div class="sect2" title="Line Continuation Quirks"><div class="titlepage"><div><div><h3 class="title"><a name="id2566574"></a>Line Continuation Quirks</h3></div></div></div><p>Note the following example:</p><pre class="programlisting">
     66</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2560502"></a>Line Continuation Quirks</h3></div></div></div><p>Note the following example:</p><pre class="programlisting">
    6767        param name = parameter value string \
    6868    \
     
    8888        [section name]
    8989    param name = value
    90 </pre></div></div><div class="sect1" title="Syntax"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2566651"></a>Syntax</h2></div></div></div><p>The syntax of the smb.conf file is as follows:</p><pre class="programlisting">
     90</pre></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2560579"></a>Syntax</h2></div></div></div><p>The syntax of the smb.conf file is as follows:</p><pre class="programlisting">
    9191  &lt;file&gt;            :==  { &lt;section&gt; } EOF
    9292  &lt;section&gt;         :==  &lt;section header&gt; { &lt;parameter line&gt; }
    9393  &lt;section header&gt;  :==  '[' NAME ']'
    9494  &lt;parameter line&gt;  :==  NAME '=' VALUE NL
    95 </pre><p>Basically, this means that</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
     95</pre><p>Basically, this means that</p><div class="orderedlist"><ol type="1"><li><p>
    9696        a file is made up of zero or more sections, and is terminated by
    9797        an EOF (we knew that).
    98 </p></li><li class="listitem"><p>
     98</p></li><li><p>
    9999        A section is made up of a section header followed by zero or more
    100100        parameter lines.
    101 </p></li><li class="listitem"><p>
     101</p></li><li><p>
    102102        A section header is identified by an opening bracket and
    103103        terminated by the closing bracket.  The enclosed NAME identifies
    104104        the section.
    105 </p></li><li class="listitem"><p>
     105</p></li><li><p>
    106106        A parameter line is divided into a NAME and a VALUE.  The *first*
    107107        equal sign on the line separates the NAME from the VALUE.  The
    108108        VALUE is terminated by a newline character (NL = '\n').
    109 </p></li></ol></div><div class="sect2" title="About params.c"><div class="titlepage"><div><div><h3 class="title"><a name="id2566709"></a>About params.c</h3></div></div></div><p>
     109</p></li></ol></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2560636"></a>About params.c</h3></div></div></div><p>
    110110The parsing of the config file is a bit unusual if you are used to
    111111lex, yacc, bison, etc.  Both lexical analysis (scanning) and parsing
Note: See TracChangeset for help on using the changeset viewer.