
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__
#define __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__

#pragma interface

#include <gnu/javax/crypto/jce/mac/OMacImpl.h>
extern "Java"
{
  namespace gnu
  {
    namespace javax
    {
      namespace crypto
      {
        namespace jce
        {
          namespace mac
          {
              class OMacImpl;
              class OMacImpl$Blowfish;
          }
        }
      }
    }
  }
}

class gnu::javax::crypto::jce::mac::OMacImpl$Blowfish : public ::gnu::javax::crypto::jce::mac::OMacImpl
{

public:
  OMacImpl$Blowfish(::gnu::javax::crypto::jce::mac::OMacImpl *);
public: // actually package-private
  ::gnu::javax::crypto::jce::mac::OMacImpl * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::mac::OMacImpl)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_javax_crypto_jce_mac_OMacImpl$Blowfish__
