diff options
author | Ondrej Filip <feela@majklik.network.cz> | 2010-04-27 11:28:44 +0200 |
---|---|---|
committer | Ondrej Filip <feela@majklik.network.cz> | 2010-04-27 11:28:44 +0200 |
commit | 96599c957baa9c82bde91d610ce4f519aead05e9 (patch) | |
tree | 28fc5b3e90afb11e288a6c428d1203dd7992bd35 /proto/ospf/lsalib.h | |
parent | ba130172549ef2313f713e048083432f74e7d03d (diff) | |
parent | 9d1ee1388771a3caa6c23163571a80457adfab2c (diff) |
Merge branch 'master' of ssh://git.nic.cz/projects/bird/GIT/bird
Diffstat (limited to 'proto/ospf/lsalib.h')
-rw-r--r-- | proto/ospf/lsalib.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/proto/ospf/lsalib.h b/proto/ospf/lsalib.h index a799de31..f98a1bd3 100644 --- a/proto/ospf/lsalib.h +++ b/proto/ospf/lsalib.h @@ -10,10 +10,22 @@ #ifndef _BIRD_OSPF_LSALIB_H_ #define _BIRD_OSPF_LSALIB_H_ +#ifdef CPU_BIG_ENDIAN +static inline void htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n) { *n = *h; }; +static inline void ntohlsah(struct ospf_lsa_header *n, struct ospf_lsa_header *h) { *h = *n; }; +static inline void htonlsab(void *h, void *n, u16 len) { memcpy(n, h, len); }; +static inline void ntohlsab(void *n, void *h, u16 len) { memcpy(h, n, len); }; +static inline void htonlsab1(void *h, u16 len) { }; +static inline void ntohlsab1(void *n, u16 len) { }; +#else void htonlsah(struct ospf_lsa_header *h, struct ospf_lsa_header *n); void ntohlsah(struct ospf_lsa_header *n, struct ospf_lsa_header *h); void htonlsab(void *h, void *n, u16 len); void ntohlsab(void *n, void *h, u16 len); +static inline void htonlsab1(void *h, u16 len) { htonlsab(h, h, len); }; +static inline void ntohlsab1(void *n, u16 len) { ntohlsab(n, n, len); }; +#endif + void lsasum_calculate(struct ospf_lsa_header *header, void *body); u16 lsasum_check(struct ospf_lsa_header *h, void *body); #define CMP_NEWER 1 |