Different combinations of extern and inline and no function specifiers may be valid and will compile, yet the behaviour may be different.
Whether a function will actually be inlined is defined by these two paragraphs of the C99-standard (cf, for example, this online C99 standard draft):
6.7.4 Function specifiers
...
(6) A function declared with an inline function specifier is an inline function. Making a function an inline function suggests that calls to the function be as fast as possible.138) The extent to which such suggestions are effective is implementation-defined.139)
(7) Any function with internal linkage can be an inline function. For a function with external linkage, the following restrictions apply: If a function is declared with an inline function specifier, then it shall also be defined in the same translation unit. If all of the file scope declarations for a function in a translation unit include the inline function specifier without extern, then the definition in that translation unit is an inline definition. An inline definition does not provide an external definition for the function, and does not forbid an external definition in another translation unit. An inline definition provides an alternative to an external definition, which a translator may use to implement any call to the function in the same translation unit. It is unspecified whether a call to the function uses the inline definition or the external definition.140)
Paragraph (6) defines that - even if a function is an "inline function" - it is implementation defined whether it is actually "inlined" or not.
Paragraph (7) says that only if all the declarations of a file-scope function identifier are marked as inline and none of them is marked as external, then the function is defined inline.
In your example, since you do not use an external keyword, the function will be defined as inline. If it is actually inlined is, according to paragraph (6), still implementation defined.
static inlineand place it into a header file.statickeyword is used: stackoverflow.com/questions/62379166/…. I'm looking for the same kind of rules in C forinline.