typedef short (*hello1)(char coolParam,
                        ushort *,
                        unsigned int anotherone);

short (*hello2)(char coolParam,
                ulong *,
                uchar,
                unsigned int anotherone);

short hello3(char coolParam,
             ushort *,
             unsigned int anotherone);

void x(custom_t *e, void (*funcptr));
void x(custom_t *e, void (*funcptr)[]);
void x(custom_t *e, void (*funcptr)(int, int));
void x(custom_t *e, void (*funcptr)(int, int)[]);

