<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in types.h</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5c00c822 - Rename struct device to struct _device</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#5c00c822</link>
        <description>Rename struct device to struct _devicetypes.h defines device_t as a typedef of struct device *.  struct deviceis defined in subr_bus.c and almost all of the kernel uses device_t.The LinuxKPI also defines a struct device, so type confusion can occur.This causes bugs and ambiguity for debugging tools.  Rename the FreeBSDstruct device to struct _device.Reviewed by:	gbe (man pages)Reviewed by:	rpokala, imp, jhbSponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D29676(cherry picked from commit dfff37765ce4ea4fd7db4d293b459dc84008f411)

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Mon, 12 Apr 2021 13:32:30 +0000</pubDate>
        <dc:creator>Mark Johnston &lt;markj@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>60b426f4 - Remove obsolete check for GCC &lt; 3 and support for Intel Compiler</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#60b426f4</link>
        <description>Remove obsolete check for GCC &lt; 3 and support for Intel CompilerWe no longer support old versions of GCC. Remove this check byassuming it&apos;s false. That will make the entire expression false.  Alsoremove support for Intel compiler, it&apos;s badly bitrotted.  Technically,this removes support for C89 and K&amp;R from compilers that don&apos;t define_Bool in those compilation environments as well. I&apos;m unaware of anyworking compiler today for which that would be relevant (pcc has itand tcc sadly isn&apos;t working for other reasons), though if onepops up in ports, I&apos;ll work to resolve the issue.

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Sat, 24 Oct 2020 23:21:06 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>45472826 - Tweak what&apos;s visible in the standalone environment. We define offsetof</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#45472826</link>
        <description>Tweak what&apos;s visible in the standalone environment. We define offsetofin stand.h typically, but when this is included we can define itmultiple times. However, we don&apos;t define bool in stand.h at themoment, so allow it to be defined inside types.h when we&apos;re buildingfor the standalone environment.MFC After: 3 days

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Mon, 14 Sep 2020 23:27:51 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ca6129af - sys/types.h: adjust #endif comment to match reality</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#ca6129af</link>
        <description>sys/types.h: adjust #endif comment to match realitySubmitted by:	sigsys gmail com

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Wed, 15 Apr 2020 04:03:46 +0000</pubDate>
        <dc:creator>Kyle Evans &lt;kevans@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>38cf2a43 - Implement kvm_kerndisp</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#38cf2a43</link>
        <description>Implement kvm_kerndispThis change adds a new libkvm function, kvm_kerndisp(), that can be used toretrieve the kernel displacement, that is the difference between the kernel&apos;sbase virtual address at run time and the kernel base virtual address specifiedin the kernel image file.This will be used by kgdb, to properly relocate kernel symbols, when needed.Reviewed by:	jhbDifferential Revision:	https://reviews.freebsd.org/D23285

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Thu, 06 Feb 2020 13:21:59 +0000</pubDate>
        <dc:creator>Leandro Lupori &lt;luporl@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>9dc7ed62 - kvm: fix types for cross-debugging</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#9dc7ed62</link>
        <description>kvm: fix types for cross-debuggingAs with other libkvm interfaces use maximum-sized types to supportcross-debugging (e.g. a 64-bit vmcore on a 32-bit host).  Seehttps://lists.freebsd.org/pipermail/svn-src-all/2019-February/176051.htmlfor further discussion.This is an API-breaking change, but there are few consumers of thisinterface today.Reviewed by:	willSponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D21945

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Fri, 08 Nov 2019 14:51:09 +0000</pubDate>
        <dc:creator>Ed Maste &lt;emaste@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1bb95729 - Reduce namespace pollution from r349233</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#1bb95729</link>
        <description>Reduce namespace pollution from r349233Define __daddr_t in _types.h and use it in filio.hReported by:	ian, bdeReviewed by:	ian, imp, cemMFC after:	2 weeksMFC-With:	349233Sponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D20715

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Fri, 21 Jun 2019 21:50:14 +0000</pubDate>
        <dc:creator>Alan Somers &lt;asomers@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>10d9120c - Change the vm_ooffset_t type to unsigned.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#10d9120c</link>
        <description>Change the vm_ooffset_t type to unsigned.The type represents byte offset in the vm_object_t data space, whichdoes not span negative offsets in FreeBSD VM.  The change matches byteoffset signess with the unsignedness of the vm_pindex_t whichrepresents the type of the page indexes in the objects.This allows to remove the UOFF_TO_IDX() macro which was used when wehave to forcibly interpret the type as unsigned anyway.  Also it fixesa lot of implicit bugs in the device drivers d_mmap methods.Reviewed by:	alc, markj (previous version)Tested by:	phoMFC after:	2 weeksSponsored by:	The FreeBSD Foundation

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Sun, 02 Dec 2018 13:16:46 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>09f4e462 - sys/types.h: avoid using terse macro _M</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#09f4e462</link>
        <description>sys/types.h: avoid using terse macro _MAlthough _M is reserved for use by the implemenation it is rather non-descriptive and conflicted with a libc++ test.  Just rename to _Majorand _Minor to avoid conflicts.Reviewed by:	dimSponsored by:	The FreeBSD FoundationDifferential Revision:	https://reviews.freebsd.org/D16734

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Fri, 02 Nov 2018 20:48:29 +0000</pubDate>
        <dc:creator>Ed Maste &lt;emaste@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>f38b68ae - Make struct xinpcb and friends word-size independent.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#f38b68ae</link>
        <description>Make struct xinpcb and friends word-size independent.Replace size_t members with ksize_t (uint64_t) and pointer members(never used as pointers in userspace, but instead as uniqueidenitifiers) with kvaddr_t (uint64_t). This makes the structsidentical between 32-bit and 64-bit ABIs.On 64-bit bit systems, the ABI is maintained. On 32-bit systems,this is an ABI breaking change. The ABI of most of these structswas previously broken in r315662.  This also imposes a small APIchange on userspace consumers who must handle kernel pointersbecoming virtual addresses.PR:		228301 (exp-run by antoine)Reviewed by:	jtl, kib, rwatson (various versions)Sponsored by:	DARPA, AFRLDifferential Revision:	https://reviews.freebsd.org/D15386

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Thu, 05 Jul 2018 13:13:48 +0000</pubDate>
        <dc:creator>Brooks Davis &lt;brooks@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ab35e1c7 - Fix the encoding of major and minor numbers in 64-bit dev_t by restoring</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#ab35e1c7</link>
        <description>Fix the encoding of major and minor numbers in 64-bit dev_t by restoringthe old encodings for the lower 16 and 32 bits and only using thehigher 32 bits for unusually large major and minor numbers.  Thischange breaks compatibility with the previous encoding (which was onlyused in -current).Fix truncation to (essentially) 16-bit dev_t in newnfs v3.Any encoding of device numbers gives an ABI, so it can&apos;t be changedwithout translations for compatibility.  Extra bits give the muchlarger complication that the translations need to compress into fewerbits.  Fortunately, more than 32 bits are rarely needed, socompression is rarely needed except for 16-bit linux dev_t where itwas always needed but never done.The previous encoding moved the major number into the top 32 bits.Almost no translation code handled this, so the major number was blindlytruncated away in most 32-bit encodings.  E.g., for ffs, mknod(8) withmajor = 1 and minor = 2 gave dev_t = 0x10000002; ffs cannot representthis and blindly truncated it to 2.  But if this mknod was run on anyreleased version of FreeBSD, it gives dev_t = 0x102.  ffs can representthis, but in the previous encoding it was not decoded, giving major = 0,minor = 0x102.The presence of bugs was most obvious for exporting dev_t&apos;s from anold system to -current, since bugs in newnfs augment them.  I fixedoldnfs to support 32-bit dev_t in 1996 (r16634), but this regressedto 16-bit dev_t in newnfs, first to the old 16-bit encoding and thenfurther in -current.  E.g., old ad0 with major = 234, minor = 0x10002had the correct (major, minor) number on the wire, but newnfs truncatedthis to (234, 2) and then the previous encoding shifted the majornumber into oblivion as seen by ffs or old applications.I first tried to fix this by translating on every ABI/API boundary, butthere are too many boundaries and too many sloppy translations by blindtruncation.  So use the old encoding for the low 32 bits so that sloppytranslations work no worse than before provided the high 32 bits arenot set.  Add some error checking for when bits are lost.  Keep notdoing any error checking for translations for almost everything incompat/linux.compat/freebsd32/freebsd32_misc.c:Optionally check for losing bits after possibly-truncating assignments asbefore.compat/linux/linux_stats.c:Depend on the representation being compatible with Linux&apos;s (or just withitself for local use) and spell some of the translations as assignments ina macro that hides the details.fs/nfsclient/nfs_clcomsubs.c:Essentially the same fix as in 1996, except there is now no possibletruncation in makedev() itself.  Also fix nearby style bugs.kern/vfs_syscalls.c:As for freebsd32.  Also update the sysctl description to include filenumbers, and change it to describe device ids as device numbers.sys/types.h:Use inline functions (wrapped by macros) since the expressions are nowa bit too complicated for plain macros.  Describe the encoding andsome of the reasons for it.  16-bit compatibility didn&apos;t leave manyreasonable choices for the 32-bit encoding, and 32-bit compatibilitydoesn&apos;t leave many reasonable choices for the 64-bit encoding.  Mychoice is to put the 8 new minor bits in the low 8 bits of the top 32bits.  This minimizes discontiguities.Reviewed by:	kib (except for rewrite of the comment in linux_stats.c)

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Wed, 13 Jun 2018 12:22:00 +0000</pubDate>
        <dc:creator>Bruce Evans &lt;bde@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>51369649 - sys: further adoption of SPDX licensing ID tags.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#51369649</link>
        <description>sys: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 3-Clause license.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.Special thanks to Wind River for providing access to &quot;The Duke ofHighlander&quot; tool: an older (2014) run over FreeBSD tree was useful as astarting point.

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Mon, 20 Nov 2017 19:43:44 +0000</pubDate>
        <dc:creator>Pedro F. Giffuni &lt;pfg@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>0b9b3897 - Remove trivial comments.  Remove and-ing with UINT_MAX for minor(),</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#0b9b3897</link>
        <description>Remove trivial comments.  Remove and-ing with UINT_MAX for minor(),cast to int already does the required truncation of significant bits.Requested and reviewed by:	bdeSponsored by:	The FreeBSD Foundation

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Sun, 06 Aug 2017 12:27:20 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>dfcc612c - For makedev(), cast the minor argument to unsigned type explicitely,</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#dfcc612c</link>
        <description>For makedev(), cast the minor argument to unsigned type explicitely,avoiding possible sign propagation.Submitted by:	hselasky

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Wed, 02 Aug 2017 14:54:54 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5dd37194 - Change major()/minor() to work with 64bit dev_t.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#5dd37194</link>
        <description>Change major()/minor() to work with 64bit dev_t.Since traditional types for the macros values are int, remove thecookie trick and just split the dev_t at the word boundary.Reported by:	Victor Stinner &lt;victor.stinner@gmail.com&gt;PR:	221048Sponsored by:	The FreeBSD Foundation

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Wed, 02 Aug 2017 10:14:17 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>fbbd9655 - Renumber copyright clause 4</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#fbbd9655</link>
        <description>Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is too pedantic, so give up on that point.Submitted by:	Jan Schaumann &lt;jschauma@stevens.edu&gt;Pull Request:	https://github.com/freebsd/freebsd/pull/96

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Tue, 28 Feb 2017 23:42:47 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>9fb10d63 - Define the vm_ooffset_t and vm_pindex_t types as machine-independend.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#9fb10d63</link>
        <description>Define the vm_ooffset_t and vm_pindex_t types as machine-independend.The types are for the byte offset and page index in vm object.  Theyare similar to off_t, which is defined as 64bit MI integer.  Using MIdefinitions will allow to provide consistent MD values of vmobject-related maximum sizes.Reviewed by:	alcSponsored by:	The FreeBSD FoundationMFC after:	1 week

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Sat, 04 Feb 2017 12:26:38 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6710d21d - Pollute more places with off64_t and add __off64_t</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#6710d21d</link>
        <description>Pollute more places with off64_t and add __off64_tDespite the private namespace, several broken ports depend on the __off64_tname for the type.  Export it exactly the same way off_t and __off_t areexported.A follow-up to r299456.Suggested by:	php56Sponsored by:	EMC / Isilon Storage Division

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Thu, 12 May 2016 21:18:17 +0000</pubDate>
        <dc:creator>Conrad Meyer &lt;cem@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2dd1bdf1 - Convert rman to use rman_res_t instead of u_long</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#2dd1bdf1</link>
        <description>Convert rman to use rman_res_t instead of u_longSummary:Migrate to using the semi-opaque type rman_res_t to specify rman resources.  Fornow, this is still compatible with u_long.This is step one in migrating rman to use uintmax_t for resources instead ofu_long.Going forward, this could feasibly be used to specify architecture-specificdefinitions of resource ranges, rather than baking a specific integer type intothe API.This change has been broken out to facilitate MFC&apos;ing drivers back to 10 withoutbreaking ABI.Reviewed By: jhbSponsored by:	Alex Perez/Inertial ComputingDifferential Revision: https://reviews.freebsd.org/D5075

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Wed, 27 Jan 2016 02:23:54 +0000</pubDate>
        <dc:creator>Justin Hibbits &lt;jhibbits@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>873a0bd6 - Make the __bitcount*() functions unconditionally available, by moving</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/sys/types.h#873a0bd6</link>
        <description>Make the __bitcount*() functions unconditionally available, by movingthem out of the #if _BSD_VISIBLE block.  Other headers may depend on__bitcount().  The dependencies can be a header not specified byPOSIX, and then namespace restrictions by _XOPEN_SOURCE are notapplicable, as it was reported.  Or, we might grow an implementationof some POSIX facility using __bitcount(), which also should work.Reported by:	Jason Schulz &lt;schulz.j@gmail.com&gt;Discussed with:	jhbSponsored by:	The FreeBSD FoundationMFC after:	2 weeks

            List of files:
            /freebsd-13.1/sys/sys/types.h</description>
        <pubDate>Sat, 26 Sep 2015 07:30:45 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
