// WARNING: This file is machine generated by bindc.
library fuchsia.tools.bindc.test;

enum Echo {
  Banjo,
  ZirconTransport,
  DriverTransport,
};

enum EchoLauncher {
  Banjo,
  ZirconTransport,
  DriverTransport,
};

enum EchoService {
  Banjo,
  ZirconTransport,
  DriverTransport,
};

enum EchoTwo {
  Banjo,
  ZirconTransport,
  DriverTransport,
};
