Changeset 12603
- Timestamp:
- Jul 30, 2011, 10:15:32 PM (12 years ago)
- Location:
- trunk/third-party/libutp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/third-party/libutp/templates.h
r12466 r12603 36 36 } 37 37 38 #ifdef __GNUC__ 39 #define PACKED_ATTRIBUTE __attribute__((__packed__)) 40 #else 41 #define PACKED_ATTRIBUTE 42 #pragma pack(push,1) 43 #endif 38 #pragma pack(push,1) 44 39 45 40 namespace aux … … 54 49 55 50 template <class T> 56 struct PACKED_ATTRIBUTEbig_endian51 struct big_endian 57 52 { 58 53 T operator=(T i) { m_integer = aux::host_to_network(i); return i; } … … 66 61 typedef big_endian<uint16> uint16_big; 67 62 68 #ifndef __GNUC__ 69 #pragma pack(pop) 70 #endif 63 #pragma pack(pop) 71 64 72 65 template<typename T> static inline void zeromem(T *a, size_t count = 1) { memset(a, 0, count * sizeof(T)); } -
trunk/third-party/libutp/utp.cpp
r12583 r12603 93 93 #define addrfmt(x, s) x.fmt(s, sizeof(s)) 94 94 95 #ifdef __GNUC__ 96 #define PACKED_ATTRIBUTE __attribute__((__packed__)) 97 #else 98 #define PACKED_ATTRIBUTE 99 #pragma pack(push,1) 100 #endif 101 102 struct PACKED_ATTRIBUTE PackedSockAddr { 95 #pragma pack(push,1) 96 97 struct PackedSockAddr { 103 98 104 99 // The values are always stored here in network byte order … … 198 193 }; 199 194 200 struct PACKED_ATTRIBUTERST_Info {195 struct RST_Info { 201 196 PackedSockAddr addr; 202 197 uint32 connid; … … 217 212 #define PACKET_SIZE_HUGE_BUCKET 4 218 213 219 struct P ACKED_ATTRIBUTE PacketFormat {214 struct PacketFormat { 220 215 // connection ID 221 216 uint32_big connid; … … 235 230 }; 236 231 237 struct P ACKED_ATTRIBUTE PacketFormatAck {232 struct PacketFormatAck { 238 233 PacketFormat pf; 239 234 byte ext_next; … … 242 237 }; 243 238 244 struct P ACKED_ATTRIBUTE PacketFormatExtensions {239 struct PacketFormatExtensions { 245 240 PacketFormat pf; 246 241 byte ext_next; … … 249 244 }; 250 245 251 struct P ACKED_ATTRIBUTE PacketFormatV1 {246 struct PacketFormatV1 { 252 247 // packet_type (4 high bits) 253 248 // protocol version (4 low bits) … … 272 267 }; 273 268 274 struct P ACKED_ATTRIBUTE PacketFormatAckV1 {269 struct PacketFormatAckV1 { 275 270 PacketFormatV1 pf; 276 271 byte ext_next; … … 279 274 }; 280 275 281 struct P ACKED_ATTRIBUTE PacketFormatExtensionsV1 {276 struct PacketFormatExtensionsV1 { 282 277 PacketFormatV1 pf; 283 278 byte ext_next; … … 286 281 }; 287 282 288 #ifndef __GNUC__ 289 #pragma pack(pop) 290 #endif 283 #pragma pack(pop) 291 284 292 285 enum {
Note: See TracChangeset
for help on using the changeset viewer.