From: "Michael S. Tsirkin" <mst@redhat.com>
To: malc <av1474@comtv.ru>
Cc: Isaku Yamahata <yamahata@valinux.co.jp>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 4/9] pci: use uint64_t for bar addr and size instead of uint32_t.
Date: Thu, 1 Oct 2009 14:26:52 +0200 [thread overview]
Message-ID: <20091001122650.GA9781@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0910011613470.2148@linmac.oyster.ru>
On Thu, Oct 01, 2009 at 04:15:59PM +0400, malc wrote:
> On Thu, 1 Oct 2009, Michael S. Tsirkin wrote:
>
> > On Wed, Sep 30, 2009 at 09:59:11PM +0400, malc wrote:
> > > On Wed, 30 Sep 2009, Michael S. Tsirkin wrote:
> > >
>
> [..snip..]
>
> > > > >
> > > > > _t suffix is reserved by POSIX.
> > > >
> > > > There's still no better naming for scalars. Worst case some platform
> > > > will fail to compile, and we'll rename.
> > > >
> > >
> > > Not good enough, if you are using something you have to abide the
> > > constraints.
> >
> > So, posix does not reserve all of *_t namespace, it would negate years
> > of C code. It simply says posix implementations can add only symbols
> > ending with _t in the headers: this is a constraint on posix headers,
> > not on applications that use them. Thus you have to find some other
> > means to avoid conflict if you have symbols ending with _t. Using your
> > module name as a prefix is a classical way to do this, for pci prefixing
> > type name with pci_ should be enough to prevent any issues.
>
> I don't understand this at all. POSIX says that if you include any of
> it's headers be prepared to deal with it, i.e. any of your own
> typedefs that end with _t are potentially clashing with what's defined
> there,
In practice I don't expect any posix header to clash with
michael_s_tsirkin_t even though in theory it might.
So you can choose not to use any types that end with _t and have a
guarantee that you won't clash with posix, and just name types sanely so
they don't clash with posix in practice, on any platform people care
about, like 99% of the world does.
> similarly identifiers that start with 'str', 'E', double
> underscore and underscore followed by a capital letter are reserved by
> C, you just don't go there.
I agree, double underscores look ugly enough to avoid them without a special
reason, but for everyone reading C, *_t means "scalar type"
and this benefit of using it outweights, IMO, the danger of
potential clash with a header on a non-existing platform.
> --
> mailto:av1474@comtv.ru
next prev parent reply other threads:[~2009-10-01 12:29 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-15 11:15 [Qemu-devel] [PATCH 0/9] pci: pcie host and mmcfg support Isaku Yamahata
2009-07-15 11:15 ` [Qemu-devel] [PATCH 1/9] pci: fix PCI_DPRINTF() wrt variadic macro Isaku Yamahata
2009-09-30 11:36 ` Michael S. Tsirkin
2009-07-15 11:15 ` [Qemu-devel] [PATCH 2/9] pci.c: use appropriate PRIs in PCI_DPRINTF() Isaku Yamahata
2009-09-30 11:37 ` Michael S. Tsirkin
2009-09-30 11:58 ` Michael S. Tsirkin
2009-07-15 11:15 ` [Qemu-devel] [PATCH 3/9] pci: define a constant to represent a unmapped bar and use it Isaku Yamahata
2009-09-30 11:37 ` Michael S. Tsirkin
2009-07-15 11:15 ` [Qemu-devel] [PATCH 4/9] pci: use uint64_t for bar addr and size instead of uint32_t Isaku Yamahata
2009-09-30 11:41 ` Michael S. Tsirkin
2009-09-30 15:25 ` malc
2009-09-30 16:15 ` Michael S. Tsirkin
2009-09-30 16:51 ` malc
2009-09-30 17:26 ` Michael S. Tsirkin
2009-09-30 17:59 ` malc
2009-10-01 5:33 ` Michael S. Tsirkin
2009-10-01 12:15 ` malc
2009-10-01 12:26 ` Michael S. Tsirkin [this message]
2009-10-01 12:45 ` malc
2009-10-01 13:54 ` Anthony Liguori
2009-10-01 18:46 ` malc
2009-10-01 23:41 ` Jamie Lokier
2009-10-01 3:44 ` Isaku Yamahata
2009-07-15 11:15 ` [Qemu-devel] [PATCH 5/9] pci: 64bit bar support Isaku Yamahata
2009-09-30 11:43 ` Michael S. Tsirkin
2009-10-06 9:33 ` Michael S. Tsirkin
2009-07-15 11:15 ` [Qemu-devel] [PATCH 6/9] pci.c: factor out while(bus) bus->next loop logic into pci_find_bus_from() Isaku Yamahata
2009-09-30 11:45 ` Michael S. Tsirkin
2009-10-01 3:29 ` Isaku Yamahata
2009-10-01 6:28 ` Michael S. Tsirkin
2009-10-01 7:00 ` Isaku Yamahata
2009-10-01 7:14 ` Michael S. Tsirkin
2009-10-01 11:24 ` Gerd Hoffmann
2009-07-15 11:15 ` [Qemu-devel] [PATCH 7/9] pci: factor out the logic to get pci device from address Isaku Yamahata
2009-09-30 11:30 ` Michael S. Tsirkin
2009-10-01 3:59 ` Isaku Yamahata
2009-07-15 11:15 ` [Qemu-devel] [PATCH 8/9] pci_host.h: split non-inline static function in pci_host.h into pci_host_c.h Isaku Yamahata
2009-09-30 11:47 ` Michael S. Tsirkin
2009-10-01 4:13 ` Isaku Yamahata
2009-07-15 11:15 ` [Qemu-devel] [PATCH 9/9] [RFC] pci: pcie host and mmcfg support Isaku Yamahata
2009-10-06 9:32 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091001122650.GA9781@redhat.com \
--to=mst@redhat.com \
--cc=av1474@comtv.ru \
--cc=qemu-devel@nongnu.org \
--cc=yamahata@valinux.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.