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

#ifndef __gnu_java_security_jce_prng_VMSecureRandom__
#define __gnu_java_security_jce_prng_VMSecureRandom__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace security
      {
        namespace jce
        {
          namespace prng
          {
              class VMSecureRandom;
          }
        }
      }
    }
  }
}

class gnu::java::security::jce::prng::VMSecureRandom : public ::java::lang::Object
{

public: // actually package-private
  VMSecureRandom();
  static jint generateSeed(JArray< jbyte > *, jint, jint);
  static jint natGenerateSeed(JArray< jbyte > *, jint, jint);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_security_jce_prng_VMSecureRandom__
