enum opaque_enum; struct opaque_struct; typedef enum opaque_enum opaque_enum; typedef struct opaque_struct opaque_struct; void fn(opaque_struct *, opaque_enum *e);