Added unsigned data formats (B, H, I, L).
diff --git a/Doc/libarray.tex b/Doc/libarray.tex
index 8122f49..1b028b3 100644
--- a/Doc/libarray.tex
+++ b/Doc/libarray.tex
@@ -12,16 +12,23 @@
 \begin{tableiii}{|c|c|c|}{code}{Typecode}{Type}{Minimal size in bytes}
 \lineiii{'c'}{character}{1}
 \lineiii{'b'}{signed integer}{1}
+\lineiii{'B'}{unsigned integer}{1}
 \lineiii{'h'}{signed integer}{2}
+\lineiii{'H'}{unsigned integer}{2}
 \lineiii{'i'}{signed integer}{2}
+\lineiii{'I'}{unsigned integer}{2}
 \lineiii{'l'}{signed integer}{4}
+\lineiii{'L'}{unsigned integer}{4}
 \lineiii{'f'}{floating point}{4}
 \lineiii{'d'}{floating point}{8}
 \end{tableiii}
 
 The actual representation of values is determined by the machine
 architecture (strictly speaking, by the C implementation).  The actual
-size can be accessed through the \var{itemsize} attribute.
+size can be accessed through the \var{itemsize} attribute.  The values
+stored  for \code{'L'} and \code{'I'} items will be represented as
+Python long integers when retrieved, because Python's plain integer
+type can't represent the full range of C's unsigned (long) integers.
 
 See also built-in module \code{struct}.
 \bimodindex{struct}