<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/include/endian.h, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-12-30T20:38:39Z</updated>
<entry>
<title>endian.h: Update comments now that POSIX Issue 8 is POSIX.1-2024</title>
<updated>2024-12-30T20:38:39Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-12-30T20:30:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6553c31c969d13ef58eb1de48f7525654b1fbf08'/>
<id>urn:sha1:6553c31c969d13ef58eb1de48f7525654b1fbf08</id>
<content type='text'>
Now that Issue 8 has been published, replace the informal Issue 8
language with the more typical POSIX.1-xxxx citation.

Sponsored by:		Netflix
</content>
</entry>
<entry>
<title>endian.h: Define uint{16,32,64}_t</title>
<updated>2024-05-06T16:43:14Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-05-06T15:10:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1314d14c32713b448738cc821c04a5e7482bb4af'/>
<id>urn:sha1:1314d14c32713b448738cc821c04a5e7482bb4af</id>
<content type='text'>
The Draft Posix Issue 8 standard requires that these be defined. Define
them in the usual way that lets multiple headers define them. Opted to
not just use #include &lt;stdint.h&gt;, allowed by the draft, to be
conservative. Add notes about how we comply with Issue 8, and that we've
opted to define these only as macros, though the standard allows
functions, macros or both.

Sponsored by:		Netflix
</content>
</entry>
<entry>
<title>endian.h: Remove duplicate words</title>
<updated>2023-12-10T17:40:57Z</updated>
<author>
<name>Jose Luis Duran</name>
<email>jlduran@gmail.com</email>
</author>
<published>2023-12-10T16:35:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dff3a80f6dfe88c52326ceb2c154668f132fdb52'/>
<id>urn:sha1:dff3a80f6dfe88c52326ceb2c154668f132fdb52</id>
<content type='text'>
Reviewed by:	emaste
Pull Request:	https://github.com/freebsd/freebsd-src/pull/920
</content>
</entry>
<entry>
<title>linux: For better compatibility, provide compatible endian.h</title>
<updated>2023-01-20T23:32:45Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-01-20T23:32:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=30e0d2a51026830e5141ce3dd43854819bba910c'/>
<id>urn:sha1:30e0d2a51026830e5141ce3dd43854819bba910c</id>
<content type='text'>
Add endian.h. This includes sys/endian.h and then adds extra defines
that glibc defines with double underscores for our
_{BIG,BYTE,LITTLE,PDP}_ENDIAN macros. We also define __FLOAT_WORD_ORDER
to be the same as _BYTE_ENDIAN since FreeBSD doesn't currently define
this, and the default with glibc is exactly this for our platforms.
Move common parts of endian.h and sys/endian.h into sys/_endian.h
to limit namespace pollution from endian.h

All this gives us good compatibility with Linux. There may be one or two
upstreams that haven't integrated the patches I tried to send up.

There are some minor differences:
	o The extra glibc macros are not defined. These are all
	  controlled with either __ at the start, or only defined
	  when glibc is being built. We also don't define macros
	  that are used internally in glibc that would pollute
	  the namespace.
	o For complete compatibility, this change must also be
	  paired with providing a glibc-compatible byteswap.h.

Sponsored by:		Netflix
Reviewed by:		mhorne, markj, jhb
Differential Revision:	https://reviews.freebsd.org/D31962
</content>
</entry>
</feed>
