Changeset 2375
- Timestamp:
- 2001-05-07T16:48:10+12:00 (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl/src/mgpp/lib/netorder.h
r855 r2375 11 11 #endif 12 12 13 #if defined ( BIG_ENDIAN) || defined (_BIG_ENDIAN) || defined (__BIG_ENDIAN)13 #if defined (_BIG_ENDIAN) || (defined (BYTE_ORDER) && BYTE_ORDER == BIG_ENDIAN) || (defined (__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN) 14 14 # ifndef _BIG_ENDIAN 15 15 # define _BIG_ENDIAN … … 17 17 #endif 18 18 19 #if defined ( LITTLE_ENDIAN) || defined (_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN)19 #if defined (_LITTLE_ENDIAN) || (defined (BYTE_ORDER) && BYTE_ORDER == LITTLE_ENDIAN) || (defined (__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) 20 20 # ifndef _LITTLE_ENDIAN 21 21 # define _LITTLE_ENDIAN … … 26 26 27 27 /* double */ 28 #define HTOND(d) 29 do { 30 unsigned long tmph, tmpl; 31 bcopy ((void *) &d, (void *) &tmph, sizeof(double) >> 1);\32 bcopy ((void *) ((unsigned int) &d + (sizeof(double) >> 1)), (void *) &tmpl, sizeof (double) >> 1); \33 tmph = htonl (tmph); 34 tmpl = htonl (tmpl); 35 bcopy ((void *) &tmpl, (void *) &d, sizeof (double) >> 1); \36 bcopy ((void *) &tmph, (void *) ((unsigned int) &d + (sizeof(double) >> 1)), sizeof (double) >> 1); \28 #define HTOND(d) \ 29 do { \ 30 unsigned long tmph, tmpl; \ 31 memcpy ((void *) &tmph, (const void *) &d, sizeof(double) >> 1); \ 32 memcpy ((void *) &tmpl, (const void *) ((unsigned int) &d + (sizeof(double) >> 1)), sizeof (double) >> 1); \ 33 tmph = htonl (tmph); \ 34 tmpl = htonl (tmpl); \ 35 memcpy ( (void *) &d, (const void *) &tmpl, sizeof (double) >> 1); \ 36 memcpy ((void *) ((unsigned int) &d + (sizeof(double) >> 1)), (const void *) &tmph, sizeof (double) >> 1); \ 37 37 }while(0) 38 #define NTOHD(d) 39 do { 40 unsigned long tmph, tmpl; 41 bcopy ((void *) &d, (void *) &tmph, sizeof(double) >> 1);\42 bcopy ((void *) ((int) &d + (sizeof(double) >> 1)), (void *) &tmpl, sizeof (double) >> 1); \43 tmph = ntohl (tmph); 44 tmpl = ntohl (tmpl); 45 bcopy ((void *) &tmpl, (void *) &d, sizeof (double) >> 1);\46 bcopy ((void *) &tmph, (void *) ((int) &d + (sizeof(double) >> 1)), sizeof (double) >> 1); \38 #define NTOHD(d) \ 39 do { \ 40 unsigned long tmph, tmpl; \ 41 memcpy ((void *) &tmph, (const void *) &d, sizeof(double) >> 1); \ 42 memcpy ((void *) &tmpl, (const void *) ((int) &d + (sizeof(double) >> 1)), sizeof (double) >> 1); \ 43 tmph = ntohl (tmph); \ 44 tmpl = ntohl (tmpl); \ 45 memcpy((void *) &d, (const void *) &tmpl, sizeof (double) >> 1); \ 46 memcpy ((void *) ((int) &d + (sizeof(double) >> 1)), (const void *) &tmph, sizeof (double) >> 1); \ 47 47 }while(0) 48 #define HTOND2(hd, nd) 49 do { 50 unsigned long tmph, tmpl; 51 bcopy ((void *) &hd, (void *) &tmph, sizeof(double) >> 1);\52 bcopy ((void *) ((unsigned int) &hd + (sizeof(double) >> 1)), (void *) &tmpl, sizeof (double) >> 1); \53 tmph = htonl (tmph); 54 tmpl = htonl (tmpl); 55 bcopy ((void *) &tmpl, (void *) &nd, sizeof (double) >> 1);\56 bcopy ((void *) &tmph, (void *) ((unsigned int) &nd + (sizeof(double) >> 1)), sizeof (double) >> 1); \48 #define HTOND2(hd, nd) \ 49 do { \ 50 unsigned long tmph, tmpl; \ 51 memcpy ((void *) &tmph, (const void *) &hd, sizeof(double) >> 1);\ 52 memcpy ((void *) &tmpl, (const void *) ((unsigned int) &hd + (sizeof(double) >> 1)), sizeof (double) >> 1); \ 53 tmph = htonl (tmph); \ 54 tmpl = htonl (tmpl); \ 55 memcpy((void *) &nd, (const void *) &tmpl, sizeof (double) >> 1);\ 56 memcpy ((void *) ((unsigned int) &nd + (sizeof(double) >> 1)), (void *) &tmph, sizeof (double) >> 1); \ 57 57 }while(0) 58 #define NTOHD2(nd, hd) 59 do { 60 unsigned long tmph, tmpl; 61 bcopy ((void *) &nd, (void *) &tmph, sizeof(double) >> 1);\62 bcopy ((void *) &nd + (sizeof(double) >> 1), (void *) &tmpl, sizeof (double) >> 1); \63 tmph = ntohl (tmph); 64 tmpl = ntohl (tmpl); 65 bcopy ((void *) &tmpl, (void *) &hd, sizeof (double) >> 1);\66 bcopy ((void *) &tmph, (void *) &hd + (sizeof(double) >> 1), sizeof (double) >> 1); \58 #define NTOHD2(nd, hd) \ 59 do { \ 60 unsigned long tmph, tmpl; \ 61 memcpy ((void *) &nd, (void *) &tmph, sizeof(double) >> 1); \ 62 memcpy ((void *) &tmpl, (const void *) &nd + (sizeof(double) >> 1), sizeof (double) >> 1); \ 63 tmph = ntohl (tmph); \ 64 tmpl = ntohl (tmpl); \ 65 memcpy((void *) &hd, (const void *) &tmpl, sizeof (double) >> 1);\ 66 memcpy ((void *) &hd + (sizeof(double) >> 1), (const void *) &tmph, sizeof (double) >> 1); \ 67 67 }while(0) 68 68 69 69 /* float */ 70 #define HTONF(f) 71 do { 72 unsigned long tmp; 73 bcopy ((void *) &(f), (void *) &tmp, sizeof (float));\74 HTONUL (tmp); 75 bcopy ((void *) &tmp, (void *) &(f), sizeof (float));\70 #define HTONF(f) \ 71 do { \ 72 unsigned long tmp; \ 73 memcpy ((void *) &tmp, (const void *) &(f), sizeof (float)); \ 74 HTONUL (tmp); \ 75 memcpy ((void *) &(f), (const void *) &tmp, sizeof (float)); \ 76 76 }while(0) 77 #define NTOHF(f) 78 do { 79 unsigned long tmp; 80 bcopy ((void *) &(f), (void *) &tmp, sizeof (float));\81 NTOHUL (tmp); 82 bcopy ((void *) &tmp, (void *) &(f), sizeof (float));\77 #define NTOHF(f) \ 78 do { \ 79 unsigned long tmp; \ 80 memcpy ((void *) &tmp, (const void *) &(f), sizeof (float)); \ 81 NTOHUL (tmp); \ 82 memcpy ((void *) &(f), (const void *) &tmp, sizeof (float)); \ 83 83 }while(0) 84 #define HTONF2(hf, nf) 85 do { 86 unsigned long tmp; 87 bcopy ((void *) &(hf), (void *) &tmp, sizeof (float));\88 HTONUL (tmp); 89 bcopy ((void *) &tmp, (void *) &(nf), sizeof (float));\84 #define HTONF2(hf, nf) \ 85 do { \ 86 unsigned long tmp; \ 87 memcpy ((void *) &tmp, (const void *) &(hf), sizeof (float)); \ 88 HTONUL (tmp); \ 89 memcpy ((void *) &(nf), (const void *) &tmp, sizeof (float)); \ 90 90 }while(0) 91 #define NTOHF2(nf, hf) 92 do { 93 unsigned long tmp; 94 bcopy ((void *) &(nf), (void *) &tmp, sizeof (float));\95 NTOHUL (tmp); 96 bcopy ((void *) &tmp, (void *) &(hf), sizeof (float));\91 #define NTOHF2(nf, hf) \ 92 do { \ 93 unsigned long tmp; \ 94 memcpy ((void *) &tmp, (const void *) &(nf), sizeof (float)); \ 95 NTOHUL (tmp); \ 96 memcpy ((void *) &(hf), (const void *) &tmp, sizeof (float)); \ 97 97 }while(0) 98 98
Note:
See TracChangeset
for help on using the changeset viewer.