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

#ifndef __java_security_spec_PSSParameterSpec__
#define __java_security_spec_PSSParameterSpec__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
      namespace spec
      {
          class PSSParameterSpec;
      }
    }
  }
}

class java::security::spec::PSSParameterSpec : public ::java::lang::Object
{

public:
  PSSParameterSpec(jint);
  virtual jint getSaltLength();
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) saltLen;
public:
  static ::java::lang::Class class$;
};

#endif // __java_security_spec_PSSParameterSpec__
