LIBNATIVEWINDOW {
  global:
    AHardwareBuffer_acquire;
    AHardwareBuffer_allocate;
    AHardwareBuffer_createFromHandle; # llndk # systemapi
    AHardwareBuffer_describe;
    AHardwareBuffer_getId; # introduced=31
    AHardwareBuffer_getNativeHandle; # llndk # systemapi
    AHardwareBuffer_isSupported; # introduced=29
    AHardwareBuffer_lock;
    AHardwareBuffer_lockAndGetInfo; # introduced=29
    AHardwareBuffer_lockPlanes; # introduced=29
    AHardwareBuffer_recvHandleFromUnixSocket;
    AHardwareBuffer_release;
    AHardwareBuffer_sendHandleToUnixSocket;
    AHardwareBuffer_unlock;
    AHardwareBuffer_readFromParcel; # introduced=34
    AHardwareBuffer_writeToParcel; # introduced=34
    ANativeWindowBuffer_getHardwareBuffer; # llndk
    ANativeWindow_OemStorageGet; # llndk
    ANativeWindow_OemStorageSet; # llndk
    ANativeWindow_acquire;
    ANativeWindow_cancelBuffer; # llndk
    ANativeWindow_dequeueBuffer; # llndk
    ANativeWindow_getBuffersDataSpace; # introduced=28
    ANativeWindow_getBuffersDefaultDataSpace; # introduced=34
    ANativeWindow_getFormat;
    ANativeWindow_getHeight;
    ANativeWindow_getLastDequeueDuration; # systemapi # introduced=30
    ANativeWindow_getLastDequeueStartTime; # systemapi # introduced=30
    ANativeWindow_getLastQueueDuration; # systemapi # introduced=30
    ANativeWindow_getWidth;
    ANativeWindow_lock;
    ANativeWindow_query; # llndk
    ANativeWindow_queryf; # llndk
    ANativeWindow_queueBuffer; # llndk
    ANativeWindow_setCancelBufferInterceptor; # systemapi # introduced=30
    ANativeWindow_setDequeueBufferInterceptor; # systemapi # introduced=30
    ANativeWindow_setPerformInterceptor; # systemapi # introduced=30
    ANativeWindow_setQueueBufferInterceptor; # systemapi # introduced=30
    ANativeWindow_release;
    ANativeWindow_setAutoPrerotation; # llndk
    ANativeWindow_setAutoRefresh; # llndk
    ANativeWindow_setBufferCount; # llndk
    ANativeWindow_setBuffersDataSpace; # introduced=28
    ANativeWindow_setBuffersDimensions; # llndk
    ANativeWindow_setBuffersFormat; # llndk
    ANativeWindow_setBuffersGeometry;
    ANativeWindow_setBuffersTimestamp; # llndk
    ANativeWindow_setBuffersTransform;
    ANativeWindow_setDequeueTimeout; # systemapi # introduced=30
    ANativeWindow_setFrameRate; # introduced=30
    ANativeWindow_setFrameRateWithChangeStrategy; # introduced=31
    ANativeWindow_setSharedBufferMode; # llndk
    ANativeWindow_setSwapInterval; # llndk
    ANativeWindow_setUsage; # llndk
    ANativeWindow_tryAllocateBuffers; # introduced=30
    ANativeWindow_unlockAndPost;
    ANativeWindow_readFromParcel; # introduced=UpsideDownCake
    ANativeWindow_writeToParcel; # introduced=UpsideDownCake
  local:
    *;
};

LIBNATIVEWINDOW_PLATFORM {
  global:
    extern "C++" {
      android::AHardwareBuffer_convertFromPixelFormat*;
      android::AHardwareBuffer_convertToPixelFormat*;
      android::AHardwareBuffer_convertFromGrallocUsageBits*;
      android::AHardwareBuffer_convertToGrallocUsageBits*;
      android::AHardwareBuffer_getDataSpace*;
      android::AHardwareBuffer_to_GraphicBuffer*;
      android::AHardwareBuffer_to_ANativeWindowBuffer*;
      android::AHardwareBuffer_from_GraphicBuffer*;
    };
} LIBNATIVEWINDOW;
