diff options
author | Ken Raeburn <raeburn@mit.edu> | 2009-12-02 23:09:29 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2009-12-02 23:09:29 +0000 |
commit | f42f2e90162893dd4eb9c9d6ccd25e7bd758aabe (patch) | |
tree | f3bacb52b7ac1a959a228be17d7ea2cc715a6403 /src | |
parent | 3b521cff4279f759143c6de3de36324ff082ea37 (diff) | |
download | krb5-f42f2e90162893dd4eb9c9d6ccd25e7bd758aabe.zip krb5-f42f2e90162893dd4eb9c9d6ccd25e7bd758aabe.tar.gz krb5-f42f2e90162893dd4eb9c9d6ccd25e7bd758aabe.tar.bz2 |
Add store_{16,32,64}_n functions, for potentially-unaligned, native-order values
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23431 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r-- | src/include/k5-platform.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/include/k5-platform.h b/src/include/k5-platform.h index ee3730a..9b02462 100644 --- a/src/include/k5-platform.h +++ b/src/include/k5-platform.h @@ -713,6 +713,35 @@ load_64_le (const void *cvp) #endif } +static inline void +store_16_n (unsigned int val, void *vp) +{ +#ifdef _WIN32 + unsigned __int16 n; +#else + uint16_t n; +#endif + n = val; + memcpy(vp, &n, 2); +} +static inline void +store_32_n (unsigned int val, void *vp) +{ +#ifdef _WIN32 + unsigned __int32 n; +#else + uint32_t n; +#endif + n = val; + memcpy(vp, &n, 4); +} +static inline void +store_64_n (UINT64_TYPE val, void *vp) +{ + UINT64_TYPE n; + n = val; + memcpy(vp, &n, 8); +} static inline unsigned short load_16_n (const void *p) { |