<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<refentry id="make-smbcodepage">

<refmeta>
	<refentrytitle>make_smbcodepage</refentrytitle>
	<manvolnum>1</manvolnum>
</refmeta>


<refnamediv>
	<refname>make_smbcodepage</refname>
	<refpurpose>construct a codepage file for Samba</refpurpose>
</refnamediv>

<refsynopsisdiv>
	<cmdsynopsis>
		<command>make_smbcodepage</command>
		<arg choice="req">c|d</arg>
		<arg choice="req">codepage</arg>
		<arg choice="req">inputfile</arg>
		<arg choice="req">outputfile</arg>
	</cmdsynopsis>
</refsynopsisdiv>

<refsect1>
	<title>DESCRIPTION</title>

	<para>This tool is part of the <ulink url="samba.7.html">
	Samba</ulink> suite.</para>

	<para><command>make_smbcodepage</command> compiles or de-compiles 
	codepage files for use with the internationalization features 
	of Samba 2.2</para>
</refsect1>



<refsect1>
	<title>OPTIONS</title>

	<variablelist>
		<varlistentry>
		<term>c|d</term>
		<listitem><para>This tells <command>make_smbcodepage</command> 
		if it is compiling (<parameter>c</parameter>) a text format code 
		page file to binary, or (<parameter>d</parameter>) de-compiling 
		a binary codepage file to text. </para></listitem>
		</varlistentry>
		
		<varlistentry>
		<term>codepage</term>
		<listitem><para>This is the codepage we are processing (a 
		number, e.g. 850). </para></listitem>
		</varlistentry>
		
		
		<varlistentry>
		<term>inputfile</term>
		<listitem><para>This is the input file to process. In 
		the <parameter>c</parameter> case this will be a text 
		codepage definition file such as the ones found in the Samba 	
		<filename>source/codepages</filename> directory. In
		the <parameter>d</parameter> case this will be the 
		binary format codepage definition file normally found in 
		the <filename>lib/codepages</filename> directory in the 
		Samba install directory path.</para></listitem>
		</varlistentry>
		
		
		<varlistentry>
		<term>outputfile</term>
		<listitem><para>This is the output file to produce.</para></listitem>
		</varlistentry>
	</variablelist>
</refsect1>

<refsect1>
	<title>Samba Codepage Files</title>

	<para>A text Samba codepage definition file is a description 
	that tells  Samba how to map from upper to lower case for 
	characters greater than ascii 127 in the specified DOS code page. 
	Note that for certain DOS codepages (437 for example) mapping 
	from lower to upper case may be non-symmetrical. For example, in
	code page 437 lower case a acute maps to a plain upper case A 
	when going from lower to upper case, but plain upper case A maps 
	to plain lower case a when lower casing a character. </para>
	
	<para>A binary Samba codepage definition file is a binary 
	representation of the same information, including a value that
	specifies what codepage this file is describing. </para>

	<para>As Samba does not yet use UNICODE (current for Samba version 2.2) 
	you must specify the client code page that your DOS and Windows 
	clients are using if you wish to have case insensitivity done 
	correctly for your particular language. The default codepage Samba 
	uses is 850 (Western European). Text codepage definition sample files
	are provided in the Samba distribution for codepages 437 (USA), 737 (Greek),
	850 (Western European) 852 (MS-DOS Latin 2), 861 (Icelandic), 866 (Cyrillic),
	932 (Kanji SJIS), 936 (Simplified Chinese), 949 (Hangul) and 950 (Traditional
	Chinese). Users are encouraged to write text codepage definition files for
	their own code pages and donate them to samba@samba.org. All codepage files
	in the Samba <filename>source/codepages</filename> directory are 
 	compiled and installed when a <command>'make install'</command> 
	command is issued there. </para>

	<para>The client codepage used by the <command>smbd</command> server 
	is configured using the <command>client code page</command> parameter 
	in the <command>smb.conf</command> file. </para>
</refsect1>


<refsect1>
	<title>Files</title>

	<para><command>codepage_def.&lt;codepage&gt;</command></para> 

	<para>These are the input (text) codepage files provided in the 
	Samba <filename>source/codepages</filename> directory.</para> 

	<para>A text codepage definition file consists of multiple lines 
	containing four fields. These fields are:</para> 

	<itemizedlist>
		<listitem><para><command>lower</command>: which is the 
		(hex) lower case character mapped on this line.</para>
		</listitem>

		<listitem><para><command>upper</command>: which is the (hex) 
		upper case character that the lower case character will map to.
		</para></listitem>
		
		<listitem><para><command>map upper to lower</command> which 
		is a boolean value (put either True or False here) which tells 
		Samba if it is to map the given upper case character to the 
		given lower case character when lower casing a filename.
		</para></listitem>
		
		<listitem><para><command>map lower to upper</command> which 
		is a boolean value (put either True or False here) which tells 
		Samba if it is to map the given lower case character to the 
		given upper case character when upper casing a filename.
		</para></listitem>
	</itemizedlist>


	<para><command>codepage.&lt;codepage&gt;</command> - These are the 
	output (binary) codepage files produced  and placed in the Samba 
	destination <filename>lib/codepage</filename> directory. </para>
</refsect1>

<refsect1>
	<title>Installation</title>

	<para>The location of the server and its support files is a 
	matter for individual system administrators. The following are 
	thus suggestions only. </para>

	<para>It is recommended that the <command>make_smbcodepage
	</command> program be installed under the <filename>/usr/local/samba
	</filename> hierarchy, in a directory readable by all, writeable 
	only by root. The program itself should be executable by all.  The 
	program should NOT be setuid or setgid! </para>
</refsect1>

<refsect1>
	<title>VERSION</title>

	<para>This man page is correct for version 2.2 of 
	the Samba suite.</para>
</refsect1>

<refsect1>
	<title>SEE ALSO</title>
	<para><ulink url="smbd.8.html"><command>smbd(8)</command></ulink>, 
	<ulink url="smb.conf.5.html">smb.conf(5)</ulink>
	</para>
</refsect1>

<refsect1>
	<title>AUTHOR</title>
	
	<para>The original Samba software and related utilities 
	were created by Andrew Tridgell. Samba is now developed
	by the Samba Team as an Open Source project similar 
	to the way the Linux kernel is developed.</para>
	
	<para>The original Samba man pages were written by Karl Auer. 
	The man page sources were converted to YODL format (another 
	excellent piece of Open Source software, available at
	<ulink url="ftp://ftp.icce.rug.nl/pub/unix/">
	ftp://ftp.icce.rug.nl/pub/unix/</ulink>) and updated for the Samba 2.0 
	release by Jeremy Allison.  The conversion to DocBook for 
	Samba 2.2 was done by Gerald Carter</para>
</refsect1>

</refentry>
