← Prev in month ← Prev in thread
Next in thread → Next in month →

[PATCH 1/1] C struct specifications.

From
Cornelia Huck <>
Date
2014-01-21T12:46:35+00:00
ID
Thread
[PATCH 1/1] C struct specifications.
Explicitly specify that our C struct specifications are without padding,
and add some definitions for our integer data types.

Signed-off-by: Cornelia Huck <>
---
 introduction.tex |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/introduction.tex b/introduction.tex
index 5d57f78..2830f30 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -44,5 +44,26 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S
 	\phantomsection\label{intro:S390 Common I/O}\textbf{[S390 Common I/O]} & ESA/390 Common I/O-Device and Self-Description, \newline IBM Publication SA22-7204\\
 \end{longtable}
 
+\section{Structure Specifications}
+
+Many device and driver in-memory structure layouts are documented using
+the C struct syntax. All structures are assumed to be without additional
+padding. To stress this, cases where common C compilers are known to insert
+extra padding within structures are tagged using the GNU C
+__attribute__((packed))  syntax.
+
+For the integer data types used in the structure definitions, the following
+conventions are used:
+
+\begin{description}
+\item[u8, u16, u32, u64] An unsigned integer of the specified length in bits.
+
+\item[le16, le32, le64] An unsigend integer of the specified length in bits,
+in little-endian byte order.
+
+\item[be16, be32, be64] An unsigned integer of the specified length in bits,
+in big-endian byte order.
+\end{description}
+
 \newpage
 
-- 
1.7.9.5
← Prev in month ← Prev in thread
Next in thread → Next in month →