Index: /trunk/doc/misc/codeConventions.tex
===================================================================
--- /trunk/doc/misc/codeConventions.tex	(revision 130)
+++ /trunk/doc/misc/codeConventions.tex	(revision 131)
@@ -1145,10 +1145,10 @@
 \code{psEquatorialToEcliptic} (\emph{not} \code{psEquatorial2Ecliptic}).
 
-\subsection{\label{LArgumentOrder}Order of I/O Arguments}
+\subsection{Order of I/O Arguments}
 
 Functions that assign to a variable should list that argument
 \textit{first} (i.e. following the pattern of \code{strcpy}):
 
-\subsection{\label{LConstRestrict}Type Qualifiers (const and restrict)}
+\subsection{Type Qualifiers (const and restrict)}
 
 All interfaces and type definitions should use \code{const} and
@@ -1165,4 +1165,21 @@
 \textit{N.b. compilers are free to ignore the \code{restrict} keyword,
 so all code should be written to explicitly handle aliasing}.
+
+\subsection{\code{struct}s and \code{typedef}s}
+
+All structs should be defined as \code{typedef}s.
+
+A struct should not include a struct
+tag unless it's self-referential; E.g.
+\begin{verbatim}
+typedef struct myStruct { 		// Omit "myStruct"
+    int x;
+} myStruct;
+
+typedef struct yourStruct { 		// OK
+    struct yourStruct *next;
+    int x;
+} yourStruct;
+\end{verbatim}
 
 %------------------------------------------------------------------------------
@@ -1343,5 +1360,8 @@
   specified as \code{(void)} (avoiding complaints on some compilers,
   e.g. on SGIs).
-  
+
+\item
+  Added rules on typedefing structs, and on struct tags.
+
 \end{itemize}
 
