1 // Copyright 2016 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #pragma once
6 
7 #include <zircon/types.h>
8 
9 __BEGIN_CDECLS
10 
11 // ask clang format not to mess up the indentation:
12 // clang-format off
13 
14 #define ZX_PROFILE_INFO_SCHEDULER   1
15 
16 typedef struct zx_profile_scheduler {
17     int32_t priority;
18     uint32_t boost;
19     uint32_t deboost;
20     uint32_t quantum;
21 } zx_profile_scheduler_t;
22 
23 #define ZX_PRIORITY_LOWEST              0
24 #define ZX_PRIORITY_LOW                 8
25 #define ZX_PRIORITY_DEFAULT             16
26 #define ZX_PRIORITY_HIGH                24
27 #define ZX_PRIORITY_HIGHEST             31
28 
29 typedef struct zx_profile_info {
30     uint32_t type;                  // one of ZX_PROFILE_INFO_
31     union {
32         zx_profile_scheduler_t scheduler;
33     };
34 } zx_profile_info_t;
35 
36 
37 __END_CDECLS
38