From a009d94459a8c8e126dadc8ee335b5833556dac7 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 31 Aug 2006 01:10:02 +0000 Subject: 2006-08-30 Joel Sherrill * ftpd/ftpd.c, libcsupport/include/sys/ioccom.h, libcsupport/src/ioctl.c, libnetworking/kern/uipc_mbuf.c, libnetworking/libc/inet_addr.c, libnetworking/net/ethernet.h, libnetworking/net/if.c, libnetworking/net/if_ethersubr.c, libnetworking/net/if_ppp.c, libnetworking/net/if_pppvar.h, libnetworking/net/if_var.h, libnetworking/net/ppp_tty.c, libnetworking/netinet/in_cksum.c, libnetworking/nfs/bootp_subr.c, libnetworking/rtems/rtems_bsdnet_internal.h, libnetworking/sys/mbuf.h, pppd/md4.c, pppd/pppd.h: Remove warnings due to improper use of int which shows up on 16 bit targets. Added ioctl_command_t since IOCTL command argument does not reliably fit into 16 bits. --- cpukit/ChangeLog | 15 ++++++++ cpukit/ftpd/ftpd.c | 2 +- cpukit/libcsupport/include/sys/ioccom.h | 7 +++- cpukit/libcsupport/src/ioctl.c | 2 +- cpukit/libnetworking/kern/uipc_mbuf.c | 2 +- cpukit/libnetworking/libc/inet_addr.c | 4 +-- cpukit/libnetworking/net/ethernet.h | 2 +- cpukit/libnetworking/net/if.c | 2 +- cpukit/libnetworking/net/if_ethersubr.c | 2 +- cpukit/libnetworking/net/if_ppp.c | 6 ++-- cpukit/libnetworking/net/if_pppvar.h | 2 +- cpukit/libnetworking/net/if_var.h | 2 +- cpukit/libnetworking/net/ppp_tty.c | 2 +- cpukit/libnetworking/netinet/in_cksum.c | 8 ++--- cpukit/libnetworking/nfs/bootp_subr.c | 7 ++-- cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 12 +++++-- cpukit/libnetworking/sys/mbuf.h | 4 +-- cpukit/pppd/md4.c | 4 +-- cpukit/pppd/pppd.h | 40 +++++++++++----------- 19 files changed, 76 insertions(+), 49 deletions(-) (limited to 'cpukit') diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 0b360a93b4..01519f2399 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,18 @@ +2006-08-30 Joel Sherrill + + * ftpd/ftpd.c, libcsupport/include/sys/ioccom.h, + libcsupport/src/ioctl.c, libnetworking/kern/uipc_mbuf.c, + libnetworking/libc/inet_addr.c, libnetworking/net/ethernet.h, + libnetworking/net/if.c, libnetworking/net/if_ethersubr.c, + libnetworking/net/if_ppp.c, libnetworking/net/if_pppvar.h, + libnetworking/net/if_var.h, libnetworking/net/ppp_tty.c, + libnetworking/netinet/in_cksum.c, libnetworking/nfs/bootp_subr.c, + libnetworking/rtems/rtems_bsdnet_internal.h, + libnetworking/sys/mbuf.h, pppd/md4.c, pppd/pppd.h: Remove warnings + due to improper use of int which shows up on 16 bit targets. Added + ioctl_command_t since IOCTL command argument does not reliably fit + into 16 bits. + 2006-08-30 Joel Sherrill * libcsupport/include/sys/ioccom.h, libnetworking/kern/uipc_socket2.c, diff --git a/cpukit/ftpd/ftpd.c b/cpukit/ftpd/ftpd.c index c4562dbf45..dc2153793d 100644 --- a/cpukit/ftpd/ftpd.c +++ b/cpukit/ftpd/ftpd.c @@ -1192,7 +1192,7 @@ send_dirline(int s, int wide, time_t curTime, char const* path, struct tm bt; time_t tf = stat_buf.st_mtime; enum { SIZE = 80 }; - enum { SIX_MONTHS = 365*24*60*60/2 }; + uint32_t SIX_MONTHS = (365L*24L*60L*60L)/2L; char timeBuf[SIZE]; gmtime_r(&tf, &bt); if(curTime > tf + SIX_MONTHS || tf > curTime + SIX_MONTHS) diff --git a/cpukit/libcsupport/include/sys/ioccom.h b/cpukit/libcsupport/include/sys/ioccom.h index 9a646c3130..ed90a01a93 100644 --- a/cpukit/libcsupport/include/sys/ioccom.h +++ b/cpukit/libcsupport/include/sys/ioccom.h @@ -90,8 +90,13 @@ #include +#ifndef __ioctl_command_defined +typedef u_int32_t ioctl_command_t; +#define __ioctl_command_defined +#endif + __BEGIN_DECLS -int ioctl(int, int, ...); +int ioctl(int, ioctl_command_t, ...); __END_DECLS #endif /* !KERNEL */ diff --git a/cpukit/libcsupport/src/ioctl.c b/cpukit/libcsupport/src/ioctl.c index ea05340a9d..029314babc 100644 --- a/cpukit/libcsupport/src/ioctl.c +++ b/cpukit/libcsupport/src/ioctl.c @@ -27,7 +27,7 @@ int ioctl( int fd, - int command, + ioctl_command_t command, ... ) { diff --git a/cpukit/libnetworking/kern/uipc_mbuf.c b/cpukit/libnetworking/kern/uipc_mbuf.c index cc01e7201e..7461aa7618 100644 --- a/cpukit/libnetworking/kern/uipc_mbuf.c +++ b/cpukit/libnetworking/kern/uipc_mbuf.c @@ -221,7 +221,7 @@ m_prepend(struct mbuf *m, int len, int how) static int MCFail; struct mbuf * -m_copym(struct mbuf *m, int off0, int len, int wait) +m_copym(struct mbuf *m, int off0, uint32_t len, int wait) { struct mbuf *n, **np; int off = off0; diff --git a/cpukit/libnetworking/libc/inet_addr.c b/cpukit/libnetworking/libc/inet_addr.c index 3307991df5..175e8367c3 100644 --- a/cpukit/libnetworking/libc/inet_addr.c +++ b/cpukit/libnetworking/libc/inet_addr.c @@ -93,8 +93,8 @@ inet_aton(cp, addr) in_addr_t val; register int base, n; register char c; - u_int parts[4]; - register u_int *pp = parts; + uint32_t parts[4]; + register uint32_t *pp = parts; c = *cp; for (;;) { diff --git a/cpukit/libnetworking/net/ethernet.h b/cpukit/libnetworking/net/ethernet.h index 85f288a231..380ee1bad0 100644 --- a/cpukit/libnetworking/net/ethernet.h +++ b/cpukit/libnetworking/net/ethernet.h @@ -360,7 +360,7 @@ extern uint32_t ether_crc32_be(const uint8_t *, size_t); extern void ether_demux(struct ifnet *, struct mbuf *); extern void ether_ifattach(struct ifnet *); extern void ether_ifdetach(struct ifnet *); -extern int ether_ioctl(struct ifnet *, int32_t, caddr_t); +extern int ether_ioctl(struct ifnet *, ioctl_command_t, caddr_t); extern void ether_input (struct ifnet *, struct ether_header *, struct mbuf *); extern int ether_output(struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *); diff --git a/cpukit/libnetworking/net/if.c b/cpukit/libnetworking/net/if.c index b7a7c1ee21..3b9921311d 100644 --- a/cpukit/libnetworking/net/if.c +++ b/cpukit/libnetworking/net/if.c @@ -559,7 +559,7 @@ ifioctl(struct socket *so, u_long cmd, caddr_t data, struct proc *p) * 72 was chosen below because it is the size of a TCP/IP * header (40) + the minimum mss (32). */ - if (ifr->ifr_mtu < 72 || ifr->ifr_mtu > 65535) + if (ifr->ifr_mtu < 72 || ifr->ifr_mtu > 65535L) return (EINVAL); error = (*ifp->if_ioctl)(ifp, cmd, data); if (error == 0) diff --git a/cpukit/libnetworking/net/if_ethersubr.c b/cpukit/libnetworking/net/if_ethersubr.c index 31e9a88ac5..80f6db0a1f 100644 --- a/cpukit/libnetworking/net/if_ethersubr.c +++ b/cpukit/libnetworking/net/if_ethersubr.c @@ -825,7 +825,7 @@ ether_crc32_be(const uint8_t *buf, size_t len) } int -ether_ioctl(struct ifnet *ifp, int32_t command, caddr_t data) +ether_ioctl(struct ifnet *ifp, ioctl_command_t command, caddr_t data) { struct ifaddr *ifa = (struct ifaddr *) data; struct ifreq *ifr = (struct ifreq *) data; diff --git a/cpukit/libnetworking/net/if_ppp.c b/cpukit/libnetworking/net/if_ppp.c index f0a8bb69bb..af516342fa 100644 --- a/cpukit/libnetworking/net/if_ppp.c +++ b/cpukit/libnetworking/net/if_ppp.c @@ -132,7 +132,7 @@ #include #endif -static int pppsioctl(struct ifnet *ifp, u_long cmd, caddr_t data); +static int pppsioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data); static void ppp_requeue(struct ppp_softc *); #ifdef PPP_COMPRESS static void ppp_ccp(struct ppp_softc *, struct mbuf *m, int rcvd); @@ -619,7 +619,7 @@ pppdealloc(sc) int pppioctl(sc, cmd, data, flag, p) struct ppp_softc *sc; - int32_t cmd; + ioctl_command_t cmd; caddr_t data; int flag; struct proc *p; @@ -838,7 +838,7 @@ pppioctl(sc, cmd, data, flag, p) * Process an ioctl request to the ppp network interface. */ static int -pppsioctl(struct ifnet *ifp, u_long cmd, caddr_t data) +pppsioctl(struct ifnet *ifp, ioctl_command_t cmd, caddr_t data) { /*struct proc *p = curproc;*/ /* XXX */ register struct ppp_softc *sc = &ppp_softc[ifp->if_unit]; diff --git a/cpukit/libnetworking/net/if_pppvar.h b/cpukit/libnetworking/net/if_pppvar.h index cffa25c693..d6a1c7a7d6 100644 --- a/cpukit/libnetworking/net/if_pppvar.h +++ b/cpukit/libnetworking/net/if_pppvar.h @@ -118,7 +118,7 @@ struct ppp_softc *pppalloc(pid_t pid); void pppdealloc(struct ppp_softc *sc); int pppoutput(struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *); -int pppioctl(struct ppp_softc *sc, int32_t cmd, caddr_t data, +int pppioctl(struct ppp_softc *sc, ioctl_command_t cmd, caddr_t data, int flag, struct proc *p); struct mbuf *ppp_dequeue(struct ppp_softc *sc); u_short pppfcs(u_short fcs, u_char *cp, int len); diff --git a/cpukit/libnetworking/net/if_var.h b/cpukit/libnetworking/net/if_var.h index ad32cd11a6..7aa0ddbf43 100644 --- a/cpukit/libnetworking/net/if_var.h +++ b/cpukit/libnetworking/net/if_var.h @@ -116,7 +116,7 @@ struct ifnet { void (*if_start) /* initiate output routine */ (struct ifnet *); int (*if_ioctl) /* ioctl routine */ - (struct ifnet *, u_long, caddr_t); + (struct ifnet *, ioctl_command_t, caddr_t); void (*if_watchdog) /* timer routine */ (struct ifnet *); int (*if_poll_recv) /* polled receive routine */ diff --git a/cpukit/libnetworking/net/ppp_tty.c b/cpukit/libnetworking/net/ppp_tty.c index 76eea6164c..d3de18ac62 100644 --- a/cpukit/libnetworking/net/ppp_tty.c +++ b/cpukit/libnetworking/net/ppp_tty.c @@ -427,7 +427,7 @@ ppptioctl(struct rtems_termios_tty *tty, rtems_libio_ioctl_args_t *args) { /* int i; */ int error = RTEMS_SUCCESSFUL; - int32_t cmd = args->command; + ioctl_command_t cmd = args->command; caddr_t data = args->buffer; struct ppp_softc *sc = tty->t_sc; diff --git a/cpukit/libnetworking/netinet/in_cksum.c b/cpukit/libnetworking/netinet/in_cksum.c index a2728d04b0..e4d8698dee 100644 --- a/cpukit/libnetworking/netinet/in_cksum.c +++ b/cpukit/libnetworking/netinet/in_cksum.c @@ -68,18 +68,18 @@ * code and should be modified for each CPU to be as fast as possible. */ -#define ADDCARRY(x) (x > 65535 ? x -= 65535 : x) +#define ADDCARRY(x) (x > 65535L ? x -= 65535L : x) #define REDUCE \ {l_util.l = sum; sum = l_util.s[0] + l_util.s[1]; ADDCARRY(sum);} int in_cksum(m, len) register struct mbuf *m; - register int len; + register uint32_t len; { register u_short *w; - register int sum = 0; - register int mlen = 0; + register uint32_t sum = 0; + register uint32_t mlen = 0; int byte_swapped = 0; union { diff --git a/cpukit/libnetworking/nfs/bootp_subr.c b/cpukit/libnetworking/nfs/bootp_subr.c index 3ad2a38ac1..1c3a7b74ed 100644 --- a/cpukit/libnetworking/nfs/bootp_subr.c +++ b/cpukit/libnetworking/nfs/bootp_subr.c @@ -71,6 +71,7 @@ #include #include #include +#include #define BOOTP_MIN_LEN 300 /* Minimum size of bootp udp packet */ @@ -706,12 +707,12 @@ substr(char *a, char *b) static void printip(char *prefix,struct in_addr addr) { - unsigned int ip; + uint32_t ip; ip = ntohl(addr.s_addr); - printf("%s is %d.%d.%d.%d\n",prefix, - ip >> 24, (ip >> 16) & 255 ,(ip >> 8) & 255 ,ip & 255 ); + printf("%s is %" PRId32" .%" PRId32" .%" PRId32" .%" PRId32" \n",prefix, + ip >> 24, (ip >> 16) & 0xff ,(ip >> 8) & 0xff ,ip & 0xff ); } static int dhcpOptionOverload = 0; diff --git a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h index 11395edb49..41bd277ef9 100644 --- a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h +++ b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h @@ -19,6 +19,12 @@ typedef long long vm_ooffset_t; typedef unsigned int vm_pindex_t; typedef unsigned int vm_size_t; +#ifndef __ioctl_command_defined +typedef u_int32_t ioctl_command_t; +#define __ioctl_command_defined +#endif + + #define _BSD_OFF_T_ int32_t #define _BSD_PID_T_ rtems_id #define _BSD_VA_LIST_ char * @@ -173,7 +179,7 @@ void ipintr (void); void arpintr (void); void bootpc_init(int ); int socket (int, int, int); -int ioctl (int, int, ...); +int ioctl (int, ioctl_command_t, ...); /* * Events used by networking routines. @@ -183,8 +189,8 @@ int ioctl (int, int, ...); */ #define SBWAIT_EVENT RTEMS_EVENT_24 #define SOSLEEP_EVENT RTEMS_EVENT_25 -#define NETISR_IP_EVENT (1 << NETISR_IP) -#define NETISR_ARP_EVENT (1 << NETISR_ARP) +#define NETISR_IP_EVENT (1L << NETISR_IP) +#define NETISR_ARP_EVENT (1L << NETISR_ARP) #define NETISR_EVENTS (NETISR_IP_EVENT|NETISR_ARP_EVENT) #if (SBWAIT_EVENT & SOSLEEP_EVENT & NETISR_EVENTS) # error "Network event conflict" diff --git a/cpukit/libnetworking/sys/mbuf.h b/cpukit/libnetworking/sys/mbuf.h index e88aed3628..b710e88bd5 100644 --- a/cpukit/libnetworking/sys/mbuf.h +++ b/cpukit/libnetworking/sys/mbuf.h @@ -395,7 +395,7 @@ union mcluster { } /* Length to m_copy to copy all. */ -#define M_COPYALL 1000000000 +#define M_COPYALL (uint32_t)1000000000L /* Compatibility with 4.3. */ #define m_copy(m, o, l) m_copym((m), (o), (l), M_DONTWAIT) @@ -413,7 +413,7 @@ extern int max_protohdr; /* largest protocol header */ extern int max_hdr; /* largest link+protocol header */ extern int max_datalen; /* MHLEN - max_hdr */ -struct mbuf *m_copym(struct mbuf *, int, int, int); +struct mbuf *m_copym(struct mbuf *, int, uint32_t, int); struct mbuf *m_copypacket(struct mbuf *, int); struct mbuf *m_devget(char *, int, int, struct ifnet *, void (*copy)(char *, caddr_t, u_int)); diff --git a/cpukit/pppd/md4.c b/cpukit/pppd/md4.c index cda9f943d0..17f1021f8c 100644 --- a/cpukit/pppd/md4.c +++ b/cpukit/pppd/md4.c @@ -124,8 +124,8 @@ MDblock(MDp,Xb) MD4_CTX *MDp; unsigned char *Xb; { - register unsigned int tmp, A, B, C, D; - unsigned int X[16]; + register uint32_t tmp, A, B, C, D; + uint32_t X[16]; int i; for (i = 0; i < 16; ++i) { diff --git a/cpukit/pppd/pppd.h b/cpukit/pppd/pppd.h index 95fe61531d..95d40b82ba 100644 --- a/cpukit/pppd/pppd.h +++ b/cpukit/pppd/pppd.h @@ -74,33 +74,33 @@ typedef struct { enum opt_type type; void *addr; char *description; - int flags; + uint32_t flags; void *addr2; int upper_limit; int lower_limit; } option_t; /* Values for flags */ -#define OPT_VALUE 0xff /* mask for presupplied value */ -#define OPT_HEX 0x100 /* int option is in hex */ -#define OPT_NOARG 0x200 /* option doesn't take argument */ -#define OPT_OR 0x400 /* OR in argument to value */ -#define OPT_INC 0x800 /* increment value */ -#define OPT_PRIV 0x1000 /* privileged option */ -#define OPT_STATIC 0x2000 /* string option goes into static array */ -#define OPT_LLIMIT 0x4000 /* check value against lower limit */ -#define OPT_ULIMIT 0x8000 /* check value against upper limit */ +#define OPT_VALUE 0xffL /* mask for presupplied value */ +#define OPT_HEX 0x100L /* int option is in hex */ +#define OPT_NOARG 0x200L /* option doesn't take argument */ +#define OPT_OR 0x400L /* OR in argument to value */ +#define OPT_INC 0x800L /* increment value */ +#define OPT_PRIV 0x1000L /* privileged option */ +#define OPT_STATIC 0x2000L /* string option goes into static array */ +#define OPT_LLIMIT 0x4000L /* check value against lower limit */ +#define OPT_ULIMIT 0x8000L /* check value against upper limit */ #define OPT_LIMITS (OPT_LLIMIT|OPT_ULIMIT) -#define OPT_ZEROOK 0x10000 /* 0 value is OK even if not within limits */ -#define OPT_NOINCR 0x20000 /* value mustn't be increased */ -#define OPT_ZEROINF 0x40000 /* with OPT_NOINCR, 0 == infinity */ -#define OPT_A2INFO 0x100000 /* addr2 -> option_info to update */ -#define OPT_A2COPY 0x200000 /* addr2 -> second location to rcv value */ -#define OPT_ENABLE 0x400000 /* use *addr2 as enable for option */ -#define OPT_PRIVFIX 0x800000 /* can't be overridden if noauth */ -#define OPT_PREPASS 0x1000000 /* do this opt in pre-pass to find device */ -#define OPT_INITONLY 0x2000000 /* option can only be set in init phase */ -#define OPT_DEVEQUIV 0x4000000 /* equiv to device name */ +#define OPT_ZEROOK 0x10000L /* 0 value is OK even if not within limits */ +#define OPT_NOINCR 0x20000L /* value mustn't be increased */ +#define OPT_ZEROINF 0x40000L /* with OPT_NOINCR, 0 == infinity */ +#define OPT_A2INFO 0x100000L /* addr2 -> option_info to update */ +#define OPT_A2COPY 0x200000L /* addr2 -> second location to rcv value */ +#define OPT_ENABLE 0x400000L /* use *addr2 as enable for option */ +#define OPT_PRIVFIX 0x800000L /* can't be overridden if noauth */ +#define OPT_PREPASS 0x1000000L /* do this opt in pre-pass to find device */ +#define OPT_INITONLY 0x2000000L /* option can only be set in init phase */ +#define OPT_DEVEQUIV 0x4000000L /* equiv to device name */ #define OPT_DEVNAM (OPT_PREPASS | OPT_INITONLY | OPT_DEVEQUIV) #define OPT_VAL(x) ((x) & OPT_VALUE) -- cgit v1.2.3