## C.4. Extension Command, Type, and Token Naming Conventions

Extensions may add new commands, types, and tokens, or collectively “objects”, to the Vulkan API. These objects are given globally unique names by appending the author prefix defined above for the extension name according to the following templates.

A command or type name simply appends the author prefix. For example, a Khronos-blessed extension could expose the following command:

void vkDoSomethingKHR(void);

A Google extension could expose the following command:

void vkDoSomethingGOOGLE(void);

And a multi-author extension could expose the following type:

typedef struct VkSomeDataEXT;

Enumeration or constant token names are constructed by following the token name with _ and the author prefix, so a non-Khronos extension could expose this enumeration:

enum VkSomeValuesGRPHX {
VK_SOME_VALUE_0_GRPHX = 0,
VK_SOME_VALUE_1_GRPHX = 1,
VK_SOME_VALUE_2_GRPHX = 2,
};