質問です。

extern int usbmon_quit (const char*);

typedef struct {
 int (*func) (const char*);
} CmdList;

static const CmdList cmd_list[] = {
 { usbmon_quit },
};

static void*
search_command (char* buf)
{
 return cmd_list[0].func;
}

もとのソースからかなり省略していますが、ここで
search_command()の返り値の型は本来どのように記述すればよいのでしょうか?

関数へのポインタは一応分かったつもりだったんですが、
うまくいかなくて上のソースではvoid*でごまかしています。