text: // Copyright 2020 The Chromium OS Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style license that can be
  // found in the LICENSE file.
  
  // An implementation of the subset of hardware buffers functionality required by
  // NNAPI. The upstream implementation of hardware buffers can be found in the
  // AOSP source file frameworks/native/libs/nativewindow/AHardwareBuffer.cpp. See
  // https://android.googlesource.com/platform/frameworks/native/+/refs/heads/master/libs/nativewindow/AHardwareBuffer.cpp
  
  // Unused functions are left without any implementations. Should a future
  // version of NNAPI need a new function, we will be notified through a link
  // error.
  
  // android/log.h contains __INTRODUCED_IN() macro and must be included before
  // hardware_buffer.h
  #include <android/log.h>
  #include <vndk/hardware_buffer.h>
  
  int AHardwareBuffer_allocate(const AHardwareBuffer_Desc* /*desc*/,
                               AHardwareBuffer** /*outBuffer*/) {
    return 0;
  }
  
  int AHardwareBuffer_createFromHandle(const AHardwareBuffer_Desc* /*desc*/,
                                       const native_handle_t* /*handle*/,
                                       int32_t /*method*/,
                                       AHardwareBuffer** /*outBuffer*/) {
    return 0;
  }
  
  void AHardwareBuffer_describe(const AHardwareBuffer* /*buffer*/,
                                AHardwareBuffer_Desc* /*outDesc*/) {}
  
  const native_handle_t* AHardwareBuffer_getNativeHandle(
      const AHardwareBuffer* /*buffer*/) {
    return nullptr;
  }
  
  int AHardwareBuffer_lock(AHardwareBuffer* /*buffer*/,
                           uint64_t /*usage*/,
                           int32_t /*fence*/,
                           const ARect* /*rect*/,
                           void** /*outVirtualAddress*/) {
    return 0;
  }
  
  void AHardwareBuffer_release(AHardwareBuffer* /*buffer*/) {}
  
  int AHardwareBuffer_unlock(AHardwareBuffer* /*buffer*/, int32_t* /*fence*/) {
    return 0;
  }
  