diff options
author | paul <paul> | 2005-11-03 09:00:23 +0000 |
---|---|---|
committer | paul <paul> | 2005-11-03 09:00:23 +0000 |
commit | 34204aac424f8c29317d863d64f1c3bb4d241a50 (patch) | |
tree | a7ad861d7b3454dbe96b6e7a31d7dbacc4ad24e3 /lib/zebra.h | |
parent | 35a60c2d3c217e3b835821a7f6ea458e2eff44cf (diff) |
2005-11-03 Paul Jakma <paul.jakma@sun.com>
* zebra.h: BSD BYTE_ORDER define isn't available everywhere,
define if needs be.
* checksum.h: new file. checksum.c exports in_cksum, provide
a header for it.
* checksum.c: (in_cksum) callers shouldn't have to know it uses
a u_short internally, change to void *.
* Makefile.am: Add checksum.h
* command.h: remove bogus trailling slash.
* md5.c: (general) Update it for the twentieth century. ANSI
declarations are widely supported now.. Don't include system
headers, only include zebra.h. Use POSIX types (the
alternative is to define u_int64_t in a portable way - rest
of Quagga needs same cleanup).
Make endian-conditional code be compiler conditional rather
than preprocessor conditional, so that breakage gets noticed
quicker.
* md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable
compiler compatibility hack.
Diffstat (limited to 'lib/zebra.h')
-rw-r--r-- | lib/zebra.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/zebra.h b/lib/zebra.h index 88f16252..1739d771 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -336,6 +336,23 @@ struct in_pktinfo #define HAVE_IP_HDRINCL_BSD_ORDER #endif +/* Define BYTE_ORDER, if not defined. Useful for compiler conditional + * code, rather than preprocessor conditional. + * Not all the world has this BSD define. + */ +#ifndef BYTE_ORDER +#define BIG_ENDIAN 4321 /* least-significant byte first (vax, pc) */ +#define LITTLE_ENDIAN 1234 /* most-significant byte first (IBM, net) */ +#define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long (pdp) */ + +#if defined(WORDS_BIGENDIAN) +#define BYTE_ORDER BIG_ENDIAN +#else /* !WORDS_BIGENDIAN */ +#define BYTE_ORDER LITTLE_ENDIAN +#endif /* WORDS_BIGENDIAN */ + +#endif /* ndef BYTE_ORDER */ + /* MAX / MIN are not commonly defined, but useful */ #ifndef MAX #define MAX(a, b) ((a) > (b) ? (a) : (b)) |