Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Dec 2004 00:26:01 -0500
From:      Ken Smith <kensmith@cse.Buffalo.EDU>
To:        Ken Smith <kensmith@cse.Buffalo.EDU>
Cc:        Wilko Bulte <wb@freebie.xs4all.nl>
Subject:   Re: cvs commit: src/sbin/ifconfig ifconfig.c src/sys/net if.c if.h
Message-ID:  <20041213052601.GB12611@electra.cse.Buffalo.EDU>
In-Reply-To: <20041212215540.GD5960@electra.cse.Buffalo.EDU>
References:  <200412122012.iBCKCou6068020@repoman.freebsd.org> <20041212204111.GB5503@electra.cse.Buffalo.EDU> <20041212205321.GA28802@odin.ac.hmc.edu> <20041212212850.GA1493@freebie.xs4all.nl> <20041212215540.GD5960@electra.cse.Buffalo.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 12, 2004 at 04:55:40PM -0500, Ken Smith wrote:

> I didn't check as thoroughly as Brooks said he did but I whipped up
> a very crude little test and ran it on beast:
> 
> #include <sys/param.h>
> #include <sys/socket.h>
> #include "if.h"
> 
> main()
> {
>         struct if_data foo;
>         u_char *addr1, *addr2;
> 
>         printf("sizeof if_data %d\n", sizeof(foo));
>         addr1 = (u_char *)&foo;
>         addr2 = (u_char *)&foo.ifi_mtu;
>         printf("offset ifi_mtu %d\n", (int)(addr2 - addr1));
> }
> 

As a community service...  Don't write code like that... :-)

I was having a little trouble finding the right combination of headers
to get offsetof() working.  This should be better:

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <sys/param.h>
#include <sys/socket.h>
#include "if.h"

main()
{
        struct if_data foo;
        size_t distance;

        printf("sizeof if_data %d\n", sizeof(foo));
        distance = offsetof(struct if_data, ifi_mtu);
        printf("offset ifi_mtu %lu\n", (unsigned long)distance);
}

-- 
						Ken Smith
- From there to here, from here to      |       kensmith@cse.buffalo.edu
  there, funny things are everywhere.   |
                      - Theodore Geisel |



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041213052601.GB12611>