jest.dontMock("jquery"); jest.dontMock("../utils"); describe("utils", function () { var utils = require("../utils"); it("formatSize", function(){ expect(utils.formatSize(1024)).toEqual("1kb"); expect(utils.formatSize(0)).toEqual("0"); expect(utils.formatSize(10)).toEqual("10b"); expect(utils.formatSize(1025)).toEqual("1.0kb"); expect(utils.formatSize(1024*1024)).toEqual("1mb"); expect(utils.formatSize(1024*1024+1)).toEqual("1.0mb"); }); }); cgit logo index : xen/xen
xenJames
aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/shared.h
blob: 9738a49621bee46af536f313b28fa58b1a10dfc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef __XEN_SHARED_H__
#define __XEN_SHARED_H__

#include <xen/config.h>

#ifdef CONFIG_COMPAT

#include <compat/xen.h>

typedef union {
    struct shared_info native;
    struct compat_shared_info compat;
} shared_info_t;

/*
 * Compat field is never larger than native field, so cast to that as it
 * is the largest memory range it is safe for the caller to modify without
 * further discrimination between compat and native cases.
 */
#define __shared_info(d, s, field)                      \
    (*(!has_32bit_shinfo(d) ?                           \
       (typeof(&(s)->compat.field))&(s)->native.field : \
       (typeof(&(s)->compat.field))&(s)->compat.field))
#define shared_info(d, field)                   \
    __shared_info(d, (d)->shared_info, field)

typedef union {
    struct vcpu_info native;
    struct compat_vcpu_info compat;
} vcpu_info_t;

/* As above, cast to compat field type. */
#define vcpu_info(v, field)                                                   \
    (*(!has_32bit_shinfo((v)->domain) ?                                       \
       (typeof(&(v)->vcpu_info->compat.field))&(v)->vcpu_info->native.field : \
       (typeof(&(v)->vcpu_info->compat.field))&(v)->vcpu_info->compat.field))

#else

typedef struct shared_info shared_info_t;
#define shared_info(d, field)           ((d)->shared_info->field)

typedef struct vcpu_info vcpu_info_t;
#define vcpu_info(v, field)             ((v)->vcpu_info->field)

#endif

#endif /* __XEN_SHARED_H__ */