From: "Ni, Ray" <ray.ni@intel.com>
To: "rfc@edk2.groups.io" <rfc@edk2.groups.io>,
"leif@nuviainc.com" <leif@nuviainc.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: Felix Polyudov <Felixp@ami.com>,
"Doran, Mark" <mark.doran@intel.com>,
Andrew Fish <afish@apple.com>, Laszlo Ersek <lersek@redhat.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-rfc] [RFCv2] code-first process for UEFI-forum specifications
Date: Wed, 25 Mar 2020 05:14:59 +0000 [thread overview]
Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C4B2676@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20200323190548.GF22097@bivouac.eciton.net>
>
> ## Github
> New repositories will be added for holding the text changes and the source code.
>
> Specification text changes will be held within the affected source repository,
> in the Github flavour of markdown, in a file (or split across several files)
> with .md suffix.
What's the case when multiple .MD files are needed?
> (This one may break down where we have a specification change affecting multiple
> specifications, but at that point we can track it with multiple BZ entries)
>
>
> ## Source code
> In order to ensure draft code does not accidentally leak into production use,
> and to signify when the changeover from draft to final happens, *all* new or
> modified[1] identifiers need to be prefixed with the relevant BZ####.
>
> [1] Modified in a non-backwards-compatible way. If, for example, a statically
> sized array is grown - this does not need to be prefixed. But a tag in a
> comment would be *highly* recommended.
If a protocol is enhanced to provide more interfaces with increased revision number,
would you like the protocol name to be prefixed with BZ####?
Or just the new interfaces added to the protocol are prefixed the BZ####?
I think just prefixing the new interfaces can meet the purpose.
But the protocol definition is changed, it also needs to be prefixed according to this flow.
Can you clarify a bit more?
>
> ### File names
> New public header files need the prefix. I.e. `Bz1234MyNewProtocol.h`
> Private header files do not need the prefix.
>
> ### Contents
>
> The tagging must follow the coding style used by each affected codebase.
> Examples:
>
> | Released in spec | Draft version in tree | Comment |
> | --- | --- | --- |
> | `FunctionName` | `Bz1234FunctionName` | |
> | `HEADER_MACRO` | `BZ1234_HEADER_MACRO` | |
If FunctionName or HEADER_MACRO is defined in non-public header files, I don't
think they require the prefix. Do you agree?
> For data structures or enums, any new or non-backwards-compatible structs or
> fields require a prefix. As above, growing an existing array in an existing
> struct requires no prefix.
>
> | `typedef SOME_STRUCT` | `BZ1234_SOME_STRUCT` | Typedef only [2] |
> | `StructField` | `Bz1234StructField` | In existing struct[3] |
> | `typedef SOME_ENUM` | `BZ1234_SOME_ENUM` | Typedef only [2] |
>
> [2] If the struct or enum definition is separate from the typedef in the public
> header, the definition does not need the prefix.
What does "separate" mean?
Does it mean "struct or enum in the public header BzXXX.h don't need the prefix"?
If yes, then I think macros defined in BzXXX.h also don't need the prefix.
> [3] Individual fields in newly added typedefd struct do not need prefix, the
> struct already carried the prefix.
>
> Variable prefixes indicating global scope ('g' or 'm') go before the BZ prefix.
>
> | `gSomeGuid` | `gBz1234SomeGuid` | |
>
> Local identifiers, including module-global ones (m-prefixed) do not require a
> BZ prefix.
I think only the names (struct type name, enum type name, interface name, protocol/ppi name)
defined in public header files need the BZ prefix when the public header doesn't have prefix.
Right?
next prev parent reply other threads:[~2020-03-25 5:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-23 19:05 [RFCv2] code-first process for UEFI-forum specifications Leif Lindholm
2020-03-25 5:14 ` Ni, Ray [this message]
2020-05-12 15:29 ` [edk2-rfc] " Leif Lindholm
2020-03-25 15:20 ` [edk2-devel] " Laszlo Ersek
2020-05-05 15:21 ` [edk2-rfc] " Samer El-Haj-Mahmoud
-- strict thread matches above, loose matches on Subject: below --
2020-05-14 21:10 Samer El-Haj-Mahmoud
[not found] <160F0156FEDC6091.6323@groups.io>
2020-05-20 10:19 ` Samer El-Haj-Mahmoud
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-list 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=734D49CCEBEEF84792F5B80ED585239D5C4B2676@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox