C programming question
Mike Meyer
mwm at mired.org
Mon Apr 4 11:47:34 PDT 2005
In <42518AC9.5070208 at comcast.net>, Matt <mhersant at comcast.net> typed:
> I need some help understanding some C code.
>
> int (*if_ioctl)
> (struct ifnet *, int, caddr_t);
>
> int (*if_watchdog)
> (int);
>
> Can someone break down these declarations (if that's what they are)? Is
> this a form of typecasting? Thanks for your help.
cdecl (in the ports tree) is your friend:
guru% cdecl
Type `help' or `?' for help
explain int (*if_ioctl)(struct ifnet *, int, caddr_t);
declare if_ioctl as pointer to function (pointer to struct ifnet, int, caddr_t) returning int
explain int (*if_watchdog)(int);
declare if_watchdog as pointer to function (int) returning int
Note that the parens around the "pointer to function" part are required:
explain int *if_watchdog(int);
declare if_watchdog as function (int) returning pointer to int
<mike
--
Mike Meyer <mwm at mired.org> http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.
More information about the freebsd-hackers
mailing list