Annotation of qemu/range.h, revision 1.1

1.1     ! root        1: #ifndef QEMU_RANGE_H
        !             2: #define QEMU_RANGE_H
        !             3: 
        !             4: /* Get last byte of a range from offset + length.
        !             5:  * Undefined for ranges that wrap around 0. */
        !             6: static inline uint64_t range_get_last(uint64_t offset, uint64_t len)
        !             7: {
        !             8:     return offset + len - 1;
        !             9: }
        !            10: 
        !            11: /* Check whether a given range covers a given byte. */
        !            12: static inline int range_covers_byte(uint64_t offset, uint64_t len,
        !            13:                                     uint64_t byte)
        !            14: {
        !            15:     return offset <= byte && byte <= range_get_last(offset, len);
        !            16: }
        !            17: 
        !            18: /* Check whether 2 given ranges overlap.
        !            19:  * Undefined if ranges that wrap around 0. */
        !            20: static inline int ranges_overlap(uint64_t first1, uint64_t len1,
        !            21:                                  uint64_t first2, uint64_t len2)
        !            22: {
        !            23:     uint64_t last1 = range_get_last(first1, len1);
        !            24:     uint64_t last2 = range_get_last(first2, len2);
        !            25: 
        !            26:     return !(last2 < first1 || last1 < first2);
        !            27: }
        !            28: 
        !            29: #endif

unix.superglobalmegacorp.com