Add struct keyword before structures in new callback function pointers

This treatment is similar to the function pointer code gen above.
It fixes a compiler error when the header is used in C.

Bug: None
Change-Id: I6368a6f8cee887cecaf5ed9d119413e0749f026e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/193000
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
Commit-Queue: Jaswant Panchumarti <jaswant.panchumarti@kitware.com>
Auto-Submit: Jaswant Panchumarti <jaswant.panchumarti@kitware.com>
diff --git a/generator/templates/api.h b/generator/templates/api.h
index 80d4991..cfc89d2 100644
--- a/generator/templates/api.h
+++ b/generator/templates/api.h
@@ -130,7 +130,7 @@
 {% for type in by_category["callback function"] %}
     typedef {{as_cType(type.return_type.name)}} (*{{as_cType(type.name)}})(
         {%- for arg in type.arguments -%}
-            {{as_annotated_cType(arg)}}{{", "}}
+            {% if arg.type.category == "structure" %}struct {% endif %}{{as_annotated_cType(arg)}}{{", "}}
         {%- endfor -%}
     void* userdata1, void* userdata2) {{API}}_FUNCTION_ATTRIBUTE;
 {% endfor %}