message: Add section on inline functions
diff: `W`).
  * For hexadecimal numbers, preserve the casing from the original headers (except for the uuid for
  `RIDL!`).
  +* If an identifier happens to match a Rust keyword, then append an underscore. For example `type`
  + would turn into `type_`.
  ## Newlines and indentation
  @@ -54,6 +56,18 @@ extern "system" {
  }
  ```
  +## Inline functions and macros
  +
  +* Inline functions and macros should be translated into Rust functions.
  +* These functions should always be marked `#[inline]`.
  +* Until constant functions can be defined in the minimum Rust that winapi supports, if a function
  + needs to be called in a constant, then a macro version of the function should be added.
  +* Inline functions are allowed to undergo some Rustification because they are not required to match
  + the ABI of the original. Raw pointers can be translated into references, `BOOLEAN` into `bool`,
  + and so on.
  +* If the function needs to do unsafe operations, then the function should be marked unsafe. If the
  + function does not do anything unsafe, then it should remain a safe function.
  +
  ## Function pointers
  ```Rust
  @@ -135,7 +149,8 @@ pub type PUSN_RECORD_UNION = *mut USN_RECORD_UNION;
  * The first parameter to `UNION2!` is the storage for that union. It must have both the correct
  size and alignment. You can use the following C++ code to print out the storage for any union
  - type that can be named. Defining `NONAMELESSUNION` will help with naming anonymous unions.
  + type that can be named. You may need to use a combination of `#define NONAMELESSUNION` and
  + `decltype` in order to name anonymous unions.
  ```C++
  char const * type_for_alignment(uintptr_t align) {
  