diff options
author | Ivo De Decker <ivo.dedecker@ugent.be> | 2013-05-10 13:33:02 +0200 |
---|---|---|
committer | Ivo De Decker <ivo.dedecker@ugent.be> | 2013-05-10 13:33:02 +0200 |
commit | 31202ad025bcdeb2585d18dc3f4641b5cf9c0ec4 (patch) | |
tree | 32c20d66684ac97b86e55495146e9a676bfae85a /docs/htmldocs/Samba3-Developers-Guide/parsing.html | |
parent | 2865eba17fddda6c49f1209ca92d539111e7ff93 (diff) | |
download | samba-31202ad025bcdeb2585d18dc3f4641b5cf9c0ec4.tar.gz |
Imported Upstream version 4.0.0+dfsg1upstream/4.0.0+dfsg1
Diffstat (limited to 'docs/htmldocs/Samba3-Developers-Guide/parsing.html')
-rw-r--r-- | docs/htmldocs/Samba3-Developers-Guide/parsing.html | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/docs/htmldocs/Samba3-Developers-Guide/parsing.html b/docs/htmldocs/Samba3-Developers-Guide/parsing.html deleted file mode 100644 index 407bcf0422..0000000000 --- a/docs/htmldocs/Samba3-Developers-Guide/parsing.html +++ /dev/null @@ -1,114 +0,0 @@ -<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#id331861">Lexical Analysis</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id331926">Handling of Whitespace</a></span></dt><dt><span class="sect2"><a href="parsing.html#id331966">Handling of Line Continuation</a></span></dt><dt><span class="sect2"><a href="parsing.html#id332009">Line Continuation Quirks</a></span></dt></dl></dd><dt><span class="sect1"><a href="parsing.html#id332079">Syntax</a></span></dt><dd><dl><dt><span class="sect2"><a href="parsing.html#id332129">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="id331861"></a>Lexical Analysis</h2></div></div></div><p> -Basically, the file is processed on a line by line basis. There are -four types of lines that are recognized by the lexical analyzer -(params.c): -</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> -Blank lines - Lines containing only whitespace. -</p></li><li class="listitem"><p> -Comment lines - Lines beginning with either a semi-colon or a -pound sign (';' or '#'). -</p></li><li class="listitem"><p> -Section header lines - Lines beginning with an open square bracket ('['). -</p></li><li class="listitem"><p> -Parameter lines - Lines beginning with any other character. -(The default line type.) -</p></li></ol></div><p> -The first two are handled exclusively by the lexical analyzer, which -ignores them. The latter two line types are scanned for -</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> - - Section names -</p></li><li class="listitem"><p> - - Parameter names -</p></li><li class="listitem"><p> - - Parameter values -</p></li></ol></div><p> -These are the only tokens passed to the parameter loader -(loadparm.c). Parameter names and values are divided from one -another by an equal sign: '='. -</p><div class="sect2" title="Handling of Whitespace"><div class="titlepage"><div><div><h3 class="title"><a name="id331926"></a>Handling of Whitespace</h3></div></div></div><p> -Whitespace is defined as all characters recognized by the isspace() -function (see ctype(3C)) except for the newline character ('\n') -The newline is excluded because it identifies the end of the line. -</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> -The lexical analyzer scans past white space at the beginning of a line. -</p></li><li class="listitem"><p> -Section and parameter names may contain internal white space. All -whitespace within a name is compressed to a single space character. -</p></li><li class="listitem"><p> -Internal whitespace within a parameter value is kept verbatim with -the exception of carriage return characters ('\r'), all of which -are removed. -</p></li><li class="listitem"><p> -Leading and trailing whitespace is removed from names and values. -</p></li></ol></div></div><div class="sect2" title="Handling of Line Continuation"><div class="titlepage"><div><div><h3 class="title"><a name="id331966"></a>Handling of Line Continuation</h3></div></div></div><p> -Long section header and parameter lines may be extended across -multiple lines by use of the backslash character ('\\'). Line -continuation is ignored for blank and comment lines. -</p><p> -If the last (non-whitespace) character within a section header or on -a parameter line is a backslash, then the next line will be -(logically) concatonated with the current line by the lexical -analyzer. For example: -</p><pre class="programlisting"> - param name = parameter value string \ - with line continuation. -</pre><p>Would be read as</p><pre class="programlisting"> - param name = parameter value string with line continuation. -</pre><p> -Note that there are five spaces following the word 'string', -representing the one space between 'string' and '\\' in the top -line, plus the four preceeding the word 'with' in the second line. -(Yes, I'm counting the indentation.) -</p><p> -Line continuation characters are ignored on blank lines and at the end -of comments. They are *only* recognized within section and parameter -lines. -</p></div><div class="sect2" title="Line Continuation Quirks"><div class="titlepage"><div><div><h3 class="title"><a name="id332009"></a>Line Continuation Quirks</h3></div></div></div><p>Note the following example:</p><pre class="programlisting"> - param name = parameter value string \ - \ - with line continuation. -</pre><p> -The middle line is *not* parsed as a blank line because it is first -concatonated with the top line. The result is -</p><pre class="programlisting"> -param name = parameter value string with line continuation. -</pre><p>The same is true for comment lines.</p><pre class="programlisting"> - param name = parameter value string \ - ; comment \ - with a comment. -</pre><p>This becomes:</p><pre class="programlisting"> -param name = parameter value string ; comment with a comment. -</pre><p> -On a section header line, the closing bracket (']') is considered a -terminating character, and the rest of the line is ignored. The lines -</p><pre class="programlisting"> - [ section name ] garbage \ - param name = value -</pre><p>are read as</p><pre class="programlisting"> - [section name] - param name = value -</pre></div></div><div class="sect1" title="Syntax"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id332079"></a>Syntax</h2></div></div></div><p>The syntax of the smb.conf file is as follows:</p><pre class="programlisting"> - <file> :== { <section> } EOF - <section> :== <section header> { <parameter line> } - <section header> :== '[' NAME ']' - <parameter line> :== NAME '=' VALUE NL -</pre><p>Basically, this means that</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> - a file is made up of zero or more sections, and is terminated by - an EOF (we knew that). -</p></li><li class="listitem"><p> - A section is made up of a section header followed by zero or more - parameter lines. -</p></li><li class="listitem"><p> - A section header is identified by an opening bracket and - terminated by the closing bracket. The enclosed NAME identifies - the section. -</p></li><li class="listitem"><p> - A parameter line is divided into a NAME and a VALUE. The *first* - equal sign on the line separates the NAME from the VALUE. The - VALUE is terminated by a newline character (NL = '\n'). -</p></li></ol></div><div class="sect2" title="About params.c"><div class="titlepage"><div><div><h3 class="title"><a name="id332129"></a>About params.c</h3></div></div></div><p> -The parsing of the config file is a bit unusual if you are used to -lex, yacc, bison, etc. Both lexical analysis (scanning) and parsing -are performed by params.c. Values are loaded via callbacks to -loadparm.c. -</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="vfs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="wins.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 10. VFS Modules </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 12. Samba WINS Internals</td></tr></table></div></body></html> |