From 02ff83c52592427623db0d8367ca9b3395fa321f Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 11 Jun 2004 11:27:03 +0000 Subject: 2004-06-11 Sowmini Varadhan * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast to u_char. (ipv6_access_list_remark_cmd) ditto. if.c: ditto * network.c: (readn/writen) pointer arg should be type u_char. * plist.c: needs to include stream.h, not declare stream functions internally. (various) Add static qualifier to internal functions. (prefix_list_type_str) extraneous breaks in switch statement. (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast * stream.h: depends on plist.h and export stream_put_prefix * vty.c: (vty_) should use unsigned char, telnet options are 0 -> 255. * zclient.c: various u_char<->char type cleanups. * zebra.h: Having to define CMSG_* can apply to more than just BSDI_NRL. * ripd.c: (rip_distribute_update_all) distribute list hook function pointer prototype requires struct prefix_list * arg. (rip_distribute_update_all_wrapper) update to pass required arg, NULL. --- lib/zebra.h | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'lib/zebra.h') diff --git a/lib/zebra.h b/lib/zebra.h index ed3024db..7ba01d56 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -207,14 +207,29 @@ typedef int socklen_t; #define IN6_ARE_ADDR_EQUAL IN6_IS_ADDR_EQUAL -/* BSD/OS 4.0 has lost belows defines, it should appear at - /usr/include/sys/socket.h. */ -#define CMSG_ALIGN(n) (((n) + 3) & ~3) -#define CMSG_SPACE(l) (CMSG_ALIGN(sizeof(struct cmsghdr)) + CMSG_ALIGN(l)) -#define CMSG_LEN(l) (CMSG_ALIGN(sizeof(struct cmsghdr)) + (l)) - #endif /* BSDI_NRL */ +/* + * RFC 2553-bis defines not available on some systems. + */ +#ifndef _CMSG_DATA_ALIGN +#define _CMSG_DATA_ALIGN(n) (((n) + 3) & ~3) +#endif /* _CMSG_DATA_ALIGN */ + +#ifndef _CMSG_HDR_ALIGN +#define _CMSG_HDR_ALIGN(n) (((n) + 3) & ~3) +#endif /* _CMSG_HDR_ALIGN */ + +#ifndef CMSG_SPACE +#define CMSG_SPACE(l) (_CMSG_DATA_ALIGN(sizeof(struct cmsghdr)) + \ + _CMSG_HDR_ALIGN(l)) +#endif /* CMSG_SPACE */ + + +#ifndef CMSG_LEN +#define CMSG_LEN(l) (_CMSG_DATA_ALIGN(sizeof(struct cmsghdr)) + (l)) +#endif /* CMSG_LEN */ + #if !defined(__GNUC__) || __GNUC__ < 2 || __GNUC_MINOR__ < 5 #define __attribute__(x) #endif /* !__GNUC__ */ -- cgit v1.2.1