Date: Mon, 4 Apr 2005 13:47:27 -0500 From: Mike Meyer <mwm@mired.org> To: Matt <mhersant@comcast.net> Cc: misc@openbsd.org Subject: Re: C programming question Message-ID: <16977.35775.940391.458960@guru.mired.org> In-Reply-To: <42518AC9.5070208@comcast.net> References: <42518AC9.5070208@comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
In <42518AC9.5070208@comcast.net>, Matt <mhersant@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@mired.org> http://www.mired.org/consulting.html Independent Network/Unix/Perforce consultant, email for more information.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16977.35775.940391.458960>