OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef PLATFORM_UTILS_H_ | 5 #ifndef PLATFORM_UTILS_H_ |
6 #define PLATFORM_UTILS_H_ | 6 #define PLATFORM_UTILS_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 | 10 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 // offset + count <= length | 163 // offset + count <= length |
164 // without the risk of integer overflow. | 164 // without the risk of integer overflow. |
165 static inline bool RangeCheck(intptr_t offset, | 165 static inline bool RangeCheck(intptr_t offset, |
166 intptr_t count, | 166 intptr_t count, |
167 intptr_t length) { | 167 intptr_t length) { |
168 return offset >= 0 && | 168 return offset >= 0 && |
169 count >= 0 && | 169 count >= 0 && |
170 length >= 0 && | 170 length >= 0 && |
171 count <= (length - offset); | 171 count <= (length - offset); |
172 } | 172 } |
| 173 |
| 174 // Utility functions for converting values from host endianess to |
| 175 // big or little endian values. |
| 176 static uint16_t HostToBigEndian16(uint16_t host_value); |
| 177 static uint32_t HostToBigEndian32(uint32_t host_value); |
| 178 static uint64_t HostToBigEndian64(uint64_t host_value); |
| 179 static uint16_t HostToLittleEndian16(uint16_t host_value); |
| 180 static uint32_t HostToLittleEndian32(uint32_t host_value); |
| 181 static uint64_t HostToLittleEndian64(uint64_t host_value); |
173 }; | 182 }; |
174 | 183 |
175 } // namespace dart | 184 } // namespace dart |
176 | 185 |
177 #if defined(TARGET_OS_ANDROID) | 186 #if defined(TARGET_OS_ANDROID) |
178 #include "platform/utils_android.h" | 187 #include "platform/utils_android.h" |
179 #elif defined(TARGET_OS_LINUX) | 188 #elif defined(TARGET_OS_LINUX) |
180 #include "platform/utils_linux.h" | 189 #include "platform/utils_linux.h" |
181 #elif defined(TARGET_OS_MACOS) | 190 #elif defined(TARGET_OS_MACOS) |
182 #include "platform/utils_macos.h" | 191 #include "platform/utils_macos.h" |
183 #elif defined(TARGET_OS_WINDOWS) | 192 #elif defined(TARGET_OS_WINDOWS) |
184 #include "platform/utils_win.h" | 193 #include "platform/utils_win.h" |
185 #else | 194 #else |
186 #error Unknown target os. | 195 #error Unknown target os. |
187 #endif | 196 #endif |
188 | 197 |
189 #endif // PLATFORM_UTILS_H_ | 198 #endif // PLATFORM_UTILS_H_ |
OLD | NEW |