EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Build failure for if_depen.c
From: Kazuro FURUKAWA <[email protected]>
To: "Jeff Hill" <[email protected]>
Cc: "Geoff Savage" <[email protected]>, "Rarback, Harvey" <[email protected]>, [email protected], "Straumann, Till" <[email protected]>, "Wermelskirchen, Clemens" <[email protected]>, Kazuro FURUKAWA <[email protected]>
Date: Thu, 24 May 2001 15:36:01 +0900
Hi Jeff, 

>>> On Wed, 23 May 2001 15:54:29 CST,  "Jeff Hill" <[email protected]>  wrote;
> This particular ifdef was added to R3.13.4 so that it would be
> compatible with the SENS IP kernel present in Tornado II.
> 
> #if ( defined (BSD) && ( BSD >= 44 ) ) || defined ( SOCKADDR_HAS_LEN )
>      size = pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name);
>      if (size < sizeof(*pifreq))
>          size = sizeof(*pifreq);
> #else
>      size = sizeof(*pifreq);
> 
> Apparently, the condition "(BSD) && ( BSD >= 44 )" is true on your OS  
> despite the fact that your OS does not, by default, expose an IP kernel 
> interface that behaves like BSD 4.4?

Actually BSD on Tru64Unix (both V4.0F and V5.1) is 198911, which means 
OSF1 was based on BSD 4.3 (?).  Thus ( defined (BSD) && ( BSD >= 44 ) ) 
does not work.  I did something like this, which is ugly. 

*** osdNetIntf.c.org    Fri Feb 16 09:21:11 2001
--- osdNetIntf.c        Wed Apr 11 11:50:54 2001
***************
*** 53,59 ****
  {
      unsigned int size;
  
! #if ( defined (BSD) && ( BSD >= 44 ) ) || defined ( SOCKADDR_HAS_LEN )
      size = pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name);
      if (size < sizeof(*pifreq))
        size = sizeof(*pifreq);
--- 53,62 ----
  {
      unsigned int size;
  
! /* #if ( defined (BSD) && ( BSD >= 44 ) ) || defined ( SOCKADDR_HAS_LEN ) */
! #if (( defined (BSD) && ( BSD >= 44 ) ) || defined ( SOCKADDR_HAS_LEN )) && !defined ( __osf__ )
!     /* on osf1, BSD is 198911 */
! 
      size = pifreq->ifr_addr.sa_len + sizeof(pifreq->ifr_name);
      if (size < sizeof(*pifreq))
        size = sizeof(*pifreq);

Regards. 
-----
Kazuro FURUKAWA <[email protected]>
 Linac,  High Energy Accelerator Research Organization (KEK), Japan


References:
RE: Build failure for if_depen.c Jeff Hill

Navigate by Date:
Prev: RE: Build failure for if_depen.c Jeff Hill
Next: Error reporting from device support for output style records J. Frederick Bartlett ([email protected])
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Build failure for if_depen.c Jeff Hill
Next: Error reporting from device support for output style records J. Frederick Bartlett ([email protected])
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·