|  | // Copyright 2021 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | library fuchsia.hardware.acpi; | 
|  |  | 
|  | type NotificationMode = flexible bits { | 
|  | /// Receive notifications with values 0x00-0x7f. | 
|  | SYSTEM = 0x01; | 
|  | /// Receive notifications with values 0x80-0xff. | 
|  | DEVICE = 0x02; | 
|  | }; | 
|  |  | 
|  | /// Notification handler protocol. | 
|  | /// Closing the channel will disable the notification handler. | 
|  | protocol NotifyHandler { | 
|  | /// Called when a notification is received. |value| is the notification number. | 
|  | /// Another notification will not be sent until Reply() is called. | 
|  | Handle(struct { | 
|  | value uint32; | 
|  | }) -> (); | 
|  | }; |