LIBBINDER_NDK { # introduced=29
  global:
    AIBinder_associateClass;
    AIBinder_Class_define;
    AIBinder_Class_setOnDump;
    AIBinder_DeathRecipient_delete;
    AIBinder_DeathRecipient_new;
    AIBinder_debugGetRefCount;
    AIBinder_decStrong;
    AIBinder_dump;
    AIBinder_fromJavaBinder;
    AIBinder_getCallingPid;
    AIBinder_getCallingUid;
    AIBinder_getClass;
    AIBinder_getUserData;
    AIBinder_incStrong;
    AIBinder_isAlive;
    AIBinder_isRemote;
    AIBinder_linkToDeath;
    AIBinder_new;
    AIBinder_ping;
    AIBinder_prepareTransaction;
    AIBinder_toJavaBinder;
    AIBinder_transact;
    AIBinder_unlinkToDeath;
    AIBinder_Weak_delete;
    AIBinder_Weak_new;
    AIBinder_Weak_promote;
    AParcel_delete;
    AParcel_getDataPosition;
    AParcel_readBool;
    AParcel_readBoolArray;
    AParcel_readByte;
    AParcel_readByteArray;
    AParcel_readChar;
    AParcel_readCharArray;
    AParcel_readDouble;
    AParcel_readDoubleArray;
    AParcel_readFloat;
    AParcel_readFloatArray;
    AParcel_readInt32;
    AParcel_readInt32Array;
    AParcel_readInt64;
    AParcel_readInt64Array;
    AParcel_readParcelableArray;
    AParcel_readParcelFileDescriptor;
    AParcel_readStatusHeader;
    AParcel_readString;
    AParcel_readStringArray;
    AParcel_readStrongBinder;
    AParcel_readUint32;
    AParcel_readUint32Array;
    AParcel_readUint64;
    AParcel_readUint64Array;
    AParcel_setDataPosition;
    AParcel_writeBool;
    AParcel_writeBoolArray;
    AParcel_writeByte;
    AParcel_writeByteArray;
    AParcel_writeChar;
    AParcel_writeCharArray;
    AParcel_writeDouble;
    AParcel_writeDoubleArray;
    AParcel_writeFloat;
    AParcel_writeFloatArray;
    AParcel_writeInt32;
    AParcel_writeInt32Array;
    AParcel_writeInt64;
    AParcel_writeInt64Array;
    AParcel_writeParcelableArray;
    AParcel_writeParcelFileDescriptor;
    AParcel_writeStatusHeader;
    AParcel_writeString;
    AParcel_writeStringArray;
    AParcel_writeStrongBinder;
    AParcel_writeUint32;
    AParcel_writeUint32Array;
    AParcel_writeUint64;
    AParcel_writeUint64Array;
    AStatus_delete;
    AStatus_fromExceptionCode;
    AStatus_fromExceptionCodeWithMessage;
    AStatus_fromServiceSpecificError;
    AStatus_fromServiceSpecificErrorWithMessage;
    AStatus_fromStatus;
    AStatus_getExceptionCode;
    AStatus_getMessage;
    AStatus_getServiceSpecificError;
    AStatus_getStatus;
    AStatus_isOk;
    AStatus_newOk;
    ABinderProcess_joinThreadPool; # apex llndk
    ABinderProcess_setThreadPoolMaxThreadCount; # apex llndk
    ABinderProcess_startThreadPool; # apex llndk
    AServiceManager_addService; # apex llndk
    AServiceManager_checkService; # apex llndk
    AServiceManager_getService; # apex llndk
  local:
    *;
};

LIBBINDER_NDK30 { # introduced=30
  global:
    AIBinder_getExtension;
    AIBinder_setExtension;
    AStatus_getDescription;
    AStatus_deleteDescription;
    AParcel_fromJavaParcel;

    AIBinder_markSystemStability; # apex
    AIBinder_markVendorStability; # llndk
    AIBinder_markVintfStability; # apex llndk
    AIBinder_Class_setHandleShellCommand; # apex llndk
  local:
    *;
};

LIBBINDER_NDK_PLATFORM {
  global:
    AParcel_getAllowFds;
};
