From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001
From: upstream source tree <ports@midipix.org>
Date: Sun, 15 Mar 2015 20:14:05 -0400
Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified
 gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream
 tarball.

downloading a git-generated archive based on the 'upstream' tag
should provide you with a source tree that is binary identical
to the one extracted from the above tarball.

if you have obtained the source via the command 'git clone',
however, do note that line-endings of files in your working
directory might differ from line-endings of the respective
files in the upstream repository.
---
 libjava/gnu/javax/activation/viewers/ImageViewer.h |  58 ++++
 libjava/gnu/javax/activation/viewers/TextEditor.h  |  59 ++++
 libjava/gnu/javax/activation/viewers/TextViewer.h  |  51 ++++
 libjava/gnu/javax/crypto/RSACipherImpl.h           |  91 ++++++
 libjava/gnu/javax/crypto/assembly/Assembly.h       |  59 ++++
 libjava/gnu/javax/crypto/assembly/Cascade.h        |  60 ++++
 libjava/gnu/javax/crypto/assembly/CascadeStage.h   |  53 ++++
 .../gnu/javax/crypto/assembly/CascadeTransformer.h |  48 +++
 .../gnu/javax/crypto/assembly/DeflateTransformer.h |  50 +++
 libjava/gnu/javax/crypto/assembly/Direction.h      |  42 +++
 .../javax/crypto/assembly/LoopbackTransformer.h    |  49 +++
 libjava/gnu/javax/crypto/assembly/ModeStage.h      |  57 ++++
 libjava/gnu/javax/crypto/assembly/Operation.h      |  41 +++
 .../gnu/javax/crypto/assembly/PaddingTransformer.h |  50 +++
 libjava/gnu/javax/crypto/assembly/Stage.h          |  62 ++++
 libjava/gnu/javax/crypto/assembly/Transformer.h    |  85 ++++++
 .../javax/crypto/assembly/TransformerException.h   |  46 +++
 libjava/gnu/javax/crypto/cipher/Anubis.h           |  64 ++++
 libjava/gnu/javax/crypto/cipher/BaseCipher.h       |  69 +++++
 libjava/gnu/javax/crypto/cipher/Blowfish$Block.h   |  41 +++
 libjava/gnu/javax/crypto/cipher/Blowfish$Context.h |  50 +++
 libjava/gnu/javax/crypto/cipher/Blowfish.h         |  65 ++++
 libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h   |  72 +++++
 libjava/gnu/javax/crypto/cipher/Cast5.h            |  68 +++++
 libjava/gnu/javax/crypto/cipher/CipherFactory.h    |  38 +++
 libjava/gnu/javax/crypto/cipher/DES$Context.h      |  48 +++
 libjava/gnu/javax/crypto/cipher/DES.h              |  70 +++++
 libjava/gnu/javax/crypto/cipher/IBlockCipher.h     |  50 +++
 libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h  |  42 +++
 libjava/gnu/javax/crypto/cipher/Khazad.h           |  67 ++++
 libjava/gnu/javax/crypto/cipher/NullCipher.h       |  44 +++
 libjava/gnu/javax/crypto/cipher/Rijndael.h         |  76 +++++
 libjava/gnu/javax/crypto/cipher/Serpent$Key.h      | 175 +++++++++++
 libjava/gnu/javax/crypto/cipher/Serpent.h          |  84 +++++
 libjava/gnu/javax/crypto/cipher/Square.h           |  66 ++++
 .../gnu/javax/crypto/cipher/TripleDES$Context.h    |  43 +++
 libjava/gnu/javax/crypto/cipher/TripleDES.h        |  53 ++++
 libjava/gnu/javax/crypto/cipher/Twofish.h          | 101 ++++++
 libjava/gnu/javax/crypto/cipher/WeakKeyException.h |  36 +++
 libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h   |  74 +++++
 libjava/gnu/javax/crypto/jce/GnuCrypto$1.h         |  41 +++
 libjava/gnu/javax/crypto/jce/GnuCrypto.h           |  37 +++
 libjava/gnu/javax/crypto/jce/GnuSasl$1.h           |  41 +++
 libjava/gnu/javax/crypto/jce/GnuSasl.h             |  37 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h  |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h    |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h    |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h    |  35 +++
 .../jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h     |  35 +++
 .../jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h     |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h   |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h |  35 +++
 .../crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h  |  35 +++
 .../jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h     |  35 +++
 .../gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h  |  60 ++++
 .../gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h |  38 +++
 .../gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h |  38 +++
 .../gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h |  38 +++
 .../gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h    |  41 +++
 libjava/gnu/javax/crypto/jce/cipher/AESSpi.h       |  55 ++++
 libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h   |  80 +++++
 libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h    |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h  |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h     |  38 +++
 .../gnu/javax/crypto/jce/cipher/CipherAdapter.h    |  94 ++++++
 libjava/gnu/javax/crypto/jce/cipher/DESSpi.h       |  38 +++
 .../jce/cipher/KeyWrappingAlgorithmAdapter.h       |  89 ++++++
 libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h    |  38 +++
 .../gnu/javax/crypto/jce/cipher/NullCipherSpi.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Anubis.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Cast5.h      |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Khazad.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Serpent.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Square.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacHaval$Twofish.h    |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h  |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h  |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD2$Serpent.h      |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD2$Twofish.h      |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h    |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h  |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD4$Serpent.h      |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD4$Twofish.h      |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h    |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h  |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD5$Serpent.h      |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacMD5$Twofish.h      |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h    |  39 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD128$Blowfish.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD128$Serpent.h       |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD128$TripleDES.h     |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD128$Twofish.h       |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h  |  39 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD160$Blowfish.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD160$Serpent.h       |  38 +++
 .../crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD160$TripleDES.h     |  38 +++
 .../jce/cipher/PBES2$HMacRipeMD160$Twofish.h       |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h  |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h    |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Square.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h     |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h   |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Square.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h   |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Square.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h   |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h     |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Square.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h |  38 +++
 .../crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h   |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h |  39 +++
 .../javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Anubis.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h   |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Cast5.h      |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Khazad.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Serpent.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Square.h     |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacTiger$Twofish.h    |  38 +++
 .../gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h  |  39 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h |  38 +++
 .../jce/cipher/PBES2$HMacWhirlpool$Blowfish.h      |  38 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h  |  38 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h    |  38 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h |  38 +++
 .../jce/cipher/PBES2$HMacWhirlpool$Serpent.h       |  38 +++
 .../crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h |  38 +++
 .../jce/cipher/PBES2$HMacWhirlpool$TripleDES.h     |  38 +++
 .../jce/cipher/PBES2$HMacWhirlpool$Twofish.h       |  38 +++
 .../javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h  |  39 +++
 libjava/gnu/javax/crypto/jce/cipher/PBES2.h        |  74 +++++
 libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h  |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h   |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h    |  38 +++
 .../javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h  |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h |  38 +++
 libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h   |  38 +++
 .../javax/crypto/jce/key/AnubisKeyGeneratorImpl.h  |  38 +++
 .../crypto/jce/key/AnubisSecretKeyFactoryImpl.h    |  38 +++
 .../crypto/jce/key/BlowfishKeyGeneratorImpl.h      |  38 +++
 .../crypto/jce/key/BlowfishSecretKeyFactoryImpl.h  |  38 +++
 .../javax/crypto/jce/key/Cast5KeyGeneratorImpl.h   |  38 +++
 .../crypto/jce/key/Cast5SecretKeyFactoryImpl.h     |  38 +++
 .../gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h |  48 +++
 .../javax/crypto/jce/key/DESSecretKeyFactoryImpl.h |  59 ++++
 .../crypto/jce/key/DESedeSecretKeyFactoryImpl.h    |  59 ++++
 .../javax/crypto/jce/key/KhazadKeyGeneratorImpl.h  |  38 +++
 .../crypto/jce/key/KhazadSecretKeyFactoryImpl.h    |  38 +++
 .../crypto/jce/key/RijndaelKeyGeneratorImpl.h      |  38 +++
 .../crypto/jce/key/RijndaelSecretKeyFactoryImpl.h  |  38 +++
 .../javax/crypto/jce/key/SecretKeyFactoryImpl.h    |  59 ++++
 .../javax/crypto/jce/key/SecretKeyGeneratorImpl.h  |  67 ++++
 .../javax/crypto/jce/key/SerpentKeyGeneratorImpl.h |  38 +++
 .../crypto/jce/key/SerpentSecretKeyFactoryImpl.h   |  38 +++
 .../javax/crypto/jce/key/SquareKeyGeneratorImpl.h  |  38 +++
 .../crypto/jce/key/SquareSecretKeyFactoryImpl.h    |  38 +++
 .../crypto/jce/key/TripleDESKeyGeneratorImpl.h     |  38 +++
 .../javax/crypto/jce/key/TwofishKeyGeneratorImpl.h |  38 +++
 .../crypto/jce/key/TwofishSecretKeyFactoryImpl.h   |  38 +++
 libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h  |  85 ++++++
 libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h    |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h      |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h      |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h      |  38 +++
 .../gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h    |  38 +++
 .../gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h    |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h    |  38 +++
 .../gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h    |  38 +++
 libjava/gnu/javax/crypto/jce/mac/MacAdapter.h      |  69 +++++
 libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h  |  38 +++
 .../gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h    |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h     |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h |  42 +++
 .../gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h   |  42 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h  |  42 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h    |  42 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h |  42 +++
 .../gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h   |  42 +++
 .../gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h    |  42 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h |  42 +++
 .../gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h  |  42 +++
 .../gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h    |  42 +++
 libjava/gnu/javax/crypto/jce/mac/OMacImpl.h        |  39 +++
 libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h  |  38 +++
 .../gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h    |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h  |  38 +++
 .../gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h   |  38 +++
 libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h |  38 +++
 libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h       |  52 ++++
 libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h      |  38 +++
 libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h       |  52 ++++
 .../crypto/jce/params/BlockCipherParameters.h      |  69 +++++
 .../javax/crypto/jce/params/DEREncodingException.h |  39 +++
 libjava/gnu/javax/crypto/jce/params/DERReader.h    |  64 ++++
 libjava/gnu/javax/crypto/jce/params/DERWriter.h    |  63 ++++
 .../gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h   |  57 ++++
 libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h      |  58 ++++
 libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h    |  52 ++++
 libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h   |  59 ++++
 libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h  |  57 ++++
 libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h    |  57 ++++
 .../javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h   |  51 ++++
 libjava/gnu/javax/crypto/jce/sig/DHParameters.h    |  68 +++++
 .../javax/crypto/jce/sig/DHParametersGenerator.h   |  69 +++++
 .../crypto/jce/spec/BlockCipherParameterSpec.h     |  50 +++
 .../gnu/javax/crypto/jce/spec/TMMHParameterSpec.h  |  59 ++++
 .../javax/crypto/jce/spec/UMac32ParameterSpec.h    |  44 +++
 .../gnu/javax/crypto/key/BaseKeyAgreementParty.h   |  90 ++++++
 libjava/gnu/javax/crypto/key/GnuPBEKey.h           |  57 ++++
 libjava/gnu/javax/crypto/key/GnuSecretKey.h        |  47 +++
 libjava/gnu/javax/crypto/key/IKeyAgreementParty.h  |  44 +++
 libjava/gnu/javax/crypto/key/IncomingMessage.h     |  77 +++++
 .../gnu/javax/crypto/key/KeyAgreementException.h   |  45 +++
 libjava/gnu/javax/crypto/key/KeyAgreementFactory.h |  39 +++
 libjava/gnu/javax/crypto/key/OutgoingMessage.h     |  61 ++++
 .../gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h  |  63 ++++
 .../gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h    |  53 ++++
 .../gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h   |  63 ++++
 .../crypto/key/dh/DiffieHellmanKeyAgreement.h      |  66 ++++
 .../javax/crypto/key/dh/DiffieHellmanReceiver.h    |  54 ++++
 .../gnu/javax/crypto/key/dh/DiffieHellmanSender.h  |  55 ++++
 .../gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h  |  56 ++++
 libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h  |  57 ++++
 libjava/gnu/javax/crypto/key/dh/ElGamalSender.h    |  57 ++++
 libjava/gnu/javax/crypto/key/dh/GnuDHKey.h         |  74 +++++
 .../javax/crypto/key/dh/GnuDHKeyPairGenerator.h    |  96 ++++++
 libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h  |  57 ++++
 libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h   |  57 ++++
 libjava/gnu/javax/crypto/key/dh/RFC2631.h          |  84 +++++
 libjava/gnu/javax/crypto/key/srp6/SRP6Host.h       |  63 ++++
 .../gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h   |  72 +++++
 libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h |  43 +++
 libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h |  43 +++
 libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h  |  62 ++++
 libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h  |  66 ++++
 libjava/gnu/javax/crypto/key/srp6/SRP6User.h       |  60 ++++
 libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h   |  60 ++++
 libjava/gnu/javax/crypto/key/srp6/SRPKey.h         |  59 ++++
 .../javax/crypto/key/srp6/SRPKeyPairGenerator.h    |  92 ++++++
 .../gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h |  53 ++++
 libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h  |  60 ++++
 libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h   |  57 ++++
 .../gnu/javax/crypto/keyring/AuthenticatedEntry.h  |  54 ++++
 libjava/gnu/javax/crypto/keyring/BaseKeyring.h     |  56 ++++
 libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h |  48 +++
 libjava/gnu/javax/crypto/keyring/CertPathEntry.h   |  60 ++++
 .../gnu/javax/crypto/keyring/CertificateEntry.h    |  58 ++++
 libjava/gnu/javax/crypto/keyring/CompressedEntry.h |  44 +++
 libjava/gnu/javax/crypto/keyring/EncryptedEntry.h  |  53 ++++
 libjava/gnu/javax/crypto/keyring/Entry.h           |  55 ++++
 libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h   |  60 ++++
 .../gnu/javax/crypto/keyring/GnuPrivateKeyring.h   |  73 +++++
 .../gnu/javax/crypto/keyring/GnuPublicKeyring.h    |  58 ++++
 libjava/gnu/javax/crypto/keyring/IKeyring.h        |  47 +++
 libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h |  67 ++++
 libjava/gnu/javax/crypto/keyring/IPublicKeyring.h  |  57 ++++
 .../crypto/keyring/MalformedKeyringException.h     |  36 +++
 .../javax/crypto/keyring/MaskableEnvelopeEntry.h   |  52 ++++
 .../gnu/javax/crypto/keyring/MeteredInputStream.h  |  52 ++++
 .../crypto/keyring/PasswordAuthenticatedEntry.h    |  57 ++++
 .../javax/crypto/keyring/PasswordEncryptedEntry.h  |  57 ++++
 .../javax/crypto/keyring/PasswordProtectedEntry.h  |  38 +++
 libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h  |  45 +++
 libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h |  56 ++++
 libjava/gnu/javax/crypto/keyring/Properties.h      |  49 +++
 libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h  |  55 ++++
 libjava/gnu/javax/crypto/kwa/AESKeyWrap.h          |  50 +++
 .../javax/crypto/kwa/BaseKeyWrappingAlgorithm.h    |  63 ++++
 .../gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h   |  45 +++
 .../gnu/javax/crypto/kwa/KeyUnwrappingException.h  |  36 +++
 .../javax/crypto/kwa/KeyWrappingAlgorithmFactory.h |  41 +++
 libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h    |  71 +++++
 libjava/gnu/javax/crypto/mac/BaseMac.h             |  63 ++++
 libjava/gnu/javax/crypto/mac/HMac.h                |  65 ++++
 libjava/gnu/javax/crypto/mac/HMacFactory.h         |  38 +++
 libjava/gnu/javax/crypto/mac/IMac.h                |  47 +++
 libjava/gnu/javax/crypto/mac/MacFactory.h          |  41 +++
 libjava/gnu/javax/crypto/mac/MacInputStream.h      |  47 +++
 libjava/gnu/javax/crypto/mac/MacOutputStream.h     |  47 +++
 libjava/gnu/javax/crypto/mac/OMAC.h                |  75 +++++
 libjava/gnu/javax/crypto/mac/TMMH16.h              |  79 +++++
 libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h    |  60 ++++
 libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h    |  65 ++++
 libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h    |  50 +++
 libjava/gnu/javax/crypto/mac/UHash32.h             |  73 +++++
 libjava/gnu/javax/crypto/mac/UMac32.h              |  74 +++++
 libjava/gnu/javax/crypto/mode/BaseMode.h           |  68 +++++
 libjava/gnu/javax/crypto/mode/CBC.h                |  53 ++++
 libjava/gnu/javax/crypto/mode/CFB.h                |  53 ++++
 libjava/gnu/javax/crypto/mode/CTR.h                |  56 ++++
 libjava/gnu/javax/crypto/mode/EAX.h                |  77 +++++
 libjava/gnu/javax/crypto/mode/ECB.h                |  49 +++
 libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h |  52 ++++
 libjava/gnu/javax/crypto/mode/ICM.h                |  64 ++++
 libjava/gnu/javax/crypto/mode/IMode.h              |  53 ++++
 libjava/gnu/javax/crypto/mode/ModeFactory.h        |  46 +++
 libjava/gnu/javax/crypto/mode/OFB.h                |  52 ++++
 libjava/gnu/javax/crypto/pad/BasePad.h             |  55 ++++
 libjava/gnu/javax/crypto/pad/IPad.h                |  44 +++
 libjava/gnu/javax/crypto/pad/ISO10126.h            |  55 ++++
 libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h          |  59 ++++
 libjava/gnu/javax/crypto/pad/PKCS7.h               |  44 +++
 libjava/gnu/javax/crypto/pad/PadFactory.h          |  41 +++
 libjava/gnu/javax/crypto/pad/SSL3.h                |  40 +++
 libjava/gnu/javax/crypto/pad/TBC.h                 |  44 +++
 libjava/gnu/javax/crypto/pad/TLS1.h                |  40 +++
 .../gnu/javax/crypto/pad/WrongPaddingException.h   |  35 +++
 libjava/gnu/javax/crypto/prng/ARCFour.h            |  46 +++
 libjava/gnu/javax/crypto/prng/CSPRNG$1.h           |  40 +++
 libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h      |  49 +++
 libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h     |  41 +++
 libjava/gnu/javax/crypto/prng/CSPRNG.h             | 121 ++++++++
 libjava/gnu/javax/crypto/prng/Fortuna$Generator.h  |  67 ++++
 libjava/gnu/javax/crypto/prng/Fortuna.h            |  72 +++++
 libjava/gnu/javax/crypto/prng/ICMGenerator.h       |  62 ++++
 libjava/gnu/javax/crypto/prng/IPBE.h               |  39 +++
 libjava/gnu/javax/crypto/prng/PBKDF2.h             |  50 +++
 libjava/gnu/javax/crypto/prng/PRNGFactory.h        |  47 +++
 libjava/gnu/javax/crypto/prng/UMacGenerator.h      |  46 +++
 libjava/gnu/javax/crypto/sasl/AuthInfo.h           |  40 +++
 .../javax/crypto/sasl/AuthInfoProviderFactory.h    |  37 +++
 libjava/gnu/javax/crypto/sasl/ClientFactory.h      |  65 ++++
 libjava/gnu/javax/crypto/sasl/ClientMechanism.h    |  91 ++++++
 .../javax/crypto/sasl/ConfidentialityException.h   |  37 +++
 libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h  |  40 +++
 .../javax/crypto/sasl/IAuthInfoProviderFactory.h   |  36 +++
 .../crypto/sasl/IllegalMechanismStateException.h   |  37 +++
 libjava/gnu/javax/crypto/sasl/InputBuffer.h        |  60 ++++
 libjava/gnu/javax/crypto/sasl/IntegrityException.h |  37 +++
 .../javax/crypto/sasl/NoSuchMechanismException.h   |  35 +++
 .../gnu/javax/crypto/sasl/NoSuchUserException.h    |  36 +++
 libjava/gnu/javax/crypto/sasl/OutputBuffer.h       |  54 ++++
 .../gnu/javax/crypto/sasl/SaslEncodingException.h  |  36 +++
 libjava/gnu/javax/crypto/sasl/SaslInputStream.h    |  62 ++++
 libjava/gnu/javax/crypto/sasl/SaslOutputStream.h   |  60 ++++
 libjava/gnu/javax/crypto/sasl/SaslUtil.h           |  44 +++
 libjava/gnu/javax/crypto/sasl/ServerFactory.h      |  65 ++++
 libjava/gnu/javax/crypto/sasl/ServerMechanism.h    |  92 ++++++
 .../javax/crypto/sasl/UserAlreadyExistsException.h |  36 +++
 .../javax/crypto/sasl/anonymous/AnonymousClient.h  |  49 +++
 .../javax/crypto/sasl/anonymous/AnonymousServer.h  |  45 +++
 .../javax/crypto/sasl/anonymous/AnonymousUtil.h    |  41 +++
 .../crypto/sasl/crammd5/CramMD5AuthInfoProvider.h  |  48 +++
 .../gnu/javax/crypto/sasl/crammd5/CramMD5Client.h  |  49 +++
 .../javax/crypto/sasl/crammd5/CramMD5Registry.h    |  44 +++
 .../gnu/javax/crypto/sasl/crammd5/CramMD5Server.h  |  52 ++++
 .../gnu/javax/crypto/sasl/crammd5/CramMD5Util.h    |  43 +++
 .../gnu/javax/crypto/sasl/crammd5/PasswordFile.h   |  56 ++++
 libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h |  56 ++++
 .../crypto/sasl/plain/PlainAuthInfoProvider.h      |  48 +++
 libjava/gnu/javax/crypto/sasl/plain/PlainClient.h  |  49 +++
 .../gnu/javax/crypto/sasl/plain/PlainRegistry.h    |  44 +++
 libjava/gnu/javax/crypto/sasl/plain/PlainServer.h  |  50 +++
 libjava/gnu/javax/crypto/sasl/srp/CALG.h           |  57 ++++
 libjava/gnu/javax/crypto/sasl/srp/ClientStore.h    |  50 +++
 libjava/gnu/javax/crypto/sasl/srp/IALG.h           |  56 ++++
 libjava/gnu/javax/crypto/sasl/srp/KDF.h            |  66 ++++
 libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h   |  89 ++++++
 libjava/gnu/javax/crypto/sasl/srp/SRP.h            |  77 +++++
 .../javax/crypto/sasl/srp/SRPAuthInfoProvider.h    |  48 +++
 libjava/gnu/javax/crypto/sasl/srp/SRPClient.h      | 129 ++++++++
 libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h    |  92 ++++++
 libjava/gnu/javax/crypto/sasl/srp/SRPServer.h      | 115 +++++++
 .../gnu/javax/crypto/sasl/srp/SecurityContext.h    |  68 +++++
 libjava/gnu/javax/crypto/sasl/srp/ServerStore.h    |  54 ++++
 libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h     |  43 +++
 libjava/gnu/javax/imageio/IIOInputStream.h         |  56 ++++
 libjava/gnu/javax/imageio/bmp/BMPDecoder.h         |  70 +++++
 libjava/gnu/javax/imageio/bmp/BMPEncoder.h         |  55 ++++
 libjava/gnu/javax/imageio/bmp/BMPException.h       |  35 +++
 libjava/gnu/javax/imageio/bmp/BMPFileHeader.h      |  63 ++++
 libjava/gnu/javax/imageio/bmp/BMPImageReader.h     |  85 ++++++
 libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h  |  66 ++++
 libjava/gnu/javax/imageio/bmp/BMPImageWriter.h     |  68 +++++
 libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h  |  71 +++++
 libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h      |  89 ++++++
 libjava/gnu/javax/imageio/bmp/DecodeBF16.h         |  64 ++++
 libjava/gnu/javax/imageio/bmp/DecodeBF32.h         |  64 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRGB1.h         |  58 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRGB24.h        |  58 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRGB4.h         |  58 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRGB8.h         |  58 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRLE4.h         |  67 ++++
 libjava/gnu/javax/imageio/bmp/DecodeRLE8.h         |  67 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB1.h         |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB16.h        |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB24.h        |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB32.h        |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB4.h         |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRGB8.h         |  59 ++++
 libjava/gnu/javax/imageio/bmp/EncodeRLE4.h         |  75 +++++
 libjava/gnu/javax/imageio/bmp/EncodeRLE8.h         |  75 +++++
 .../gnu/javax/imageio/gif/GIFFile$GIFException.h   |  35 +++
 libjava/gnu/javax/imageio/gif/GIFFile.h            | 101 ++++++
 libjava/gnu/javax/imageio/gif/GIFImageReader.h     |  83 +++++
 libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h  |  66 ++++
 libjava/gnu/javax/imageio/jpeg/DCT.h               |  48 +++
 libjava/gnu/javax/imageio/jpeg/HuffmanTable.h      |  76 +++++
 libjava/gnu/javax/imageio/jpeg/JPEGComponent.h     |  91 ++++++
 libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h       |  99 ++++++
 libjava/gnu/javax/imageio/jpeg/JPEGException.h     |  35 +++
 libjava/gnu/javax/imageio/jpeg/JPEGFrame.h         |  67 ++++
 .../gnu/javax/imageio/jpeg/JPEGImageInputStream.h  |  60 ++++
 libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h   |  76 +++++
 .../gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h    |  74 +++++
 libjava/gnu/javax/imageio/jpeg/JPEGMarker.h        |  89 ++++++
 .../javax/imageio/jpeg/JPEGMarkerFoundException.h  |  35 +++
 libjava/gnu/javax/imageio/jpeg/JPEGScan.h          |  60 ++++
 libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h  |  42 +++
 libjava/gnu/javax/imageio/jpeg/ZigZag.h            |  52 ++++
 libjava/gnu/javax/imageio/png/PNGChunk.h           |  71 +++++
 libjava/gnu/javax/imageio/png/PNGData.h            |  47 +++
 libjava/gnu/javax/imageio/png/PNGDecoder.h         |  85 ++++++
 libjava/gnu/javax/imageio/png/PNGEncoder.h         |  64 ++++
 libjava/gnu/javax/imageio/png/PNGException.h       |  35 +++
 libjava/gnu/javax/imageio/png/PNGFile.h            |  75 +++++
 libjava/gnu/javax/imageio/png/PNGFilter.h          |  47 +++
 libjava/gnu/javax/imageio/png/PNGGamma.h           |  54 ++++
 libjava/gnu/javax/imageio/png/PNGHeader.h          |  66 ++++
 libjava/gnu/javax/imageio/png/PNGICCProfile.h      |  57 ++++
 libjava/gnu/javax/imageio/png/PNGImageReader.h     |  75 +++++
 libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h  |  59 ++++
 libjava/gnu/javax/imageio/png/PNGPalette.h         |  60 ++++
 libjava/gnu/javax/imageio/png/PNGPhys.h            |  50 +++
 libjava/gnu/javax/imageio/png/PNGTime.h            |  43 +++
 libjava/gnu/javax/management/ListenerData.h        |  49 +++
 .../javax/management/Server$LazyListenersHolder.h  |  36 +++
 libjava/gnu/javax/management/Server$ServerInfo.h   |  48 +++
 .../javax/management/Server$ServerInputStream.h    |  40 +++
 .../management/Server$ServerNotificationListener.h |  49 +++
 libjava/gnu/javax/management/Server.h              | 104 +++++++
 libjava/gnu/javax/management/Translator.h          |  56 ++++
 .../gnu/javax/naming/giop/ContextContinuation.h    | 111 +++++++
 libjava/gnu/javax/naming/giop/CorbalocParser.h     |  79 +++++
 .../gnu/javax/naming/giop/GiopNamingEnumeration.h  |  64 ++++
 .../javax/naming/giop/GiopNamingServiceFactory$1.h |  53 ++++
 .../javax/naming/giop/GiopNamingServiceFactory.h   |  58 ++++
 .../naming/giop/GiopNamingServiceURLContext.h      | 111 +++++++
 .../javax/naming/giop/ListBindingsEnumeration.h    |  52 ++++
 libjava/gnu/javax/naming/giop/ListEnumeration.h    |  48 +++
 .../naming/ictxImpl/trans/GnuName$GnuNameEnum.h    |  46 +++
 libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h  |  76 +++++
 .../url/corbaname/corbanameURLContextFactory.h     |  41 +++
 .../naming/jndi/url/rmi/ContextContinuation.h      |  98 ++++++
 .../naming/jndi/url/rmi/ListBindingsEnumeration.h  |  57 ++++
 .../javax/naming/jndi/url/rmi/ListEnumeration.h    |  44 +++
 .../javax/naming/jndi/url/rmi/RmiContinuation.h    |  98 ++++++
 .../naming/jndi/url/rmi/RmiNamingEnumeration.h     |  54 ++++
 .../gnu/javax/naming/jndi/url/rmi/rmiURLContext.h  | 100 ++++++
 .../naming/jndi/url/rmi/rmiURLContextFactory.h     |  50 +++
 libjava/gnu/javax/net/ssl/AbstractSessionContext.h |  71 +++++
 libjava/gnu/javax/net/ssl/EntropySource.h          |  38 +++
 libjava/gnu/javax/net/ssl/NullManagerParameters.h  |  35 +++
 libjava/gnu/javax/net/ssl/PreSharedKeyManager.h    |  43 +++
 .../javax/net/ssl/PreSharedKeyManagerParameters.h  |  49 +++
 libjava/gnu/javax/net/ssl/PrivateCredentials.h     |  56 ++++
 libjava/gnu/javax/net/ssl/SRPManagerParameters.h   |  49 +++
 libjava/gnu/javax/net/ssl/SRPTrustManager.h        |  62 ++++
 libjava/gnu/javax/net/ssl/SSLCipherSuite.h         |  66 ++++
 libjava/gnu/javax/net/ssl/SSLProtocolVersion.h     |  46 +++
 libjava/gnu/javax/net/ssl/SSLRecordHandler.h       |  50 +++
 libjava/gnu/javax/net/ssl/Session$ID.h             |  47 +++
 libjava/gnu/javax/net/ssl/Session.h                | 117 +++++++
 libjava/gnu/javax/net/ssl/SessionStoreException.h  |  37 +++
 libjava/gnu/javax/net/ssl/StaticTrustAnchors.h     |  54 ++++
 .../javax/net/ssl/provider/AbstractHandshake$1.h   |  45 +++
 .../ssl/provider/AbstractHandshake$CertVerifier.h  |  62 ++++
 .../ssl/provider/AbstractHandshake$DHE_PSKGen.h    |  58 ++++
 .../net/ssl/provider/AbstractHandshake$DHPhase.h   |  57 ++++
 .../gnu/javax/net/ssl/provider/AbstractHandshake.h | 142 +++++++++
 .../gnu/javax/net/ssl/provider/Alert$Description.h |  79 +++++
 libjava/gnu/javax/net/ssl/provider/Alert$Level.h   |  50 +++
 libjava/gnu/javax/net/ssl/provider/Alert.h         |  65 ++++
 .../gnu/javax/net/ssl/provider/AlertException.h    |  49 +++
 libjava/gnu/javax/net/ssl/provider/Builder.h       |  47 +++
 libjava/gnu/javax/net/ssl/provider/Certificate.h   |  54 ++++
 .../javax/net/ssl/provider/CertificateBuilder.h    |  48 +++
 .../CertificateRequest$ClientCertificateType.h     |  53 ++++
 .../javax/net/ssl/provider/CertificateRequest.h    |  55 ++++
 .../net/ssl/provider/CertificateRequestBuilder.h   |  49 +++
 .../CertificateStatusRequest$ResponderIdIterator.h |  50 +++
 .../net/ssl/provider/CertificateStatusRequest.h    |  65 ++++
 .../javax/net/ssl/provider/CertificateStatusType.h |  47 +++
 .../gnu/javax/net/ssl/provider/CertificateType.h   |  49 +++
 .../ssl/provider/CertificateURL$CertChainType.h    |  49 +++
 .../net/ssl/provider/CertificateURL$Iterator.h     |  49 +++
 .../provider/CertificateURL$URLAndOptionalHash.h   |  61 ++++
 .../gnu/javax/net/ssl/provider/CertificateURL.h    |  61 ++++
 .../gnu/javax/net/ssl/provider/CertificateVerify.h |  51 ++++
 .../gnu/javax/net/ssl/provider/CipherAlgorithm.h   |  51 ++++
 libjava/gnu/javax/net/ssl/provider/CipherSuite.h   | 145 +++++++++
 .../net/ssl/provider/CipherSuiteList$Iterator.h    |  60 ++++
 .../gnu/javax/net/ssl/provider/CipherSuiteList.h   |  63 ++++
 .../provider/ClientCertificateTypeList$Iterator.h  |  60 ++++
 .../net/ssl/provider/ClientCertificateTypeList.h   |  60 ++++
 .../net/ssl/provider/ClientDHE_PSKParameters.h     |  55 ++++
 .../net/ssl/provider/ClientDiffieHellmanPublic.h   |  59 ++++
 .../net/ssl/provider/ClientHandshake$CertLoader.h  |  47 +++
 .../net/ssl/provider/ClientHandshake$ClientDHGen.h |  64 ++++
 .../ssl/provider/ClientHandshake$GenCertVerify.h   |  59 ++++
 .../ssl/provider/ClientHandshake$ParamsVerifier.h  |  59 ++++
 .../net/ssl/provider/ClientHandshake$RSAGen.h      |  52 ++++
 .../javax/net/ssl/provider/ClientHandshake$State.h |  62 ++++
 .../gnu/javax/net/ssl/provider/ClientHandshake.h   | 120 ++++++++
 libjava/gnu/javax/net/ssl/provider/ClientHello.h   |  75 +++++
 .../javax/net/ssl/provider/ClientHelloBuilder.h    |  58 ++++
 libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h |  66 ++++
 .../gnu/javax/net/ssl/provider/ClientKeyExchange.h |  57 ++++
 .../net/ssl/provider/ClientKeyExchangeBuilder.h    |  49 +++
 .../javax/net/ssl/provider/ClientPSKParameters.h   |  51 ++++
 .../net/ssl/provider/ClientRSA_PSKParameters.h     |  55 ++++
 .../gnu/javax/net/ssl/provider/CompressionMethod.h |  50 +++
 .../ssl/provider/CompressionMethodList$Iterator.h  |  60 ++++
 .../javax/net/ssl/provider/CompressionMethodList.h |  60 ++++
 libjava/gnu/javax/net/ssl/provider/Constructed.h   |  39 +++
 libjava/gnu/javax/net/ssl/provider/ContentType.h   |  54 ++++
 libjava/gnu/javax/net/ssl/provider/Debug.h         |  41 +++
 libjava/gnu/javax/net/ssl/provider/DelegatedTask.h |  57 ++++
 libjava/gnu/javax/net/ssl/provider/DiffieHellman.h |  66 ++++
 .../gnu/javax/net/ssl/provider/EmptyExchangeKeys.h |  41 +++
 .../net/ssl/provider/EncryptedPreMasterSecret.h    |  58 ++++
 libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h  |  50 +++
 .../gnu/javax/net/ssl/provider/Extension$Type.h    |  56 ++++
 .../gnu/javax/net/ssl/provider/Extension$Value.h   |  48 +++
 libjava/gnu/javax/net/ssl/provider/Extension.h     |  68 +++++
 .../provider/ExtensionList$ExtensionsIterator.h    |  60 ++++
 libjava/gnu/javax/net/ssl/provider/ExtensionList.h |  64 ++++
 libjava/gnu/javax/net/ssl/provider/Finished.h      |  64 ++++
 .../gnu/javax/net/ssl/provider/Handshake$Body.h    |  39 +++
 .../gnu/javax/net/ssl/provider/Handshake$Type.h    |  60 ++++
 libjava/gnu/javax/net/ssl/provider/Handshake.h     |  68 +++++
 libjava/gnu/javax/net/ssl/provider/HelloRequest.h  |  41 +++
 .../net/ssl/provider/InputSecurityParameters.h     |  90 ++++++
 libjava/gnu/javax/net/ssl/provider/Jessie$1.h      |  44 +++
 libjava/gnu/javax/net/ssl/provider/Jessie.h        |  43 +++
 .../javax/net/ssl/provider/KeyExchangeAlgorithm.h  |  55 ++++
 libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h  |  48 +++
 libjava/gnu/javax/net/ssl/provider/MacException.h  |  39 +++
 .../gnu/javax/net/ssl/provider/MaxFragmentLength.h |  59 ++++
 .../net/ssl/provider/OutputSecurityParameters.h    |  77 +++++
 .../PreSharedKeyManagerFactoryImpl$Manager.h       |  52 ++++
 .../ssl/provider/PreSharedKeyManagerFactoryImpl.h  |  66 ++++
 .../gnu/javax/net/ssl/provider/ProtocolVersion.h   |  62 ++++
 libjava/gnu/javax/net/ssl/provider/Random.h        |  62 ++++
 libjava/gnu/javax/net/ssl/provider/Record.h        |  60 ++++
 .../ssl/provider/SRPTrustManagerFactory$Manager.h  |  73 +++++
 .../net/ssl/provider/SRPTrustManagerFactory.h      |  66 ++++
 .../gnu/javax/net/ssl/provider/SSLContextImpl.h    |  88 ++++++
 .../javax/net/ssl/provider/SSLEngineImpl$Mode.h    |  47 +++
 libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h | 128 ++++++++
 libjava/gnu/javax/net/ssl/provider/SSLHMac.h       |  69 +++++
 .../javax/net/ssl/provider/SSLRSASignatureImpl.h   |  79 +++++
 libjava/gnu/javax/net/ssl/provider/SSLRandom.h     |  74 +++++
 .../net/ssl/provider/SSLServerSocketFactoryImpl.h  |  61 ++++
 .../javax/net/ssl/provider/SSLServerSocketImpl.h   |  74 +++++
 .../javax/net/ssl/provider/SSLSocketFactoryImpl.h  |  65 ++++
 .../gnu/javax/net/ssl/provider/SSLSocketImpl$1.h   |  44 +++
 .../ssl/provider/SSLSocketImpl$SocketInputStream.h |  58 ++++
 .../provider/SSLSocketImpl$SocketOutputStream.h    |  58 ++++
 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h | 160 ++++++++++
 .../gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h  |  62 ++++
 .../gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h  |  62 ++++
 .../net/ssl/provider/ServerDHE_PSKParameters.h     |  62 ++++
 .../gnu/javax/net/ssl/provider/ServerDHParams.h    |  65 ++++
 .../net/ssl/provider/ServerHandshake$CertLoader.h  |  44 +++
 .../javax/net/ssl/provider/ServerHandshake$GenDH.h |  53 ++++
 .../ssl/provider/ServerHandshake$RSAKeyExchange.h  |  48 +++
 .../ssl/provider/ServerHandshake$RSA_PSKExchange.h |  56 ++++
 .../javax/net/ssl/provider/ServerHandshake$State.h |  63 ++++
 .../gnu/javax/net/ssl/provider/ServerHandshake.h   | 129 ++++++++
 libjava/gnu/javax/net/ssl/provider/ServerHello.h   |  69 +++++
 .../javax/net/ssl/provider/ServerHelloBuilder.h    |  60 ++++
 .../gnu/javax/net/ssl/provider/ServerHelloDone.h   |  41 +++
 .../gnu/javax/net/ssl/provider/ServerKeyExchange.h |  57 ++++
 .../net/ssl/provider/ServerKeyExchangeBuilder.h    |  50 +++
 .../net/ssl/provider/ServerKeyExchangeParams.h     |  41 +++
 .../net/ssl/provider/ServerNameList$Iterator.h     |  49 +++
 .../net/ssl/provider/ServerNameList$NameType.h     |  48 +++
 .../net/ssl/provider/ServerNameList$ServerName.h   |  56 ++++
 .../gnu/javax/net/ssl/provider/ServerNameList.h    |  58 ++++
 .../javax/net/ssl/provider/ServerPSKParameters.h   |  56 ++++
 .../gnu/javax/net/ssl/provider/ServerRSAParams.h   |  61 ++++
 .../net/ssl/provider/ServerRSA_PSKParameters.h     |  48 +++
 .../net/ssl/provider/SessionImpl$PrivateData.h     |  43 +++
 libjava/gnu/javax/net/ssl/provider/SessionImpl.h   |  87 ++++++
 libjava/gnu/javax/net/ssl/provider/Signature.h     |  60 ++++
 .../javax/net/ssl/provider/SignatureAlgorithm.h    |  53 ++++
 .../net/ssl/provider/SimpleSessionContext$1.h      |  46 +++
 .../javax/net/ssl/provider/SimpleSessionContext.h  |  59 ++++
 libjava/gnu/javax/net/ssl/provider/TLSHMac.h       |  54 ++++
 libjava/gnu/javax/net/ssl/provider/TLSRandom.h     |  71 +++++
 libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h |  49 +++
 .../TrustedAuthorities$AuthoritiesIterator.h       |  49 +++
 .../provider/TrustedAuthorities$IdentifierType.h   |  51 ++++
 .../provider/TrustedAuthorities$TrustedAuthority.h |  70 +++++
 .../javax/net/ssl/provider/TrustedAuthorities.h    |  56 ++++
 .../net/ssl/provider/UnresolvedExtensionValue.h    |  53 ++++
 libjava/gnu/javax/net/ssl/provider/Util$1.h        |  43 +++
 libjava/gnu/javax/net/ssl/provider/Util$2.h        |  43 +++
 .../javax/net/ssl/provider/Util$WrappedBuffer.h    |  51 ++++
 libjava/gnu/javax/net/ssl/provider/Util.h          |  76 +++++
 .../net/ssl/provider/X500PrincipalList$Iterator.h  |  72 +++++
 .../gnu/javax/net/ssl/provider/X500PrincipalList.h |  76 +++++
 .../ssl/provider/X509KeyManagerFactory$Manager.h   |  85 ++++++
 .../javax/net/ssl/provider/X509KeyManagerFactory.h |  72 +++++
 .../ssl/provider/X509TrustManagerFactory$Manager.h |  61 ++++
 .../net/ssl/provider/X509TrustManagerFactory.h     |  69 +++++
 libjava/gnu/javax/print/CupsIppOperation.h         |  45 +++
 libjava/gnu/javax/print/CupsMediaMapping.h         |  37 +++
 libjava/gnu/javax/print/CupsPrintService.h         |  59 ++++
 libjava/gnu/javax/print/CupsPrintServiceLookup.h   |  57 ++++
 libjava/gnu/javax/print/CupsServer.h               |  52 ++++
 libjava/gnu/javax/print/PrintAttributeException.h  |  53 ++++
 libjava/gnu/javax/print/PrintFlavorException.h     |  48 +++
 libjava/gnu/javax/print/PrintUriException.h        |  48 +++
 .../print/PrinterDialog$AppearancePanel$Color.h    |  60 ++++
 .../PrinterDialog$AppearancePanel$JobAttributes.h  |  80 +++++
 .../print/PrinterDialog$AppearancePanel$Quality.h  |  63 ++++
 .../PrinterDialog$AppearancePanel$SidesPanel.h     |  61 ++++
 .../javax/print/PrinterDialog$AppearancePanel.h    |  48 +++
 .../PrinterDialog$GeneralPanel$CopiesAndSorted.h   |  70 +++++
 .../print/PrinterDialog$GeneralPanel$PrintRange.h  |  71 +++++
 .../PrinterDialog$GeneralPanel$PrintServices.h     |  71 +++++
 .../gnu/javax/print/PrinterDialog$GeneralPanel.h   |  46 +++
 .../print/PrinterDialog$PageSetupPanel$Margins.h   |  70 +++++
 .../PrinterDialog$PageSetupPanel$MediaTypes.h      |  63 ++++
 .../PrinterDialog$PageSetupPanel$Orientation.h     |  62 ++++
 .../gnu/javax/print/PrinterDialog$PageSetupPanel.h |  46 +++
 libjava/gnu/javax/print/PrinterDialog.h            | 101 ++++++
 libjava/gnu/javax/print/ipp/DocPrintJobImpl.h      |  90 ++++++
 libjava/gnu/javax/print/ipp/IppDelimiterTag.h      |  41 +++
 libjava/gnu/javax/print/ipp/IppException.h         |  38 +++
 .../gnu/javax/print/ipp/IppMultiDocPrintService.h  |  54 ++++
 libjava/gnu/javax/print/ipp/IppPrintService.h      | 111 +++++++
 .../gnu/javax/print/ipp/IppRequest$RequestWriter.h |  78 +++++
 libjava/gnu/javax/print/ipp/IppRequest.h           |  88 ++++++
 .../javax/print/ipp/IppResponse$ResponseReader.h   |  65 ++++
 libjava/gnu/javax/print/ipp/IppResponse.h          |  68 +++++
 libjava/gnu/javax/print/ipp/IppStatusCode.h        |  67 ++++
 libjava/gnu/javax/print/ipp/IppUtilities.h         |  64 ++++
 libjava/gnu/javax/print/ipp/IppValueTag.h          |  56 ++++
 libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h |  48 +++
 .../gnu/javax/print/ipp/attribute/CharsetSyntax.h  |  46 +++
 .../print/ipp/attribute/DefaultValueAttribute.h    |  50 +++
 .../print/ipp/attribute/DetailedStatusMessage.h    |  40 +++
 .../print/ipp/attribute/DocumentAccessError.h      |  40 +++
 .../print/ipp/attribute/NaturalLanguageSyntax.h    |  46 +++
 .../print/ipp/attribute/RequestedAttributes.h      |  48 +++
 .../gnu/javax/print/ipp/attribute/StatusMessage.h  |  40 +++
 .../javax/print/ipp/attribute/UnknownAttribute.h   |  61 ++++
 .../print/ipp/attribute/defaults/CopiesDefault.h   |  55 ++++
 .../ipp/attribute/defaults/DocumentFormatDefault.h |  54 ++++
 .../ipp/attribute/defaults/FinishingsDefault.h     |  85 ++++++
 .../ipp/attribute/defaults/JobHoldUntilDefault.h   |  62 ++++
 .../ipp/attribute/defaults/JobPriorityDefault.h    |  55 ++++
 .../ipp/attribute/defaults/JobSheetsDefault.h      |  56 ++++
 .../print/ipp/attribute/defaults/MediaDefault.h    |  54 ++++
 .../defaults/MultipleDocumentHandlingDefault.h     |  70 +++++
 .../print/ipp/attribute/defaults/NumberUpDefault.h |  55 ++++
 .../defaults/OrientationRequestedDefault.h         |  71 +++++
 .../ipp/attribute/defaults/PrintQualityDefault.h   |  70 +++++
 .../attribute/defaults/PrinterResolutionDefault.h  |  55 ++++
 .../print/ipp/attribute/defaults/SidesDefault.h    |  71 +++++
 .../print/ipp/attribute/job/AttributesCharset.h    |  44 +++
 .../ipp/attribute/job/AttributesNaturalLanguage.h  |  44 +++
 .../ipp/attribute/job/JobDetailedStatusMessages.h  |  43 +++
 .../ipp/attribute/job/JobDocumentAccessErrors.h    |  43 +++
 libjava/gnu/javax/print/ipp/attribute/job/JobId.h  |  43 +++
 .../javax/print/ipp/attribute/job/JobMoreInfo.h    |  50 +++
 .../javax/print/ipp/attribute/job/JobPrinterUri.h  |  50 +++
 .../print/ipp/attribute/job/JobStateMessage.h      |  43 +++
 libjava/gnu/javax/print/ipp/attribute/job/JobUri.h |  50 +++
 .../ipp/attribute/printer/CharsetConfigured.h      |  43 +++
 .../print/ipp/attribute/printer/DocumentFormat.h   |  51 ++++
 .../attribute/printer/MultipleOperationTimeOut.h   |  43 +++
 .../attribute/printer/NaturalLanguageConfigured.h  |  43 +++
 .../ipp/attribute/printer/PrinterCurrentTime.h     |  44 +++
 .../ipp/attribute/printer/PrinterDriverInstaller.h |  50 +++
 .../ipp/attribute/printer/PrinterStateMessage.h    |  43 +++
 .../print/ipp/attribute/printer/PrinterUpTime.h    |  43 +++
 .../ipp/attribute/supported/CharsetSupported.h     |  43 +++
 .../ipp/attribute/supported/CompressionSupported.h |  74 +++++
 .../attribute/supported/DocumentFormatSupported.h  |  43 +++
 .../ipp/attribute/supported/FinishingsSupported.h  |  89 ++++++
 .../supported/GeneratedNaturalLanguageSupported.h  |  43 +++
 .../ipp/attribute/supported/IppVersionsSupported.h |  65 ++++
 .../attribute/supported/JobHoldUntilSupported.h    |  51 ++++
 .../ipp/attribute/supported/JobSheetsSupported.h   |  66 ++++
 .../print/ipp/attribute/supported/MediaSupported.h |  59 ++++
 .../supported/MultipleDocumentHandlingSupported.h  |  74 +++++
 .../supported/MultipleDocumentJobsSupported.h      |  66 ++++
 .../ipp/attribute/supported/OperationsSupported.h  |  82 +++++
 .../supported/OrientationRequestedSupported.h      |  75 +++++
 .../ipp/attribute/supported/PageRangesSupported.h  |  66 ++++
 .../attribute/supported/PrintQualitySupported.h    |  74 +++++
 .../supported/PrinterResolutionSupported.h         |  61 ++++
 .../ipp/attribute/supported/PrinterUriSupported.h  |  50 +++
 .../print/ipp/attribute/supported/SidesSupported.h |  69 +++++
 .../supported/UriAuthenticationSupported.h         |  68 +++++
 .../ipp/attribute/supported/UriSecuritySupported.h |  66 ++++
 libjava/gnu/javax/rmi/CORBA/CorbaInput.h           |  94 ++++++
 libjava/gnu/javax/rmi/CORBA/CorbaOutput.h          |  76 +++++
 .../gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h |  40 +++
 libjava/gnu/javax/rmi/CORBA/DelegateFactory.h      |  40 +++
 .../javax/rmi/CORBA/GetDelegateInstanceException.h |  39 +++
 .../rmi/CORBA/PortableRemoteObjectDelegateImpl.h   |  50 +++
 libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h       |  37 +++
 libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h       |  37 +++
 libjava/gnu/javax/rmi/CORBA/RmiUtilities.h         | 113 +++++++
 libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h     |  70 +++++
 libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h      |  50 +++
 libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h     | 101 ++++++
 .../gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h |  61 ++++
 libjava/gnu/javax/security/auth/Password.h         |  55 ++++
 .../security/auth/callback/AWTCallbackHandler.h    |  94 ++++++
 .../auth/callback/AbstractCallbackHandler.h        |  90 ++++++
 .../security/auth/callback/CertificateCallback.h   |  52 ++++
 .../auth/callback/ConsoleCallbackHandler.h         |  69 +++++
 .../auth/callback/DefaultCallbackHandler.h         |  66 ++++
 .../javax/security/auth/callback/GnuCallbacks$1.h  |  44 +++
 .../javax/security/auth/callback/GnuCallbacks.h    |  38 +++
 .../auth/callback/SwingCallbackHandler$1.h         |  75 +++++
 .../auth/callback/SwingCallbackHandler$2.h         |  77 +++++
 .../auth/callback/SwingCallbackHandler$3.h         |  77 +++++
 .../auth/callback/SwingCallbackHandler$4.h         |  76 +++++
 .../auth/callback/SwingCallbackHandler$5.h         |  76 +++++
 .../auth/callback/SwingCallbackHandler$6.h         |  76 +++++
 .../auth/callback/SwingCallbackHandler$7.h         |  74 +++++
 .../security/auth/callback/SwingCallbackHandler.h  |  73 +++++
 .../javax/security/auth/login/ConfigFileParser.h   |  52 ++++
 .../security/auth/login/ConfigFileTokenizer.h      |  69 +++++
 .../javax/security/auth/login/GnuConfiguration.h   |  70 +++++
 .../javax/sound/AudioSecurityManager$Permission.h  |  42 +++
 libjava/gnu/javax/sound/AudioSecurityManager.h     |  42 +++
 .../javax/sound/midi/alsa/AlsaInputPortDevice.h    |  59 ++++
 .../midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h    |  51 ++++
 .../AlsaMidiDeviceProvider$AlsaInputPortInfo.h     |  51 ++++
 .../AlsaMidiDeviceProvider$AlsaOutputPortInfo.h    |  51 ++++
 .../alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h     |  42 +++
 .../AlsaMidiDeviceProvider$AlsaSequencerInfo.h     |  51 ++++
 .../javax/sound/midi/alsa/AlsaMidiDeviceProvider.h |  60 ++++
 .../sound/midi/alsa/AlsaMidiSequencerDevice.h      | 112 +++++++
 .../javax/sound/midi/alsa/AlsaOutputPortDevice.h   |  59 ++++
 .../sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h  |  54 ++++
 .../midi/alsa/AlsaPortDevice$AlsaTransmitter.h     |  59 ++++
 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h |  66 ++++
 .../sound/midi/dssi/DSSIMidiDeviceProvider$1.h     |  40 +++
 .../midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h    |  42 +++
 .../javax/sound/midi/dssi/DSSIMidiDeviceProvider.h |  67 ++++
 .../midi/dssi/DSSISynthesizer$DSSIInstrument.h     |  55 ++++
 .../midi/dssi/DSSISynthesizer$DSSIMidiChannel.h    |  69 +++++
 .../sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h |  55 ++++
 .../midi/dssi/DSSISynthesizer$DSSISoundbank.h      |  73 +++++
 .../gnu/javax/sound/midi/dssi/DSSISynthesizer.h    | 104 +++++++
 .../javax/sound/midi/file/ExtendedMidiFileFormat.h |  42 +++
 .../javax/sound/midi/file/MidiDataInputStream.h    |  39 +++
 .../javax/sound/midi/file/MidiDataOutputStream.h   |  40 +++
 libjava/gnu/javax/sound/midi/file/MidiFileReader.h |  62 ++++
 libjava/gnu/javax/sound/midi/file/MidiFileWriter.h |  60 ++++
 .../javax/sound/sampled/AU/AUReader$AUFormatType.h |  38 +++
 .../gnu/javax/sound/sampled/AU/AUReader$AUHeader.h |  73 +++++
 libjava/gnu/javax/sound/sampled/AU/AUReader.h      |  62 ++++
 libjava/gnu/javax/sound/sampled/WAV/WAVReader.h    |  66 ++++
 .../sampled/gstreamer/GStreamerMixer$GstInfo.h     |  44 +++
 .../javax/sound/sampled/gstreamer/GStreamerMixer.h |  84 +++++
 .../sampled/gstreamer/GStreamerMixerProvider.h     |  57 ++++
 .../sampled/gstreamer/io/GstAudioFileReader.h      |  68 +++++
 .../io/GstAudioFileReaderNativePeer$GstHeader.h    |  57 ++++
 .../gstreamer/io/GstAudioFileReaderNativePeer.h    |  79 +++++
 .../sampled/gstreamer/io/GstAudioFileWriter.h      |  58 ++++
 .../sound/sampled/gstreamer/io/GstInputStream.h    |  56 ++++
 .../sound/sampled/gstreamer/lines/GstDataLine.h    |  92 ++++++
 .../sampled/gstreamer/lines/GstNativeDataLine.h    |  51 ++++
 .../gstreamer/lines/GstPipeline$CleanPipeline.h    |  47 +++
 .../sampled/gstreamer/lines/GstPipeline$State.h    |  52 ++++
 .../sound/sampled/gstreamer/lines/GstPipeline.h    |  92 ++++++
 .../sampled/gstreamer/lines/GstSourceDataLine.h    |  73 +++++
 .../swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h   |  50 +++
 .../plaf/gnu/GNULookAndFeel$RadioButtonIcon.h      |  50 +++
 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h  |  64 ++++
 .../gnu/javax/swing/plaf/metal/CustomizableTheme.h |  76 +++++
 .../swing/text/html/CharacterAttributeTranslator.h |  64 ++++
 .../html/CombinedAttributes$CombinedEnumeration.h  |  47 +++
 .../gnu/javax/swing/text/html/CombinedAttributes.h |  64 ++++
 .../html/ImageViewIconFactory$LoadingImageIcon.h   |  49 +++
 .../text/html/ImageViewIconFactory$NoImageIcon.h   |  49 +++
 .../javax/swing/text/html/ImageViewIconFactory.h   |  51 ++++
 .../gnu/javax/swing/text/html/css/BorderStyle.h    |  42 +++
 .../gnu/javax/swing/text/html/css/BorderWidth.h    |  42 +++
 libjava/gnu/javax/swing/text/html/css/CSSColor.h   |  57 ++++
 .../swing/text/html/css/CSSLexicalException.h      |  42 +++
 .../gnu/javax/swing/text/html/css/CSSParser$1.h    |  48 +++
 libjava/gnu/javax/swing/text/html/css/CSSParser.h  |  65 ++++
 .../javax/swing/text/html/css/CSSParserCallback.h  |  46 +++
 .../javax/swing/text/html/css/CSSParserException.h |  41 +++
 libjava/gnu/javax/swing/text/html/css/CSSScanner.h |  92 ++++++
 libjava/gnu/javax/swing/text/html/css/FontSize.h   |  72 +++++
 libjava/gnu/javax/swing/text/html/css/FontStyle.h  |  45 +++
 libjava/gnu/javax/swing/text/html/css/FontWeight.h |  45 +++
 libjava/gnu/javax/swing/text/html/css/Length.h     |  62 ++++
 libjava/gnu/javax/swing/text/html/css/Selector.h   |  55 ++++
 .../html/parser/GnuParserDelegator$gnuParser.h     |  75 +++++
 .../swing/text/html/parser/GnuParserDelegator.h    |  67 ++++
 .../gnu/javax/swing/text/html/parser/HTML_401F.h   | 338 +++++++++++++++++++++
 .../text/html/parser/SmallHtmlAttributeSet$1.h     |  49 +++
 .../swing/text/html/parser/SmallHtmlAttributeSet.h |  71 +++++
 libjava/gnu/javax/swing/text/html/parser/gnuDTD.h  |  81 +++++
 .../swing/text/html/parser/htmlAttributeSet$1.h    |  50 +++
 .../swing/text/html/parser/htmlAttributeSet.h      |  62 ++++
 .../swing/text/html/parser/htmlValidator$hTag.h    |  74 +++++
 .../javax/swing/text/html/parser/htmlValidator.h   |  89 ++++++
 .../text/html/parser/models/PCDATAonly_model.h     |  48 +++
 .../text/html/parser/models/TableRowContentModel.h |  67 ++++
 .../gnu/javax/swing/text/html/parser/models/list.h |  66 ++++
 .../swing/text/html/parser/models/noTagModel.h     |  53 ++++
 .../gnu/javax/swing/text/html/parser/models/node.h |  68 +++++
 .../swing/text/html/parser/models/transformer.h    |  75 +++++
 .../swing/text/html/parser/support/Parser$1.h      |  50 +++
 .../swing/text/html/parser/support/Parser$2.h      |  69 +++++
 .../javax/swing/text/html/parser/support/Parser.h  | 154 ++++++++++
 .../text/html/parser/support/gnuStringIntMapper.h  |  54 ++++
 .../swing/text/html/parser/support/low/Buffer.h    |  72 +++++
 .../swing/text/html/parser/support/low/Constants.h |  89 ++++++
 .../swing/text/html/parser/support/low/Location.h  |  52 ++++
 .../text/html/parser/support/low/ParseException.h  |  47 +++
 .../swing/text/html/parser/support/low/Queue.h     |  61 ++++
 .../text/html/parser/support/low/ReaderTokenizer.h |  79 +++++
 .../swing/text/html/parser/support/low/Token.h     |  63 ++++
 .../swing/text/html/parser/support/low/node.h      |  50 +++
 .../swing/text/html/parser/support/low/pattern.h   |  53 ++++
 .../text/html/parser/support/parameterDefaulter.h  |  66 ++++
 .../text/html/parser/support/textPreProcessor.h    |  51 ++++
 libjava/gnu/javax/swing/tree/GnuPath.h             |  38 +++
 912 files changed, 50258 insertions(+)
 create mode 100644 libjava/gnu/javax/activation/viewers/ImageViewer.h
 create mode 100644 libjava/gnu/javax/activation/viewers/TextEditor.h
 create mode 100644 libjava/gnu/javax/activation/viewers/TextViewer.h
 create mode 100644 libjava/gnu/javax/crypto/RSACipherImpl.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Assembly.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Cascade.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/CascadeStage.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/CascadeTransformer.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/DeflateTransformer.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Direction.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/ModeStage.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Operation.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/PaddingTransformer.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Stage.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/Transformer.h
 create mode 100644 libjava/gnu/javax/crypto/assembly/TransformerException.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/BaseCipher.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish$Block.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish$Context.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/CipherFactory.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/DES$Context.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/DES.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/IBlockCipher.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/NullCipher.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Rijndael.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Serpent$Key.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Square.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/TripleDES$Context.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/cipher/WeakKeyException.h
 create mode 100644 libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/GnuCrypto$1.h
 create mode 100644 libjava/gnu/javax/crypto/jce/GnuCrypto.h
 create mode 100644 libjava/gnu/javax/crypto/jce/GnuSasl$1.h
 create mode 100644 libjava/gnu/javax/crypto/jce/GnuSasl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h
 create mode 100644 libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AESSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/DESSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/PBES2.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/MacAdapter.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h
 create mode 100644 libjava/gnu/javax/crypto/jce/params/DEREncodingException.h
 create mode 100644 libjava/gnu/javax/crypto/jce/params/DERReader.h
 create mode 100644 libjava/gnu/javax/crypto/jce/params/DERWriter.h
 create mode 100644 libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h
 create mode 100644 libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h
 create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h
 create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHParameters.h
 create mode 100644 libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h
 create mode 100644 libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h
 create mode 100644 libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h
 create mode 100644 libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h
 create mode 100644 libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h
 create mode 100644 libjava/gnu/javax/crypto/key/GnuPBEKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/GnuSecretKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/IKeyAgreementParty.h
 create mode 100644 libjava/gnu/javax/crypto/key/IncomingMessage.h
 create mode 100644 libjava/gnu/javax/crypto/key/KeyAgreementException.h
 create mode 100644 libjava/gnu/javax/crypto/key/KeyAgreementFactory.h
 create mode 100644 libjava/gnu/javax/crypto/key/OutgoingMessage.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/ElGamalSender.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/dh/RFC2631.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6Host.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRP6User.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h
 create mode 100644 libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/BaseKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/CertPathEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/CertificateEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/CompressedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/EncryptedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/Entry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/IKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/IPublicKeyring.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/MeteredInputStream.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/Properties.h
 create mode 100644 libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/AESKeyWrap.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h
 create mode 100644 libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h
 create mode 100644 libjava/gnu/javax/crypto/mac/BaseMac.h
 create mode 100644 libjava/gnu/javax/crypto/mac/HMac.h
 create mode 100644 libjava/gnu/javax/crypto/mac/HMacFactory.h
 create mode 100644 libjava/gnu/javax/crypto/mac/IMac.h
 create mode 100644 libjava/gnu/javax/crypto/mac/MacFactory.h
 create mode 100644 libjava/gnu/javax/crypto/mac/MacInputStream.h
 create mode 100644 libjava/gnu/javax/crypto/mac/MacOutputStream.h
 create mode 100644 libjava/gnu/javax/crypto/mac/OMAC.h
 create mode 100644 libjava/gnu/javax/crypto/mac/TMMH16.h
 create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h
 create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h
 create mode 100644 libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h
 create mode 100644 libjava/gnu/javax/crypto/mac/UHash32.h
 create mode 100644 libjava/gnu/javax/crypto/mac/UMac32.h
 create mode 100644 libjava/gnu/javax/crypto/mode/BaseMode.h
 create mode 100644 libjava/gnu/javax/crypto/mode/CBC.h
 create mode 100644 libjava/gnu/javax/crypto/mode/CFB.h
 create mode 100644 libjava/gnu/javax/crypto/mode/CTR.h
 create mode 100644 libjava/gnu/javax/crypto/mode/EAX.h
 create mode 100644 libjava/gnu/javax/crypto/mode/ECB.h
 create mode 100644 libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h
 create mode 100644 libjava/gnu/javax/crypto/mode/ICM.h
 create mode 100644 libjava/gnu/javax/crypto/mode/IMode.h
 create mode 100644 libjava/gnu/javax/crypto/mode/ModeFactory.h
 create mode 100644 libjava/gnu/javax/crypto/mode/OFB.h
 create mode 100644 libjava/gnu/javax/crypto/pad/BasePad.h
 create mode 100644 libjava/gnu/javax/crypto/pad/IPad.h
 create mode 100644 libjava/gnu/javax/crypto/pad/ISO10126.h
 create mode 100644 libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h
 create mode 100644 libjava/gnu/javax/crypto/pad/PKCS7.h
 create mode 100644 libjava/gnu/javax/crypto/pad/PadFactory.h
 create mode 100644 libjava/gnu/javax/crypto/pad/SSL3.h
 create mode 100644 libjava/gnu/javax/crypto/pad/TBC.h
 create mode 100644 libjava/gnu/javax/crypto/pad/TLS1.h
 create mode 100644 libjava/gnu/javax/crypto/pad/WrongPaddingException.h
 create mode 100644 libjava/gnu/javax/crypto/prng/ARCFour.h
 create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$1.h
 create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h
 create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h
 create mode 100644 libjava/gnu/javax/crypto/prng/CSPRNG.h
 create mode 100644 libjava/gnu/javax/crypto/prng/Fortuna$Generator.h
 create mode 100644 libjava/gnu/javax/crypto/prng/Fortuna.h
 create mode 100644 libjava/gnu/javax/crypto/prng/ICMGenerator.h
 create mode 100644 libjava/gnu/javax/crypto/prng/IPBE.h
 create mode 100644 libjava/gnu/javax/crypto/prng/PBKDF2.h
 create mode 100644 libjava/gnu/javax/crypto/prng/PRNGFactory.h
 create mode 100644 libjava/gnu/javax/crypto/prng/UMacGenerator.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/AuthInfo.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/ClientFactory.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/ClientMechanism.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/ConfidentialityException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/InputBuffer.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/IntegrityException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/NoSuchUserException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/OutputBuffer.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/SaslEncodingException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/SaslInputStream.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/SaslOutputStream.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/SaslUtil.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/ServerFactory.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/ServerMechanism.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainClient.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/plain/PlainServer.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/CALG.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/ClientStore.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/IALG.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/KDF.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRP.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPClient.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SRPServer.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/ServerStore.h
 create mode 100644 libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h
 create mode 100644 libjava/gnu/javax/imageio/IIOInputStream.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPDecoder.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPEncoder.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPException.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPFileHeader.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageReader.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageWriter.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeBF16.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeBF32.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB1.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB24.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB4.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRGB8.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRLE4.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/DecodeRLE8.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB1.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB16.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB24.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB32.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB4.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRGB8.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRLE4.h
 create mode 100644 libjava/gnu/javax/imageio/bmp/EncodeRLE8.h
 create mode 100644 libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h
 create mode 100644 libjava/gnu/javax/imageio/gif/GIFFile.h
 create mode 100644 libjava/gnu/javax/imageio/gif/GIFImageReader.h
 create mode 100644 libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/DCT.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/HuffmanTable.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGComponent.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGException.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGFrame.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGMarker.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/JPEGScan.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h
 create mode 100644 libjava/gnu/javax/imageio/jpeg/ZigZag.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGChunk.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGData.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGDecoder.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGEncoder.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGException.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGFile.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGFilter.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGGamma.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGHeader.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGICCProfile.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGImageReader.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGPalette.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGPhys.h
 create mode 100644 libjava/gnu/javax/imageio/png/PNGTime.h
 create mode 100644 libjava/gnu/javax/management/ListenerData.h
 create mode 100644 libjava/gnu/javax/management/Server$LazyListenersHolder.h
 create mode 100644 libjava/gnu/javax/management/Server$ServerInfo.h
 create mode 100644 libjava/gnu/javax/management/Server$ServerInputStream.h
 create mode 100644 libjava/gnu/javax/management/Server$ServerNotificationListener.h
 create mode 100644 libjava/gnu/javax/management/Server.h
 create mode 100644 libjava/gnu/javax/management/Translator.h
 create mode 100644 libjava/gnu/javax/naming/giop/ContextContinuation.h
 create mode 100644 libjava/gnu/javax/naming/giop/CorbalocParser.h
 create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h
 create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h
 create mode 100644 libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h
 create mode 100644 libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/giop/ListEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h
 create mode 100644 libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h
 create mode 100644 libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h
 create mode 100644 libjava/gnu/javax/net/ssl/AbstractSessionContext.h
 create mode 100644 libjava/gnu/javax/net/ssl/EntropySource.h
 create mode 100644 libjava/gnu/javax/net/ssl/NullManagerParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/PreSharedKeyManager.h
 create mode 100644 libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/PrivateCredentials.h
 create mode 100644 libjava/gnu/javax/net/ssl/SRPManagerParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/SRPTrustManager.h
 create mode 100644 libjava/gnu/javax/net/ssl/SSLCipherSuite.h
 create mode 100644 libjava/gnu/javax/net/ssl/SSLProtocolVersion.h
 create mode 100644 libjava/gnu/javax/net/ssl/SSLRecordHandler.h
 create mode 100644 libjava/gnu/javax/net/ssl/Session$ID.h
 create mode 100644 libjava/gnu/javax/net/ssl/Session.h
 create mode 100644 libjava/gnu/javax/net/ssl/SessionStoreException.h
 create mode 100644 libjava/gnu/javax/net/ssl/StaticTrustAnchors.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert$Description.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert$Level.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Alert.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/AlertException.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Builder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Certificate.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequest.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateURL.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CertificateVerify.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuite.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHandshake.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHello.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethod.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Constructed.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ContentType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Debug.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/DelegatedTask.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/DiffieHellman.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension$Type.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension$Value.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Extension.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ExtensionList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Finished.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$Body.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake$Type.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Handshake.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/HelloRequest.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Jessie$1.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Jessie.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/MacException.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Random.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Record.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLHMac.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLRandom.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerDHParams.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHandshake.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHello.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerNameList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SessionImpl.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Signature.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TLSHMac.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TLSRandom.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$1.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$2.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/Util.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h
 create mode 100644 libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h
 create mode 100644 libjava/gnu/javax/print/CupsIppOperation.h
 create mode 100644 libjava/gnu/javax/print/CupsMediaMapping.h
 create mode 100644 libjava/gnu/javax/print/CupsPrintService.h
 create mode 100644 libjava/gnu/javax/print/CupsPrintServiceLookup.h
 create mode 100644 libjava/gnu/javax/print/CupsServer.h
 create mode 100644 libjava/gnu/javax/print/PrintAttributeException.h
 create mode 100644 libjava/gnu/javax/print/PrintFlavorException.h
 create mode 100644 libjava/gnu/javax/print/PrintUriException.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h
 create mode 100644 libjava/gnu/javax/print/PrinterDialog.h
 create mode 100644 libjava/gnu/javax/print/ipp/DocPrintJobImpl.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppDelimiterTag.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppException.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppPrintService.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppRequest.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppResponse.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppStatusCode.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppUtilities.h
 create mode 100644 libjava/gnu/javax/print/ipp/IppValueTag.h
 create mode 100644 libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/StatusMessage.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobId.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/job/JobUri.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h
 create mode 100644 libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/CorbaInput.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/CorbaOutput.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/DelegateFactory.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/RmiUtilities.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h
 create mode 100644 libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h
 create mode 100644 libjava/gnu/javax/security/auth/Password.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/CertificateCallback.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/GnuCallbacks.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h
 create mode 100644 libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h
 create mode 100644 libjava/gnu/javax/security/auth/login/ConfigFileParser.h
 create mode 100644 libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h
 create mode 100644 libjava/gnu/javax/security/auth/login/GnuConfiguration.h
 create mode 100644 libjava/gnu/javax/sound/AudioSecurityManager$Permission.h
 create mode 100644 libjava/gnu/javax/sound/AudioSecurityManager.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h
 create mode 100644 libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h
 create mode 100644 libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h
 create mode 100644 libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h
 create mode 100644 libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h
 create mode 100644 libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h
 create mode 100644 libjava/gnu/javax/sound/midi/file/MidiFileReader.h
 create mode 100644 libjava/gnu/javax/sound/midi/file/MidiFileWriter.h
 create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h
 create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h
 create mode 100644 libjava/gnu/javax/sound/sampled/AU/AUReader.h
 create mode 100644 libjava/gnu/javax/sound/sampled/WAV/WAVReader.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer$GstInfo.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer$GstHeader.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileWriter.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/io/GstInputStream.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$CleanPipeline.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$State.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.h
 create mode 100644 libjava/gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.h
 create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h
 create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h
 create mode 100644 libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h
 create mode 100644 libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h
 create mode 100644 libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h
 create mode 100644 libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h
 create mode 100644 libjava/gnu/javax/swing/text/html/CombinedAttributes.h
 create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h
 create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h
 create mode 100644 libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/BorderStyle.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/BorderWidth.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSColor.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParser$1.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParser.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSParserException.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/CSSScanner.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/FontSize.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/FontStyle.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/FontWeight.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/Length.h
 create mode 100644 libjava/gnu/javax/swing/text/html/css/Selector.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/HTML_401F.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/gnuDTD.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/htmlValidator.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/list.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/node.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/models/transformer.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/Parser.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Location.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/Token.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/node.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h
 create mode 100644 libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h
 create mode 100644 libjava/gnu/javax/swing/tree/GnuPath.h

(limited to 'libjava/gnu/javax')

diff --git a/libjava/gnu/javax/activation/viewers/ImageViewer.h b/libjava/gnu/javax/activation/viewers/ImageViewer.h
new file mode 100644
index 000000000..bda76a6f0
--- /dev/null
+++ b/libjava/gnu/javax/activation/viewers/ImageViewer.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_activation_viewers_ImageViewer__
+#define __gnu_javax_activation_viewers_ImageViewer__
+
+#pragma interface
+
+#include <java/awt/Component.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace activation
+      {
+        namespace viewers
+        {
+            class ImageViewer;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Dimension;
+        class Graphics;
+        class Image;
+    }
+  }
+  namespace javax
+  {
+    namespace activation
+    {
+        class DataHandler;
+    }
+  }
+}
+
+class gnu::javax::activation::viewers::ImageViewer : public ::java::awt::Component
+{
+
+public:
+  ImageViewer();
+  virtual ::java::awt::Dimension * getPreferredSize();
+  virtual void setCommandContext(::java::lang::String *, ::javax::activation::DataHandler *);
+  virtual jboolean imageUpdate(::java::awt::Image *, jint, jint, jint, jint, jint);
+  virtual void paint(::java::awt::Graphics *);
+private:
+  ::java::awt::Image * __attribute__((aligned(__alignof__( ::java::awt::Component)))) image;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_activation_viewers_ImageViewer__
diff --git a/libjava/gnu/javax/activation/viewers/TextEditor.h b/libjava/gnu/javax/activation/viewers/TextEditor.h
new file mode 100644
index 000000000..0047d43c9
--- /dev/null
+++ b/libjava/gnu/javax/activation/viewers/TextEditor.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_activation_viewers_TextEditor__
+#define __gnu_javax_activation_viewers_TextEditor__
+
+#pragma interface
+
+#include <java/awt/TextArea.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace activation
+      {
+        namespace viewers
+        {
+            class TextEditor;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Dimension;
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace activation
+    {
+        class DataHandler;
+    }
+  }
+}
+
+class gnu::javax::activation::viewers::TextEditor : public ::java::awt::TextArea
+{
+
+public:
+  TextEditor();
+  virtual ::java::awt::Dimension * getPreferredSize();
+  virtual void setCommandContext(::java::lang::String *, ::javax::activation::DataHandler *);
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+private:
+  ::javax::activation::DataHandler * __attribute__((aligned(__alignof__( ::java::awt::TextArea)))) dh;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_activation_viewers_TextEditor__
diff --git a/libjava/gnu/javax/activation/viewers/TextViewer.h b/libjava/gnu/javax/activation/viewers/TextViewer.h
new file mode 100644
index 000000000..56c5f795f
--- /dev/null
+++ b/libjava/gnu/javax/activation/viewers/TextViewer.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_activation_viewers_TextViewer__
+#define __gnu_javax_activation_viewers_TextViewer__
+
+#pragma interface
+
+#include <java/awt/TextArea.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace activation
+      {
+        namespace viewers
+        {
+            class TextViewer;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Dimension;
+    }
+  }
+  namespace javax
+  {
+    namespace activation
+    {
+        class DataHandler;
+    }
+  }
+}
+
+class gnu::javax::activation::viewers::TextViewer : public ::java::awt::TextArea
+{
+
+public:
+  TextViewer();
+  virtual ::java::awt::Dimension * getPreferredSize();
+  virtual void setCommandContext(::java::lang::String *, ::javax::activation::DataHandler *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_activation_viewers_TextViewer__
diff --git a/libjava/gnu/javax/crypto/RSACipherImpl.h b/libjava/gnu/javax/crypto/RSACipherImpl.h
new file mode 100644
index 000000000..9f6775987
--- /dev/null
+++ b/libjava/gnu/javax/crypto/RSACipherImpl.h
@@ -0,0 +1,91 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_RSACipherImpl__
+#define __gnu_javax_crypto_RSACipherImpl__
+
+#pragma interface
+
+#include <javax/crypto/CipherSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+          class RSACipherImpl;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace interfaces
+      {
+          class RSAPrivateKey;
+          class RSAPublicKey;
+      }
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::RSACipherImpl : public ::javax::crypto::CipherSpi
+{
+
+public:
+  RSACipherImpl();
+public: // actually protected
+  virtual void engineSetMode(::java::lang::String *);
+  virtual void engineSetPadding(::java::lang::String *);
+  virtual jint engineGetBlockSize();
+  virtual jint engineGetOutputSize(jint);
+  virtual jint engineGetKeySize(::java::security::Key *);
+  virtual JArray< jbyte > * engineGetIV();
+  virtual ::java::security::AlgorithmParameters * engineGetParameters();
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+  virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint);
+  virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint);
+  virtual jint engineDoFinal(JArray< jbyte > *, jint);
+  virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+private:
+  JArray< jbyte > * rsaDecrypt(::java::math::BigInteger *);
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  static JArray< jbyte > * EMPTY;
+  jint __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) opmode;
+  ::java::security::interfaces::RSAPrivateKey * decipherKey;
+  ::java::security::interfaces::RSAPublicKey * blindingKey;
+  ::java::security::interfaces::RSAPublicKey * encipherKey;
+  ::java::security::SecureRandom * random;
+  JArray< jbyte > * dataBuffer;
+  jint pos;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_RSACipherImpl__
diff --git a/libjava/gnu/javax/crypto/assembly/Assembly.h b/libjava/gnu/javax/crypto/assembly/Assembly.h
new file mode 100644
index 000000000..81c2fece1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Assembly.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Assembly__
+#define __gnu_javax_crypto_assembly_Assembly__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Assembly;
+            class Direction;
+            class Operation;
+            class Transformer;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Assembly : public ::java::lang::Object
+{
+
+public:
+  Assembly();
+  virtual void addPreTransformer(::gnu::javax::crypto::assembly::Transformer *);
+  virtual void addPostTransformer(::gnu::javax::crypto::assembly::Transformer *);
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+  virtual JArray< jbyte > * update(jbyte);
+  virtual JArray< jbyte > * update(JArray< jbyte > *);
+  virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * lastUpdate();
+  virtual JArray< jbyte > * lastUpdate(jbyte);
+  virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *);
+  virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *, jint, jint);
+private:
+  void wireTransformer(::gnu::javax::crypto::assembly::Transformer *, ::gnu::javax::crypto::assembly::Operation *);
+public:
+  static ::java::lang::String * DIRECTION;
+private:
+  ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) wired;
+  ::gnu::javax::crypto::assembly::Transformer * head;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Assembly__
diff --git a/libjava/gnu/javax/crypto/assembly/Cascade.h b/libjava/gnu/javax/crypto/assembly/Cascade.h
new file mode 100644
index 000000000..88f82383c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Cascade.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Cascade__
+#define __gnu_javax_crypto_assembly_Cascade__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Cascade;
+            class Direction;
+            class Stage;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Cascade : public ::java::lang::Object
+{
+
+public:
+  Cascade();
+private:
+  static jint lcm(jint, jint);
+public:
+  virtual ::java::lang::Object * append(::gnu::javax::crypto::assembly::Stage *);
+  virtual ::java::lang::Object * prepend(::gnu::javax::crypto::assembly::Stage *);
+  virtual ::java::lang::Object * insert(jint, ::gnu::javax::crypto::assembly::Stage *);
+  virtual jint size();
+  virtual ::java::util::Iterator * stages();
+  virtual ::java::util::Set * blockSizes();
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize();
+  virtual void reset();
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual jboolean selfTest();
+  static ::java::lang::String * DIRECTION;
+public: // actually protected
+  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) stages__;
+  ::java::util::LinkedList * stageKeys;
+  ::gnu::javax::crypto::assembly::Direction * wired;
+  jint blockSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Cascade__
diff --git a/libjava/gnu/javax/crypto/assembly/CascadeStage.h b/libjava/gnu/javax/crypto/assembly/CascadeStage.h
new file mode 100644
index 000000000..b36ee47c9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/CascadeStage.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_CascadeStage__
+#define __gnu_javax_crypto_assembly_CascadeStage__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Stage.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Cascade;
+            class CascadeStage;
+            class Direction;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::CascadeStage : public ::gnu::javax::crypto::assembly::Stage
+{
+
+public: // actually package-private
+  CascadeStage(::gnu::javax::crypto::assembly::Cascade *, ::gnu::javax::crypto::assembly::Direction *);
+public:
+  virtual ::java::util::Set * blockSizes();
+public: // actually package-private
+  virtual void initDelegate(::java::util::Map *);
+public:
+  virtual jint currentBlockSize();
+public: // actually package-private
+  virtual void resetDelegate();
+  virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+public:
+  virtual jboolean selfTest();
+private:
+  ::gnu::javax::crypto::assembly::Cascade * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Stage)))) delegate;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_CascadeStage__
diff --git a/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h b/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h
new file mode 100644
index 000000000..780d2582f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/CascadeTransformer.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_CascadeTransformer__
+#define __gnu_javax_crypto_assembly_CascadeTransformer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Transformer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Cascade;
+            class CascadeTransformer;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::CascadeTransformer : public ::gnu::javax::crypto::assembly::Transformer
+{
+
+public: // actually package-private
+  CascadeTransformer(::gnu::javax::crypto::assembly::Cascade *);
+  virtual void initDelegate(::java::util::Map *);
+  virtual jint delegateBlockSize();
+  virtual void resetDelegate();
+  virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * lastUpdateDelegate();
+private:
+  JArray< jbyte > * updateInternal(JArray< jbyte > *, jint, jint);
+  ::gnu::javax::crypto::assembly::Cascade * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) delegate;
+  jint blockSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_CascadeTransformer__
diff --git a/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h b/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h
new file mode 100644
index 000000000..7021c177e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/DeflateTransformer.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_DeflateTransformer__
+#define __gnu_javax_crypto_assembly_DeflateTransformer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Transformer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class DeflateTransformer;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::DeflateTransformer : public ::gnu::javax::crypto::assembly::Transformer
+{
+
+public: // actually package-private
+  DeflateTransformer();
+  virtual void initDelegate(::java::util::Map *);
+  virtual jint delegateBlockSize();
+  virtual void resetDelegate();
+  virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * lastUpdateDelegate();
+private:
+  void compress();
+  void decompress(JArray< jbyte > *, jint, jint);
+  ::java::util::zip::Deflater * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) compressor;
+  ::java::util::zip::Inflater * decompressor;
+  jint outputBlockSize;
+  JArray< jbyte > * zlibBuffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_DeflateTransformer__
diff --git a/libjava/gnu/javax/crypto/assembly/Direction.h b/libjava/gnu/javax/crypto/assembly/Direction.h
new file mode 100644
index 000000000..207a55f0d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Direction.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Direction__
+#define __gnu_javax_crypto_assembly_Direction__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Direction;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Direction : public ::java::lang::Object
+{
+
+  Direction(jint);
+public:
+  static ::gnu::javax::crypto::assembly::Direction * reverse(::gnu::javax::crypto::assembly::Direction *);
+  ::java::lang::String * toString();
+  static ::gnu::javax::crypto::assembly::Direction * FORWARD;
+  static ::gnu::javax::crypto::assembly::Direction * REVERSED;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Direction__
diff --git a/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h b/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h
new file mode 100644
index 000000000..bf6ccc90c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/LoopbackTransformer.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_LoopbackTransformer__
+#define __gnu_javax_crypto_assembly_LoopbackTransformer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Transformer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class LoopbackTransformer;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::LoopbackTransformer : public ::gnu::javax::crypto::assembly::Transformer
+{
+
+public: // actually package-private
+  LoopbackTransformer();
+public:
+  void init(::java::util::Map *);
+  void reset();
+  JArray< jbyte > * update(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * lastUpdate();
+public: // actually package-private
+  void initDelegate(::java::util::Map *);
+  jint delegateBlockSize();
+  void resetDelegate();
+  JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * lastUpdateDelegate();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_LoopbackTransformer__
diff --git a/libjava/gnu/javax/crypto/assembly/ModeStage.h b/libjava/gnu/javax/crypto/assembly/ModeStage.h
new file mode 100644
index 000000000..760df956c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/ModeStage.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_ModeStage__
+#define __gnu_javax_crypto_assembly_ModeStage__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Stage.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Direction;
+            class ModeStage;
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::ModeStage : public ::gnu::javax::crypto::assembly::Stage
+{
+
+public: // actually package-private
+  ModeStage(::gnu::javax::crypto::mode::IMode *, ::gnu::javax::crypto::assembly::Direction *);
+public:
+  virtual ::java::util::Set * blockSizes();
+public: // actually package-private
+  virtual void initDelegate(::java::util::Map *);
+public:
+  virtual jint currentBlockSize();
+public: // actually package-private
+  virtual void resetDelegate();
+  virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+public:
+  virtual jboolean selfTest();
+private:
+  ::gnu::javax::crypto::mode::IMode * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Stage)))) delegate;
+  ::java::util::Set * cachedBlockSizes;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_ModeStage__
diff --git a/libjava/gnu/javax/crypto/assembly/Operation.h b/libjava/gnu/javax/crypto/assembly/Operation.h
new file mode 100644
index 000000000..792a1bad5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Operation.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Operation__
+#define __gnu_javax_crypto_assembly_Operation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Operation;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Operation : public ::java::lang::Object
+{
+
+  Operation(jint);
+public:
+  ::java::lang::String * toString();
+  static ::gnu::javax::crypto::assembly::Operation * PRE_PROCESSING;
+  static ::gnu::javax::crypto::assembly::Operation * POST_PROCESSING;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Operation__
diff --git a/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h b/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h
new file mode 100644
index 000000000..6a16b608e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/PaddingTransformer.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_PaddingTransformer__
+#define __gnu_javax_crypto_assembly_PaddingTransformer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/assembly/Transformer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class PaddingTransformer;
+        }
+        namespace pad
+        {
+            class IPad;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::PaddingTransformer : public ::gnu::javax::crypto::assembly::Transformer
+{
+
+public: // actually package-private
+  PaddingTransformer(::gnu::javax::crypto::pad::IPad *);
+  virtual void initDelegate(::java::util::Map *);
+  virtual jint delegateBlockSize();
+  virtual void resetDelegate();
+  virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * lastUpdateDelegate();
+private:
+  ::gnu::javax::crypto::pad::IPad * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::assembly::Transformer)))) delegate;
+  jint outputBlockSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_PaddingTransformer__
diff --git a/libjava/gnu/javax/crypto/assembly/Stage.h b/libjava/gnu/javax/crypto/assembly/Stage.h
new file mode 100644
index 000000000..799ef5e69
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Stage.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Stage__
+#define __gnu_javax_crypto_assembly_Stage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Cascade;
+            class Direction;
+            class Stage;
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Stage : public ::java::lang::Object
+{
+
+public: // actually protected
+  Stage(::gnu::javax::crypto::assembly::Direction *);
+public:
+  static ::gnu::javax::crypto::assembly::Stage * getInstance(::gnu::javax::crypto::mode::IMode *, ::gnu::javax::crypto::assembly::Direction *);
+  static ::gnu::javax::crypto::assembly::Stage * getInstance(::gnu::javax::crypto::assembly::Cascade *, ::gnu::javax::crypto::assembly::Direction *);
+  virtual ::java::util::Set * blockSizes() = 0;
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize() = 0;
+  virtual void reset();
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual jboolean selfTest() = 0;
+public: // actually package-private
+  virtual void initDelegate(::java::util::Map *) = 0;
+  virtual void resetDelegate() = 0;
+  virtual void updateDelegate(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+public:
+  static ::java::lang::String * DIRECTION;
+public: // actually protected
+  ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) forward;
+  ::gnu::javax::crypto::assembly::Direction * wired;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Stage__
diff --git a/libjava/gnu/javax/crypto/assembly/Transformer.h b/libjava/gnu/javax/crypto/assembly/Transformer.h
new file mode 100644
index 000000000..1860d3d30
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/Transformer.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_Transformer__
+#define __gnu_javax_crypto_assembly_Transformer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Cascade;
+            class Direction;
+            class Operation;
+            class Transformer;
+        }
+        namespace pad
+        {
+            class IPad;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::Transformer : public ::java::lang::Object
+{
+
+public: // actually protected
+  Transformer();
+public:
+  static ::gnu::javax::crypto::assembly::Transformer * getCascadeTransformer(::gnu::javax::crypto::assembly::Cascade *);
+  static ::gnu::javax::crypto::assembly::Transformer * getPaddingTransformer(::gnu::javax::crypto::pad::IPad *);
+  static ::gnu::javax::crypto::assembly::Transformer * getDeflateTransformer();
+  virtual void setMode(::gnu::javax::crypto::assembly::Operation *);
+  virtual jboolean isPreProcessing();
+  virtual jboolean isPostProcessing();
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize();
+  virtual void reset();
+  virtual JArray< jbyte > * update(jbyte);
+  virtual JArray< jbyte > * update(JArray< jbyte > *);
+  virtual JArray< jbyte > * update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * lastUpdate();
+  virtual JArray< jbyte > * lastUpdate(jbyte);
+  virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *);
+  virtual JArray< jbyte > * lastUpdate(JArray< jbyte > *, jint, jint);
+private:
+  JArray< jbyte > * forwardUpdate(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * inverseUpdate(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * preTransform(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * postTransform(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * lastForwardUpdate();
+  JArray< jbyte > * lastInverseUpdate();
+  JArray< jbyte > * preLastTransform();
+  JArray< jbyte > * postLastTransform();
+public: // actually package-private
+  virtual void initDelegate(::java::util::Map *) = 0;
+  virtual jint delegateBlockSize() = 0;
+  virtual void resetDelegate() = 0;
+  virtual JArray< jbyte > * updateDelegate(JArray< jbyte > *, jint, jint) = 0;
+  virtual JArray< jbyte > * lastUpdateDelegate() = 0;
+public:
+  static ::java::lang::String * DIRECTION;
+public: // actually protected
+  ::gnu::javax::crypto::assembly::Direction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) wired;
+  ::gnu::javax::crypto::assembly::Operation * mode;
+  ::gnu::javax::crypto::assembly::Transformer * tail;
+  ::java::io::ByteArrayOutputStream * inBuffer;
+  ::java::io::ByteArrayOutputStream * outBuffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_Transformer__
diff --git a/libjava/gnu/javax/crypto/assembly/TransformerException.h b/libjava/gnu/javax/crypto/assembly/TransformerException.h
new file mode 100644
index 000000000..cb9e92a4f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/assembly/TransformerException.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_assembly_TransformerException__
+#define __gnu_javax_crypto_assembly_TransformerException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class TransformerException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::assembly::TransformerException : public ::java::lang::Exception
+{
+
+public:
+  TransformerException();
+  TransformerException(::java::lang::String *);
+  TransformerException(::java::lang::Throwable *);
+  TransformerException(::java::lang::String *, ::java::lang::Throwable *);
+  virtual ::java::lang::Throwable * getCause();
+  virtual void printStackTrace();
+  virtual void printStackTrace(::java::io::PrintStream *);
+  virtual void printStackTrace(::java::io::PrintWriter *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) _exception;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_assembly_TransformerException__
diff --git a/libjava/gnu/javax/crypto/cipher/Anubis.h b/libjava/gnu/javax/crypto/cipher/Anubis.h
new file mode 100644
index 000000000..b9a40b847
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Anubis.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Anubis__
+#define __gnu_javax_crypto_cipher_Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Anubis;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Anubis : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Anubis();
+private:
+  static void anubis(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *);
+public:
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+private:
+  static ::java::util::logging::Logger * log;
+  static const jint DEFAULT_BLOCK_SIZE = 16;
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static ::java::lang::String * Sd;
+  static JArray< jbyte > * S;
+  static JArray< jint > * T0;
+  static JArray< jint > * T1;
+  static JArray< jint > * T2;
+  static JArray< jint > * T3;
+  static JArray< jint > * T4;
+  static JArray< jint > * T5;
+  static JArray< jint > * rc;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Anubis__
diff --git a/libjava/gnu/javax/crypto/cipher/BaseCipher.h b/libjava/gnu/javax/crypto/cipher/BaseCipher.h
new file mode 100644
index 000000000..bb6437df6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/BaseCipher.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_BaseCipher__
+#define __gnu_javax_crypto_cipher_BaseCipher__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class BaseCipher;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::BaseCipher : public ::java::lang::Object
+{
+
+public: // actually protected
+  BaseCipher(::java::lang::String *, jint, jint);
+public:
+  virtual ::java::lang::Object * clone() = 0;
+  virtual ::java::lang::String * name();
+  virtual jint defaultBlockSize();
+  virtual jint defaultKeySize();
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize();
+  virtual void reset();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual jboolean selfTest();
+private:
+  jboolean testSymmetry(jint, jint);
+public: // actually protected
+  virtual jboolean testKat(JArray< jbyte > *, JArray< jbyte > *);
+  virtual jboolean testKat(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+public:
+  virtual ::java::util::Iterator * blockSizes() = 0;
+  virtual ::java::util::Iterator * keySizes() = 0;
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint) = 0;
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0;
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0;
+private:
+  static ::java::util::logging::Logger * log;
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+  jint defaultBlockSize__;
+  jint defaultKeySize__;
+  jint currentBlockSize__;
+  ::java::lang::Object * currentKey;
+  ::java::lang::Object * lock;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_BaseCipher__
diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h b/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h
new file mode 100644
index 000000000..738cb3732
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Blowfish$Block.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Blowfish$Block__
+#define __gnu_javax_crypto_cipher_Blowfish$Block__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Blowfish;
+            class Blowfish$Block;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Blowfish$Block : public ::java::lang::Object
+{
+
+  Blowfish$Block(::gnu::javax::crypto::cipher::Blowfish *);
+public: // actually package-private
+  Blowfish$Block(::gnu::javax::crypto::cipher::Blowfish *, ::gnu::javax::crypto::cipher::Blowfish$Block *);
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) left;
+  jint right;
+  ::gnu::javax::crypto::cipher::Blowfish * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Blowfish$Block__
diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h b/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h
new file mode 100644
index 000000000..74c9087ea
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Blowfish$Context.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Blowfish$Context__
+#define __gnu_javax_crypto_cipher_Blowfish$Context__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Blowfish;
+            class Blowfish$Context;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Blowfish$Context : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Blowfish$Context(::gnu::javax::crypto::cipher::Blowfish *);
+private:
+  Blowfish$Context(::gnu::javax::crypto::cipher::Blowfish *, ::gnu::javax::crypto::cipher::Blowfish$Context *);
+public:
+  virtual ::java::lang::Object * clone();
+public: // actually package-private
+  JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) p;
+  JArray< jint > * s0;
+  JArray< jint > * s1;
+  JArray< jint > * s2;
+  JArray< jint > * s3;
+  ::gnu::javax::crypto::cipher::Blowfish * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Blowfish$Context__
diff --git a/libjava/gnu/javax/crypto/cipher/Blowfish.h b/libjava/gnu/javax/crypto/cipher/Blowfish.h
new file mode 100644
index 000000000..dac15df6c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Blowfish.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Blowfish__
+#define __gnu_javax_crypto_cipher_Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Blowfish;
+            class Blowfish$Block;
+            class Blowfish$Context;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Blowfish : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Blowfish();
+  virtual ::java::lang::Object * clone();
+  virtual ::java::util::Iterator * keySizes();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+private:
+  void blowfishEncrypt(::gnu::javax::crypto::cipher::Blowfish$Block *, ::gnu::javax::crypto::cipher::Blowfish$Context *);
+  void blowfishDecrypt(::gnu::javax::crypto::cipher::Blowfish$Block *, ::gnu::javax::crypto::cipher::Blowfish$Context *);
+public:
+  virtual jboolean selfTest();
+private:
+  static const jint DEFAULT_BLOCK_SIZE = 8;
+  static const jint DEFAULT_KEY_SIZE = 8;
+  static const jint MAX_KEY_LENGTH = 56;
+  static JArray< jint > * P;
+public: // actually package-private
+  static JArray< jint > * KS0;
+private:
+  static JArray< jint > * KS1;
+  static JArray< jint > * KS2;
+  static JArray< jint > * KS3;
+  static ::java::lang::Boolean * valid;
+  static JArray< jbyte > * TV_KEY;
+  static JArray< jbyte > * TV_CT;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Blowfish__
diff --git a/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h b/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h
new file mode 100644
index 000000000..7f1ecc056
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Cast5$Cast5Key.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Cast5$Cast5Key__
+#define __gnu_javax_crypto_cipher_Cast5$Cast5Key__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Cast5;
+            class Cast5$Cast5Key;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Cast5$Cast5Key : public ::java::lang::Object
+{
+
+  Cast5$Cast5Key(::gnu::javax::crypto::cipher::Cast5 *);
+public: // actually package-private
+  Cast5$Cast5Key(::gnu::javax::crypto::cipher::Cast5 *, ::gnu::javax::crypto::cipher::Cast5$Cast5Key *);
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) rounds;
+  jint Km0;
+  jint Km1;
+  jint Km2;
+  jint Km3;
+  jint Km4;
+  jint Km5;
+  jint Km6;
+  jint Km7;
+  jint Km8;
+  jint Km9;
+  jint Km10;
+  jint Km11;
+  jint Km12;
+  jint Km13;
+  jint Km14;
+  jint Km15;
+  jint Kr0;
+  jint Kr1;
+  jint Kr2;
+  jint Kr3;
+  jint Kr4;
+  jint Kr5;
+  jint Kr6;
+  jint Kr7;
+  jint Kr8;
+  jint Kr9;
+  jint Kr10;
+  jint Kr11;
+  jint Kr12;
+  jint Kr13;
+  jint Kr14;
+  jint Kr15;
+  ::gnu::javax::crypto::cipher::Cast5 * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Cast5$Cast5Key__
diff --git a/libjava/gnu/javax/crypto/cipher/Cast5.h b/libjava/gnu/javax/crypto/cipher/Cast5.h
new file mode 100644
index 000000000..40cebee7c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Cast5.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Cast5__
+#define __gnu_javax_crypto_cipher_Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Cast5;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Cast5 : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Cast5();
+private:
+  static JArray< jint > * unscramble(jint);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual jboolean selfTest();
+private:
+  jint f1(jint, jint, jint);
+  jint f2(jint, jint, jint);
+  jint f3(jint, jint, jint);
+  static const jint DEFAULT_BLOCK_SIZE = 8;
+  static const jint DEFAULT_KEY_SIZE = 5;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_PT;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+  static JArray< jint > * S1;
+  static JArray< jint > * S2;
+  static JArray< jint > * S3;
+  static JArray< jint > * S4;
+  static JArray< jint > * S5;
+  static JArray< jint > * S6;
+  static JArray< jint > * S7;
+  static JArray< jint > * S8;
+  static const jint _12_ROUNDS = 12;
+  static const jint _16_ROUNDS = 16;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Cast5__
diff --git a/libjava/gnu/javax/crypto/cipher/CipherFactory.h b/libjava/gnu/javax/crypto/cipher/CipherFactory.h
new file mode 100644
index 000000000..97f49ea79
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/CipherFactory.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_CipherFactory__
+#define __gnu_javax_crypto_cipher_CipherFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class CipherFactory;
+            class IBlockCipher;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::CipherFactory : public ::java::lang::Object
+{
+
+  CipherFactory();
+public:
+  static ::gnu::javax::crypto::cipher::IBlockCipher * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_CipherFactory__
diff --git a/libjava/gnu/javax/crypto/cipher/DES$Context.h b/libjava/gnu/javax/crypto/cipher/DES$Context.h
new file mode 100644
index 000000000..f25456f4d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/DES$Context.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_DES$Context__
+#define __gnu_javax_crypto_cipher_DES$Context__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class DES;
+            class DES$Context;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::DES$Context : public ::java::lang::Object
+{
+
+public: // actually package-private
+  DES$Context(::gnu::javax::crypto::cipher::DES *);
+  JArray< jbyte > * getEncryptionKeyBytes();
+  JArray< jbyte > * getDecryptionKeyBytes();
+  JArray< jbyte > * toByteArray(JArray< jint > *);
+private:
+  static const jint EXPANDED_KEY_SIZE = 32;
+public: // actually package-private
+  JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) ek;
+  JArray< jint > * dk;
+  ::gnu::javax::crypto::cipher::DES * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_DES$Context__
diff --git a/libjava/gnu/javax/crypto/cipher/DES.h b/libjava/gnu/javax/crypto/cipher/DES.h
new file mode 100644
index 000000000..a5830d835
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/DES.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_DES__
+#define __gnu_javax_crypto_cipher_DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class DES;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::DES : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  DES();
+  static void adjustParity(JArray< jbyte > *, jint);
+  static jboolean isParityAdjusted(JArray< jbyte > *, jint);
+  static jboolean isWeak(JArray< jbyte > *);
+  static jboolean isSemiWeak(JArray< jbyte > *);
+  static jboolean isPossibleWeak(JArray< jbyte > *);
+private:
+  static void desFunc(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< jint > *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  static const jint BLOCK_SIZE = 8;
+  static const jint KEY_SIZE = 8;
+private:
+  static JArray< jint > * SP1;
+  static JArray< jint > * SP2;
+  static JArray< jint > * SP3;
+  static JArray< jint > * SP4;
+  static JArray< jint > * SP5;
+  static JArray< jint > * SP6;
+  static JArray< jint > * SP7;
+  static JArray< jint > * SP8;
+  static JArray< jbyte > * PARITY;
+  static JArray< jbyte > * ROTARS;
+  static JArray< jbyte > * PC1;
+  static JArray< jbyte > * PC2;
+public:
+  static JArray< JArray< jbyte > * > * WEAK_KEYS;
+  static JArray< JArray< jbyte > * > * SEMIWEAK_KEYS;
+  static JArray< JArray< jbyte > * > * POSSIBLE_WEAK_KEYS;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_DES__
diff --git a/libjava/gnu/javax/crypto/cipher/IBlockCipher.h b/libjava/gnu/javax/crypto/cipher/IBlockCipher.h
new file mode 100644
index 000000000..662389b26
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/IBlockCipher.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_IBlockCipher__
+#define __gnu_javax_crypto_cipher_IBlockCipher__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::IBlockCipher : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::String * name() = 0;
+  virtual jint defaultBlockSize() = 0;
+  virtual jint defaultKeySize() = 0;
+  virtual ::java::util::Iterator * blockSizes() = 0;
+  virtual ::java::util::Iterator * keySizes() = 0;
+  virtual ::java::lang::Object * clone() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual jint currentBlockSize() = 0;
+  virtual void reset() = 0;
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual jboolean selfTest() = 0;
+  static ::java::lang::String * CIPHER_BLOCK_SIZE;
+  static ::java::lang::String * KEY_MATERIAL;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_cipher_IBlockCipher__
diff --git a/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h b/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h
new file mode 100644
index 000000000..35e686dda
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/IBlockCipherSpi.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_IBlockCipherSpi__
+#define __gnu_javax_crypto_cipher_IBlockCipherSpi__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipherSpi;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::IBlockCipherSpi : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::util::Iterator * blockSizes() = 0;
+  virtual ::java::util::Iterator * keySizes() = 0;
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint) = 0;
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0;
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint) = 0;
+  virtual jboolean selfTest() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_cipher_IBlockCipherSpi__
diff --git a/libjava/gnu/javax/crypto/cipher/Khazad.h b/libjava/gnu/javax/crypto/cipher/Khazad.h
new file mode 100644
index 000000000..734bab28e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Khazad.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Khazad__
+#define __gnu_javax_crypto_cipher_Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Khazad;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Khazad : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Khazad();
+private:
+  static void khazad(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *);
+public:
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+private:
+  static ::java::util::logging::Logger * log;
+  static const jint DEFAULT_BLOCK_SIZE = 8;
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static const jint R = 8;
+  static ::java::lang::String * Sd;
+  static JArray< jbyte > * S;
+  static JArray< jint > * T0;
+  static JArray< jint > * T1;
+  static JArray< jint > * T2;
+  static JArray< jint > * T3;
+  static JArray< jint > * T4;
+  static JArray< jint > * T5;
+  static JArray< jint > * T6;
+  static JArray< jint > * T7;
+  static JArray< JArray< jint > * > * rc;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Khazad__
diff --git a/libjava/gnu/javax/crypto/cipher/NullCipher.h b/libjava/gnu/javax/crypto/cipher/NullCipher.h
new file mode 100644
index 000000000..5199488c5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/NullCipher.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_NullCipher__
+#define __gnu_javax_crypto_cipher_NullCipher__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class NullCipher;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::NullCipher : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  NullCipher();
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_NullCipher__
diff --git a/libjava/gnu/javax/crypto/cipher/Rijndael.h b/libjava/gnu/javax/crypto/cipher/Rijndael.h
new file mode 100644
index 000000000..2511bfe66
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Rijndael.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Rijndael__
+#define __gnu_javax_crypto_cipher_Rijndael__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Rijndael;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Rijndael : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Rijndael();
+  static jint getRounds(jint, jint);
+private:
+  static void rijndaelEncrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  static void rijndaelDecrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  static void aesEncrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *);
+  static void aesDecrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *);
+public:
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+private:
+  static ::java::util::logging::Logger * log;
+  static const jint DEFAULT_BLOCK_SIZE = 16;
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static ::java::lang::String * SS;
+  static JArray< jbyte > * S;
+  static JArray< jbyte > * Si;
+  static JArray< jint > * T1;
+  static JArray< jint > * T2;
+  static JArray< jint > * T3;
+  static JArray< jint > * T4;
+  static JArray< jint > * T5;
+  static JArray< jint > * T6;
+  static JArray< jint > * T7;
+  static JArray< jint > * T8;
+  static JArray< jint > * U1;
+  static JArray< jint > * U2;
+  static JArray< jint > * U3;
+  static JArray< jint > * U4;
+  static JArray< jbyte > * rcon;
+  static JArray< JArray< JArray< jint > * > * > * shifts;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Rijndael__
diff --git a/libjava/gnu/javax/crypto/cipher/Serpent$Key.h b/libjava/gnu/javax/crypto/cipher/Serpent$Key.h
new file mode 100644
index 000000000..ee098e01a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Serpent$Key.h
@@ -0,0 +1,175 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Serpent$Key__
+#define __gnu_javax_crypto_cipher_Serpent$Key__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Serpent;
+            class Serpent$Key;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Serpent$Key : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Serpent$Key(::gnu::javax::crypto::cipher::Serpent *);
+private:
+  Serpent$Key(::gnu::javax::crypto::cipher::Serpent *, ::gnu::javax::crypto::cipher::Serpent$Key *);
+public:
+  virtual ::java::lang::Object * clone();
+public: // actually package-private
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) k0;
+  jint k1;
+  jint k2;
+  jint k3;
+  jint k4;
+  jint k5;
+  jint k6;
+  jint k7;
+  jint k8;
+  jint k9;
+  jint k10;
+  jint k11;
+  jint k12;
+  jint k13;
+  jint k14;
+  jint k15;
+  jint k16;
+  jint k17;
+  jint k18;
+  jint k19;
+  jint k20;
+  jint k21;
+  jint k22;
+  jint k23;
+  jint k24;
+  jint k25;
+  jint k26;
+  jint k27;
+  jint k28;
+  jint k29;
+  jint k30;
+  jint k31;
+  jint k32;
+  jint k33;
+  jint k34;
+  jint k35;
+  jint k36;
+  jint k37;
+  jint k38;
+  jint k39;
+  jint k40;
+  jint k41;
+  jint k42;
+  jint k43;
+  jint k44;
+  jint k45;
+  jint k46;
+  jint k47;
+  jint k48;
+  jint k49;
+  jint k50;
+  jint k51;
+  jint k52;
+  jint k53;
+  jint k54;
+  jint k55;
+  jint k56;
+  jint k57;
+  jint k58;
+  jint k59;
+  jint k60;
+  jint k61;
+  jint k62;
+  jint k63;
+  jint k64;
+  jint k65;
+  jint k66;
+  jint k67;
+  jint k68;
+  jint k69;
+  jint k70;
+  jint k71;
+  jint k72;
+  jint k73;
+  jint k74;
+  jint k75;
+  jint k76;
+  jint k77;
+  jint k78;
+  jint k79;
+  jint k80;
+  jint k81;
+  jint k82;
+  jint k83;
+  jint k84;
+  jint k85;
+  jint k86;
+  jint k87;
+  jint k88;
+  jint k89;
+  jint k90;
+  jint k91;
+  jint k92;
+  jint k93;
+  jint k94;
+  jint k95;
+  jint k96;
+  jint k97;
+  jint k98;
+  jint k99;
+  jint k100;
+  jint k101;
+  jint k102;
+  jint k103;
+  jint k104;
+  jint k105;
+  jint k106;
+  jint k107;
+  jint k108;
+  jint k109;
+  jint k110;
+  jint k111;
+  jint k112;
+  jint k113;
+  jint k114;
+  jint k115;
+  jint k116;
+  jint k117;
+  jint k118;
+  jint k119;
+  jint k120;
+  jint k121;
+  jint k122;
+  jint k123;
+  jint k124;
+  jint k125;
+  jint k126;
+  jint k127;
+  jint k128;
+  jint k129;
+  jint k130;
+  jint k131;
+  ::gnu::javax::crypto::cipher::Serpent * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Serpent$Key__
diff --git a/libjava/gnu/javax/crypto/cipher/Serpent.h b/libjava/gnu/javax/crypto/cipher/Serpent.h
new file mode 100644
index 000000000..20b9a5bf7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Serpent.h
@@ -0,0 +1,84 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Serpent__
+#define __gnu_javax_crypto_cipher_Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Serpent;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Serpent : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Serpent();
+  virtual ::java::lang::Object * clone();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual jboolean selfTest();
+private:
+  void sbox0();
+  void sbox1();
+  void sbox2();
+  void sbox3();
+  void sbox4();
+  void sbox5();
+  void sbox6();
+  void sbox7();
+  void sbox7noLT();
+  void sboxI7noLT();
+  void sboxI6();
+  void sboxI5();
+  void sboxI4();
+  void sboxI3();
+  void sboxI2();
+  void sboxI1();
+  void sboxI0();
+  void sboxI7();
+  void sbox0(jint, jint, jint, jint);
+  void sbox1(jint, jint, jint, jint);
+  void sbox2(jint, jint, jint, jint);
+  void sbox3(jint, jint, jint, jint);
+  void sbox4(jint, jint, jint, jint);
+  void sbox5(jint, jint, jint, jint);
+  void sbox6(jint, jint, jint, jint);
+  void sbox7(jint, jint, jint, jint);
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static const jint DEFAULT_BLOCK_SIZE = 16;
+  static const jint ROUNDS = 32;
+  static const jint PHI = -1640531527;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::cipher::BaseCipher)))) x0;
+  jint x1;
+  jint x2;
+  jint x3;
+  jint x4;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Serpent__
diff --git a/libjava/gnu/javax/crypto/cipher/Square.h b/libjava/gnu/javax/crypto/cipher/Square.h
new file mode 100644
index 000000000..cae545c19
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Square.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Square__
+#define __gnu_javax_crypto_cipher_Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Square;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Square : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  Square();
+private:
+  static void square(JArray< jbyte > *, jint, JArray< jbyte > *, jint, JArray< JArray< jint > * > *, JArray< jint > *, JArray< jbyte > *);
+  static void transform(JArray< jint > *, JArray< jint > *);
+  static jint rot32L(jint, jint);
+  static jint rot32R(jint, jint);
+  static jint mul(jint, jint);
+public:
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+private:
+  static const jint DEFAULT_BLOCK_SIZE = 16;
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static const jint ROUNDS = 8;
+  static const jint ROOT = 501;
+  static JArray< jint > * OFFSET;
+  static ::java::lang::String * Sdata;
+  static JArray< jbyte > * Se;
+  static JArray< jbyte > * Sd;
+  static JArray< jint > * Te;
+  static JArray< jint > * Td;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Square__
diff --git a/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h b/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h
new file mode 100644
index 000000000..f26021502
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/TripleDES$Context.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_TripleDES$Context__
+#define __gnu_javax_crypto_cipher_TripleDES$Context__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class DES$Context;
+            class TripleDES;
+            class TripleDES$Context;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::TripleDES$Context : public ::java::lang::Object
+{
+
+  TripleDES$Context(::gnu::javax::crypto::cipher::TripleDES *);
+public: // actually package-private
+  TripleDES$Context(::gnu::javax::crypto::cipher::TripleDES *, ::gnu::javax::crypto::cipher::TripleDES$Context *);
+  ::gnu::javax::crypto::cipher::DES$Context * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k1;
+  ::gnu::javax::crypto::cipher::DES$Context * k2;
+  ::gnu::javax::crypto::cipher::DES$Context * k3;
+  ::gnu::javax::crypto::cipher::TripleDES * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_TripleDES$Context__
diff --git a/libjava/gnu/javax/crypto/cipher/TripleDES.h b/libjava/gnu/javax/crypto/cipher/TripleDES.h
new file mode 100644
index 000000000..cbe5a6c5f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/TripleDES.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_TripleDES__
+#define __gnu_javax_crypto_cipher_TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class DES;
+            class TripleDES;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::TripleDES : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+public:
+  TripleDES();
+  static void adjustParity(JArray< jbyte > *, jint);
+  static void adjustParity(jint, JArray< jbyte > *, jint);
+  static jboolean isParityAdjusted(JArray< jbyte > *, jint);
+  static jboolean isParityAdjusted(jint, JArray< jbyte > *, jint);
+  virtual ::java::lang::Object * clone();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  virtual void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  virtual void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  static const jint BLOCK_SIZE = 8;
+  static const jint KEY_SIZE = 24;
+private:
+  ::gnu::javax::crypto::cipher::DES * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::cipher::BaseCipher)))) des;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_TripleDES__
diff --git a/libjava/gnu/javax/crypto/cipher/Twofish.h b/libjava/gnu/javax/crypto/cipher/Twofish.h
new file mode 100644
index 000000000..5c2d7cb95
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/Twofish.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_Twofish__
+#define __gnu_javax_crypto_cipher_Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/cipher/BaseCipher.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Twofish;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::Twofish : public ::gnu::javax::crypto::cipher::BaseCipher
+{
+
+  static jint LFSR1(jint);
+  static jint LFSR2(jint);
+  static jint Mx_X(jint);
+  static jint Mx_Y(jint);
+public:
+  Twofish();
+private:
+  static jint b0(jint);
+  static jint b1(jint);
+  static jint b2(jint);
+  static jint b3(jint);
+  static jint RS_MDS_Encode(jint, jint);
+  static jint RS_rem(jint);
+  static jint F32(jint, jint, JArray< jint > *);
+  static jint Fe32(JArray< jint > *, jint, jint);
+  static jint _b(jint, jint);
+public:
+  ::java::lang::Object * clone();
+  ::java::util::Iterator * blockSizes();
+  ::java::util::Iterator * keySizes();
+  ::java::lang::Object * makeKey(JArray< jbyte > *, jint);
+  void encrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  void decrypt(JArray< jbyte > *, jint, JArray< jbyte > *, jint, ::java::lang::Object *, jint);
+  jboolean selfTest();
+private:
+  static ::java::util::logging::Logger * log;
+  static const jint DEFAULT_BLOCK_SIZE = 16;
+  static const jint DEFAULT_KEY_SIZE = 16;
+  static const jint MAX_ROUNDS = 16;
+  static const jint ROUNDS = 16;
+  static const jint INPUT_WHITEN = 0;
+  static const jint OUTPUT_WHITEN = 4;
+  static const jint ROUND_SUBKEYS = 8;
+  static const jint SK_STEP = 33686018;
+  static const jint SK_BUMP = 16843009;
+  static const jint SK_ROTL = 9;
+  static JArray< ::java::lang::String * > * Pm;
+  static JArray< JArray< jbyte > * > * P;
+  static const jint P_00 = 1;
+  static const jint P_01 = 0;
+  static const jint P_02 = 0;
+  static const jint P_03 = 1;
+  static const jint P_04 = 1;
+  static const jint P_10 = 0;
+  static const jint P_11 = 0;
+  static const jint P_12 = 1;
+  static const jint P_13 = 1;
+  static const jint P_14 = 0;
+  static const jint P_20 = 1;
+  static const jint P_21 = 1;
+  static const jint P_22 = 0;
+  static const jint P_23 = 0;
+  static const jint P_24 = 0;
+  static const jint P_30 = 0;
+  static const jint P_31 = 1;
+  static const jint P_32 = 1;
+  static const jint P_33 = 0;
+  static const jint P_34 = 1;
+  static const jint GF256_FDBK_2 = 180;
+  static const jint GF256_FDBK_4 = 90;
+  static JArray< JArray< jint > * > * MDS;
+  static const jint RS_GF_FDBK = 333;
+  static JArray< jbyte > * KAT_KEY;
+  static JArray< jbyte > * KAT_CT;
+  static ::java::lang::Boolean * valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_Twofish__
diff --git a/libjava/gnu/javax/crypto/cipher/WeakKeyException.h b/libjava/gnu/javax/crypto/cipher/WeakKeyException.h
new file mode 100644
index 000000000..42d12100f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/cipher/WeakKeyException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_cipher_WeakKeyException__
+#define __gnu_javax_crypto_cipher_WeakKeyException__
+
+#pragma interface
+
+#include <java/security/InvalidKeyException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class WeakKeyException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::cipher::WeakKeyException : public ::java::security::InvalidKeyException
+{
+
+public:
+  WeakKeyException();
+  WeakKeyException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_cipher_WeakKeyException__
diff --git a/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h b/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h
new file mode 100644
index 000000000..3cd0578de
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/DiffieHellmanImpl.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_DiffieHellmanImpl__
+#define __gnu_javax_crypto_jce_DiffieHellmanImpl__
+
+#pragma interface
+
+#include <javax/crypto/KeyAgreementSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class DiffieHellmanImpl;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+      namespace interfaces
+      {
+          class DHPrivateKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::DiffieHellmanImpl : public ::javax::crypto::KeyAgreementSpi
+{
+
+public:
+  DiffieHellmanImpl();
+public: // actually protected
+  ::java::security::Key * engineDoPhase(::java::security::Key *, jboolean);
+  JArray< jbyte > * engineGenerateSecret();
+  jint engineGenerateSecret(JArray< jbyte > *, jint);
+  ::javax::crypto::SecretKey * engineGenerateSecret(::java::lang::String *);
+  void engineInit(::java::security::Key *, ::java::security::SecureRandom *);
+  void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+private:
+  void reset();
+  void checkState();
+  ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::javax::crypto::KeyAgreementSpi)))) key;
+  JArray< jbyte > * result;
+  jboolean last_phase_done;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_DiffieHellmanImpl__
diff --git a/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h b/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h
new file mode 100644
index 000000000..bfd4f2d37
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/GnuCrypto$1.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_GnuCrypto$1__
+#define __gnu_javax_crypto_jce_GnuCrypto$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class GnuCrypto;
+            class GnuCrypto$1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::GnuCrypto$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GnuCrypto$1(::gnu::javax::crypto::jce::GnuCrypto *);
+public:
+  virtual ::java::lang::Object * run();
+public: // actually package-private
+  ::gnu::javax::crypto::jce::GnuCrypto * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_GnuCrypto$1__
diff --git a/libjava/gnu/javax/crypto/jce/GnuCrypto.h b/libjava/gnu/javax/crypto/jce/GnuCrypto.h
new file mode 100644
index 000000000..fa9cb5774
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/GnuCrypto.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_GnuCrypto__
+#define __gnu_javax_crypto_jce_GnuCrypto__
+
+#pragma interface
+
+#include <java/security/Provider.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class GnuCrypto;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::GnuCrypto : public ::java::security::Provider
+{
+
+public:
+  GnuCrypto();
+  static ::java::util::Set * getCipherNames();
+  static ::java::util::Set * getMacNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_GnuCrypto__
diff --git a/libjava/gnu/javax/crypto/jce/GnuSasl$1.h b/libjava/gnu/javax/crypto/jce/GnuSasl$1.h
new file mode 100644
index 000000000..149e7b227
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/GnuSasl$1.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_GnuSasl$1__
+#define __gnu_javax_crypto_jce_GnuSasl$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class GnuSasl;
+            class GnuSasl$1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::GnuSasl$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GnuSasl$1(::gnu::javax::crypto::jce::GnuSasl *);
+public:
+  virtual ::java::lang::Object * run();
+public: // actually package-private
+  ::gnu::javax::crypto::jce::GnuSasl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_GnuSasl$1__
diff --git a/libjava/gnu/javax/crypto/jce/GnuSasl.h b/libjava/gnu/javax/crypto/jce/GnuSasl.h
new file mode 100644
index 000000000..bf624a12a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/GnuSasl.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_GnuSasl__
+#define __gnu_javax_crypto_jce_GnuSasl__
+
+#pragma interface
+
+#include <java/security/Provider.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class GnuSasl;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::GnuSasl : public ::java::security::Provider
+{
+
+public:
+  GnuSasl();
+  static ::java::util::Set * getSaslClientMechanismNames();
+  static ::java::util::Set * getSaslServerMechanismNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_GnuSasl__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h
new file mode 100644
index 000000000..30227d8f3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacHaval.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacHaval;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacHaval : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacHaval();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacHaval__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h
new file mode 100644
index 000000000..4d18fa3cf
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD2.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacMD2;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD2 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacMD2();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD2__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h
new file mode 100644
index 000000000..b55a29dd0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD4.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacMD4;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD4 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacMD4();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD4__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h
new file mode 100644
index 000000000..2e8599cbc
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacMD5.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacMD5;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacMD5 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacMD5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacMD5__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h
new file mode 100644
index 000000000..5bfcdf369
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD128.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacRipeMD128;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacRipeMD128 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacRipeMD128();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD128__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h
new file mode 100644
index 000000000..9e058d6d4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacRipeMD160.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacRipeMD160;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacRipeMD160 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacRipeMD160();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacRipeMD160__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h
new file mode 100644
index 000000000..70529e146
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA1.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacSHA1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA1 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacSHA1();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA1__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h
new file mode 100644
index 000000000..002272c84
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA256.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacSHA256;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA256 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacSHA256();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA256__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h
new file mode 100644
index 000000000..6df181d1c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA384.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacSHA384;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA384 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacSHA384();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA384__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h
new file mode 100644
index 000000000..e035c279f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacSHA512.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacSHA512;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacSHA512 : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacSHA512();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacSHA512__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h
new file mode 100644
index 000000000..bb08d2a96
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacTiger.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacTiger;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacTiger : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacTiger();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacTiger__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h
new file mode 100644
index 000000000..4ad9b2e64
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory$HMacWhirlpool.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory$HMacWhirlpool;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory$HMacWhirlpool : public ::gnu::javax::crypto::jce::PBKDF2SecretKeyFactory
+{
+
+public:
+  PBKDF2SecretKeyFactory$HMacWhirlpool();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory$HMacWhirlpool__
diff --git a/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h
new file mode 100644
index 000000000..97ef99b6b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/PBKDF2SecretKeyFactory.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__
+#define __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__
+
+#pragma interface
+
+#include <javax/crypto/SecretKeyFactorySpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+            class PBKDF2SecretKeyFactory;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace spec
+      {
+          class KeySpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::PBKDF2SecretKeyFactory : public ::javax::crypto::SecretKeyFactorySpi
+{
+
+public: // actually protected
+  PBKDF2SecretKeyFactory(::java::lang::String *);
+  virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *);
+  virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *);
+  virtual ::javax::crypto::SecretKey * engineTranslateKey(::javax::crypto::SecretKey *);
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::crypto::SecretKeyFactorySpi)))) macName;
+private:
+  static const jint DEFAULT_ITERATION_COUNT = 1000;
+  static const jint DEFAULT_KEY_LEN = 32;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_PBKDF2SecretKeyFactory__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h
new file mode 100644
index 000000000..524f2f9b4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AES128KeyWrapSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__
+#define __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AES128KeyWrapSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AES128KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi
+{
+
+public:
+  AES128KeyWrapSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AES128KeyWrapSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h
new file mode 100644
index 000000000..b19897b29
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AES192KeyWrapSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__
+#define __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AES192KeyWrapSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AES192KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi
+{
+
+public:
+  AES192KeyWrapSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AES192KeyWrapSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h
new file mode 100644
index 000000000..f87700587
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AES256KeyWrapSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__
+#define __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AES256KeyWrapSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AES256KeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::AESKeyWrapSpi
+{
+
+public:
+  AES256KeyWrapSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AES256KeyWrapSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h
new file mode 100644
index 000000000..d20e50642
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AESKeyWrapSpi.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__
+#define __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AESKeyWrapSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AESKeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter
+{
+
+public: // actually protected
+  AESKeyWrapSpi(::java::lang::String *, jint, ::java::lang::String *);
+  virtual jint getOutputSizeForWrap(jint);
+  virtual jint getOutputSizeForUnwrap(jint);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AESKeyWrapSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h
new file mode 100644
index 000000000..dd73ecca8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AESSpi.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AESSpi__
+#define __gnu_javax_crypto_jce_cipher_AESSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AESSpi;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  AESSpi();
+public: // actually protected
+  void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AESSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h b/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h
new file mode 100644
index 000000000..677f8e9b5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/ARCFourSpi.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_ARCFourSpi__
+#define __gnu_javax_crypto_jce_cipher_ARCFourSpi__
+
+#pragma interface
+
+#include <javax/crypto/CipherSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class ARCFourSpi;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::ARCFourSpi : public ::javax::crypto::CipherSpi
+{
+
+public:
+  ARCFourSpi();
+public: // actually protected
+  virtual jint engineGetBlockSize();
+  virtual void engineSetMode(::java::lang::String *);
+  virtual void engineSetPadding(::java::lang::String *);
+  virtual JArray< jbyte > * engineGetIV();
+  virtual jint engineGetOutputSize(jint);
+  virtual ::java::security::AlgorithmParameters * engineGetParameters();
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+  virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint);
+  virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint);
+  virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+private:
+  ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) keystream;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_ARCFourSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h b/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h
new file mode 100644
index 000000000..c7de48028
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/AnubisSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_AnubisSpi__
+#define __gnu_javax_crypto_jce_cipher_AnubisSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class AnubisSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::AnubisSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  AnubisSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_AnubisSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h b/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h
new file mode 100644
index 000000000..aed783b58
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/BlowfishSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_BlowfishSpi__
+#define __gnu_javax_crypto_jce_cipher_BlowfishSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class BlowfishSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::BlowfishSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  BlowfishSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_BlowfishSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h b/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h
new file mode 100644
index 000000000..dbba171aa
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/Cast5Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_Cast5Spi__
+#define __gnu_javax_crypto_jce_cipher_Cast5Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class Cast5Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::Cast5Spi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  Cast5Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_Cast5Spi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h b/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h
new file mode 100644
index 000000000..751abfe01
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/CipherAdapter.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_CipherAdapter__
+#define __gnu_javax_crypto_jce_cipher_CipherAdapter__
+
+#pragma interface
+
+#include <javax/crypto/CipherSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace jce
+        {
+          namespace cipher
+          {
+              class CipherAdapter;
+          }
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+        namespace pad
+        {
+            class IPad;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::CipherAdapter : public ::javax::crypto::CipherSpi
+{
+
+public: // actually protected
+  CipherAdapter(::java::lang::String *, jint);
+  CipherAdapter(::java::lang::String *);
+  virtual void engineSetMode(::java::lang::String *);
+  virtual void engineSetPadding(::java::lang::String *);
+  virtual jint engineGetBlockSize();
+  virtual jint engineGetOutputSize(jint);
+  virtual JArray< jbyte > * engineGetIV();
+  virtual ::java::security::AlgorithmParameters * engineGetParameters();
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+private:
+  void engineInitHandler(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+public: // actually protected
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+  virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint);
+  virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint);
+  virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+private:
+  void reset();
+public: // actually protected
+  ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) cipher;
+  ::gnu::javax::crypto::mode::IMode * mode;
+  ::gnu::javax::crypto::pad::IPad * pad;
+  jint keyLen;
+  ::java::util::Map * attributes;
+  JArray< jbyte > * partBlock;
+  jint partLen;
+  jint blockLen;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_CipherAdapter__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h
new file mode 100644
index 000000000..59a2c919c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/DESSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_DESSpi__
+#define __gnu_javax_crypto_jce_cipher_DESSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class DESSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::DESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  DESSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_DESSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h b/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h
new file mode 100644
index 000000000..43a5a6e35
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__
+#define __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__
+
+#pragma interface
+
+#include <javax/crypto/CipherSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class KeyWrappingAlgorithmAdapter;
+          }
+        }
+        namespace kwa
+        {
+            class IKeyWrappingAlgorithm;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter : public ::javax::crypto::CipherSpi
+{
+
+public: // actually protected
+  KeyWrappingAlgorithmAdapter(::java::lang::String *, jint, jint, ::java::lang::String *);
+  virtual JArray< jbyte > * engineWrap(::java::security::Key *);
+  virtual ::java::security::Key * engineUnwrap(JArray< jbyte > *, ::java::lang::String *, jint);
+  virtual jint engineGetBlockSize();
+  virtual JArray< jbyte > * engineGetIV();
+  virtual jint engineGetOutputSize(jint);
+  virtual ::java::security::AlgorithmParameters * engineGetParameters();
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineSetMode(::java::lang::String *);
+  virtual void engineSetPadding(::java::lang::String *);
+  virtual JArray< jbyte > * engineUpdate(JArray< jbyte > *, jint, jint);
+  virtual jint engineUpdate(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * engineDoFinal(JArray< jbyte > *, jint, jint);
+  virtual jint engineDoFinal(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual jint getOutputSizeForWrap(jint);
+  virtual jint getOutputSizeForUnwrap(jint);
+private:
+  void checkOpMode(jint);
+  JArray< jbyte > * checkAndGetKekBytes(::java::security::Key *);
+  void initAlgorithm(jint, JArray< jbyte > *, JArray< jbyte > *, ::java::security::SecureRandom *);
+  static ::java::util::logging::Logger * log;
+  static ::java::lang::String * NO_PADDING;
+public: // actually protected
+  ::gnu::javax::crypto::kwa::IKeyWrappingAlgorithm * __attribute__((aligned(__alignof__( ::javax::crypto::CipherSpi)))) kwAlgorithm;
+  jint kwaBlockSize;
+  jint kwaKeySize;
+  ::java::lang::String * supportedMode;
+  jint opmode;
+public: // actually package-private
+  JArray< jbyte > * iv;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_KeyWrappingAlgorithmAdapter__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h b/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h
new file mode 100644
index 000000000..76ace5867
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/KhazadSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_KhazadSpi__
+#define __gnu_javax_crypto_jce_cipher_KhazadSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class KhazadSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::KhazadSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  KhazadSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_KhazadSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h b/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h
new file mode 100644
index 000000000..62c4749c5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/NullCipherSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_NullCipherSpi__
+#define __gnu_javax_crypto_jce_cipher_NullCipherSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class NullCipherSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::NullCipherSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  NullCipherSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_NullCipherSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h
new file mode 100644
index 000000000..eb6bb4cd1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h
new file mode 100644
index 000000000..c90eb3899
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h
new file mode 100644
index 000000000..c370b08db
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h
new file mode 100644
index 000000000..6252b4b34
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h
new file mode 100644
index 000000000..57eab6c4d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h
new file mode 100644
index 000000000..cbec01198
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h
new file mode 100644
index 000000000..242887a8f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h
new file mode 100644
index 000000000..e81b65b1f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h
new file mode 100644
index 000000000..1c4787f29
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h
new file mode 100644
index 000000000..42cd2c2b4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacHaval
+{
+
+public:
+  PBES2$HMacHaval$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h
new file mode 100644
index 000000000..964738806
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacHaval.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacHaval;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacHaval : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacHaval(::java::lang::String *, jint);
+  PBES2$HMacHaval(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacHaval__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h
new file mode 100644
index 000000000..d8dc29470
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h
new file mode 100644
index 000000000..777337be1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h
new file mode 100644
index 000000000..a4874de7a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h
new file mode 100644
index 000000000..e89caead4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h
new file mode 100644
index 000000000..8d1788e8a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h
new file mode 100644
index 000000000..1385a24b1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h
new file mode 100644
index 000000000..b56ce910b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h
new file mode 100644
index 000000000..18b4f2646
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h
new file mode 100644
index 000000000..925414bf6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h
new file mode 100644
index 000000000..1299150f9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD2
+{
+
+public:
+  PBES2$HMacMD2$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h
new file mode 100644
index 000000000..50db50fa6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD2.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD2;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD2 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacMD2(::java::lang::String *, jint);
+  PBES2$HMacMD2(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD2__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h
new file mode 100644
index 000000000..205e01ee0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h
new file mode 100644
index 000000000..8d0385048
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h
new file mode 100644
index 000000000..a5a2b2308
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h
new file mode 100644
index 000000000..8727bc746
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h
new file mode 100644
index 000000000..10e3c7eea
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h
new file mode 100644
index 000000000..8bf669338
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h
new file mode 100644
index 000000000..5c921229c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h
new file mode 100644
index 000000000..a14ef595e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h
new file mode 100644
index 000000000..851eedfda
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h
new file mode 100644
index 000000000..fe69d0d89
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD4
+{
+
+public:
+  PBES2$HMacMD4$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h
new file mode 100644
index 000000000..95d6018ae
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD4.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD4;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD4 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacMD4(::java::lang::String *, jint);
+  PBES2$HMacMD4(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD4__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h
new file mode 100644
index 000000000..0e51830bc
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h
new file mode 100644
index 000000000..758d607d2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h
new file mode 100644
index 000000000..66546b8ed
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h
new file mode 100644
index 000000000..cc38df76f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h
new file mode 100644
index 000000000..14d6581df
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h
new file mode 100644
index 000000000..1e3ee6cde
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h
new file mode 100644
index 000000000..2678cb2ca
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h
new file mode 100644
index 000000000..212cfac15
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h
new file mode 100644
index 000000000..9e7feddd1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h
new file mode 100644
index 000000000..59933417c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacMD5
+{
+
+public:
+  PBES2$HMacMD5$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h
new file mode 100644
index 000000000..27467b8ac
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacMD5.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacMD5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacMD5 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacMD5(::java::lang::String *, jint);
+  PBES2$HMacMD5(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacMD5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h
new file mode 100644
index 000000000..4accfd63e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h
new file mode 100644
index 000000000..dd5773e93
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h
new file mode 100644
index 000000000..ea8859b06
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h
new file mode 100644
index 000000000..8874aa0f1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h
new file mode 100644
index 000000000..db5b01bb8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h
new file mode 100644
index 000000000..128eb9cf3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h
new file mode 100644
index 000000000..266eb25ef
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h
new file mode 100644
index 000000000..7bcacce88
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h
new file mode 100644
index 000000000..172cb92e2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h
new file mode 100644
index 000000000..77ca273c5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128
+{
+
+public:
+  PBES2$HMacRipeMD128$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h
new file mode 100644
index 000000000..db5652b58
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD128.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD128;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD128 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacRipeMD128(::java::lang::String *, jint);
+  PBES2$HMacRipeMD128(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD128__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h
new file mode 100644
index 000000000..a5c78d334
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h
new file mode 100644
index 000000000..d5fb9ee5c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h
new file mode 100644
index 000000000..72d603113
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h
new file mode 100644
index 000000000..9c0119bea
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h
new file mode 100644
index 000000000..37045f289
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h
new file mode 100644
index 000000000..e0a3b3f13
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h
new file mode 100644
index 000000000..e3fa08619
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h
new file mode 100644
index 000000000..6d820e5e4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h
new file mode 100644
index 000000000..40518b147
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h
new file mode 100644
index 000000000..f2beac4eb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160
+{
+
+public:
+  PBES2$HMacRipeMD160$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h
new file mode 100644
index 000000000..416db1df6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacRipeMD160.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacRipeMD160;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacRipeMD160 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacRipeMD160(::java::lang::String *, jint);
+  PBES2$HMacRipeMD160(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacRipeMD160__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h
new file mode 100644
index 000000000..35f84425c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h
new file mode 100644
index 000000000..52cbbeb0f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h
new file mode 100644
index 000000000..9352b8d52
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h
new file mode 100644
index 000000000..c84c600b0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h
new file mode 100644
index 000000000..2eb4abf1f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h
new file mode 100644
index 000000000..9b7478640
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h
new file mode 100644
index 000000000..c8af0ca28
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h
new file mode 100644
index 000000000..a3f55daa1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h
new file mode 100644
index 000000000..3f629b205
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h
new file mode 100644
index 000000000..3bda01a27
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1
+{
+
+public:
+  PBES2$HMacSHA1$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h
new file mode 100644
index 000000000..06e4c964f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA1.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA1 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacSHA1(::java::lang::String *, jint);
+  PBES2$HMacSHA1(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA1__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h
new file mode 100644
index 000000000..523bb3a63
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h
new file mode 100644
index 000000000..28fa73d7a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h
new file mode 100644
index 000000000..ab4b62b59
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h
new file mode 100644
index 000000000..a8edc0c73
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h
new file mode 100644
index 000000000..4812a26ff
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h
new file mode 100644
index 000000000..04221e0ee
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h
new file mode 100644
index 000000000..69f68c5c8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h
new file mode 100644
index 000000000..30a4207a9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h
new file mode 100644
index 000000000..e05e6bc1b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h
new file mode 100644
index 000000000..9e8b2c632
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256
+{
+
+public:
+  PBES2$HMacSHA256$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h
new file mode 100644
index 000000000..7771d0b64
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA256.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA256;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA256 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacSHA256(::java::lang::String *, jint);
+  PBES2$HMacSHA256(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA256__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h
new file mode 100644
index 000000000..8b32b776f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h
new file mode 100644
index 000000000..6818d600d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h
new file mode 100644
index 000000000..80cf46574
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h
new file mode 100644
index 000000000..6d8e4797c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h
new file mode 100644
index 000000000..c0a597ea6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h
new file mode 100644
index 000000000..3444db066
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h
new file mode 100644
index 000000000..3bb0a1c43
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h
new file mode 100644
index 000000000..2b8b4c310
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h
new file mode 100644
index 000000000..a5388f0b1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h
new file mode 100644
index 000000000..5b849efba
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384
+{
+
+public:
+  PBES2$HMacSHA384$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h
new file mode 100644
index 000000000..1bdf6807d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA384.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA384;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA384 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacSHA384(::java::lang::String *, jint);
+  PBES2$HMacSHA384(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA384__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h
new file mode 100644
index 000000000..f338e2d9a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h
new file mode 100644
index 000000000..1ff4f701a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h
new file mode 100644
index 000000000..fada5cb87
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h
new file mode 100644
index 000000000..9ecaadfb9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h
new file mode 100644
index 000000000..466ccf0dd
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h
new file mode 100644
index 000000000..f342c6938
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h
new file mode 100644
index 000000000..1c393d07e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h
new file mode 100644
index 000000000..f2f5601a6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h
new file mode 100644
index 000000000..14b4b15cb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h
new file mode 100644
index 000000000..d492efc20
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512
+{
+
+public:
+  PBES2$HMacSHA512$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h
new file mode 100644
index 000000000..f1db51acd
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacSHA512.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacSHA512;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacSHA512 : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacSHA512(::java::lang::String *, jint);
+  PBES2$HMacSHA512(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacSHA512__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h
new file mode 100644
index 000000000..baa9f27c1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h
new file mode 100644
index 000000000..bce1ed801
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h
new file mode 100644
index 000000000..6e0bfe238
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h
new file mode 100644
index 000000000..d171bdf1d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h
new file mode 100644
index 000000000..a6ff79970
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h
new file mode 100644
index 000000000..15162434d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h
new file mode 100644
index 000000000..e7e49e517
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h
new file mode 100644
index 000000000..052f90242
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h
new file mode 100644
index 000000000..3477866e2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h
new file mode 100644
index 000000000..b9a62a8a2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacTiger
+{
+
+public:
+  PBES2$HMacTiger$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h
new file mode 100644
index 000000000..2b1ca5941
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacTiger.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacTiger;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacTiger : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacTiger(::java::lang::String *, jint);
+  PBES2$HMacTiger(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacTiger__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h
new file mode 100644
index 000000000..c2f5d6b42
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$AES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$AES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$AES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$AES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$AES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h
new file mode 100644
index 000000000..c8fd00f1e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Anubis.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Anubis : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Anubis();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h
new file mode 100644
index 000000000..03f922f23
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Blowfish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Blowfish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Blowfish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Blowfish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Blowfish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h
new file mode 100644
index 000000000..f9037b258
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Cast5.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Cast5 : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Cast5();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h
new file mode 100644
index 000000000..788ad9dab
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$DES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$DES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$DES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$DES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h
new file mode 100644
index 000000000..7738c8864
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Khazad.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Khazad : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Khazad();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h
new file mode 100644
index 000000000..2d53d0b7c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Serpent.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Serpent : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Serpent();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h
new file mode 100644
index 000000000..ca4bb7f07
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Square.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Square : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Square();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Square__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h
new file mode 100644
index 000000000..9a58b29f2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$TripleDES.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$TripleDES : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$TripleDES();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h
new file mode 100644
index 000000000..8cb59ebaf
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool$Twofish.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool$Twofish : public ::gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool
+{
+
+public:
+  PBES2$HMacWhirlpool$Twofish();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h
new file mode 100644
index 000000000..d420db0ea
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2$HMacWhirlpool.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__
+#define __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/PBES2.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2$HMacWhirlpool;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2$HMacWhirlpool : public ::gnu::javax::crypto::jce::cipher::PBES2
+{
+
+public:
+  PBES2$HMacWhirlpool(::java::lang::String *, jint);
+  PBES2$HMacWhirlpool(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2$HMacWhirlpool__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/PBES2.h b/libjava/gnu/javax/crypto/jce/cipher/PBES2.h
new file mode 100644
index 000000000..15042c228
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/PBES2.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_PBES2__
+#define __gnu_javax_crypto_jce_cipher_PBES2__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class PBES2;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Key;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class PBEKey;
+      }
+      namespace spec
+      {
+          class SecretKeySpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::PBES2 : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public: // actually protected
+  PBES2(::java::lang::String *, jint, ::java::lang::String *);
+  PBES2(::java::lang::String *, ::java::lang::String *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::Key *, ::java::security::AlgorithmParameters *, ::java::security::SecureRandom *);
+private:
+  ::javax::crypto::spec::SecretKeySpec * genkey(::javax::crypto::interfaces::PBEKey *);
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::jce::cipher::CipherAdapter)))) macName;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_PBES2__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h b/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h
new file mode 100644
index 000000000..6d13b2b78
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/RijndaelSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_RijndaelSpi__
+#define __gnu_javax_crypto_jce_cipher_RijndaelSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class RijndaelSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::RijndaelSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  RijndaelSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_RijndaelSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h b/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h
new file mode 100644
index 000000000..a7934c59e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/SerpentSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_SerpentSpi__
+#define __gnu_javax_crypto_jce_cipher_SerpentSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class SerpentSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::SerpentSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  SerpentSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_SerpentSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h b/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h
new file mode 100644
index 000000000..9fb25ca9c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/SquareSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_SquareSpi__
+#define __gnu_javax_crypto_jce_cipher_SquareSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class SquareSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::SquareSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  SquareSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_SquareSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h
new file mode 100644
index 000000000..7fcb2fdfd
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/TripleDESKeyWrapSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__
+#define __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/KeyWrappingAlgorithmAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class TripleDESKeyWrapSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::TripleDESKeyWrapSpi : public ::gnu::javax::crypto::jce::cipher::KeyWrappingAlgorithmAdapter
+{
+
+public:
+  TripleDESKeyWrapSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_TripleDESKeyWrapSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h
new file mode 100644
index 000000000..fc5eb2989
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/TripleDESSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_TripleDESSpi__
+#define __gnu_javax_crypto_jce_cipher_TripleDESSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class TripleDESSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::TripleDESSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  TripleDESSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_TripleDESSpi__
diff --git a/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h b/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h
new file mode 100644
index 000000000..ff0caf6a6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/cipher/TwofishSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_cipher_TwofishSpi__
+#define __gnu_javax_crypto_jce_cipher_TwofishSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/cipher/CipherAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace cipher
+          {
+              class TwofishSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::cipher::TwofishSpi : public ::gnu::javax::crypto::jce::cipher::CipherAdapter
+{
+
+public:
+  TwofishSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_cipher_TwofishSpi__
diff --git a/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h
new file mode 100644
index 000000000..d961e5f02
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/AnubisKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class AnubisKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::AnubisKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  AnubisKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_AnubisKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..98d4e3f20
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/AnubisSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class AnubisSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::AnubisSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  AnubisSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_AnubisSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h
new file mode 100644
index 000000000..28a40ee4a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/BlowfishKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class BlowfishKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::BlowfishKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  BlowfishKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_BlowfishKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..d88dcde83
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/BlowfishSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class BlowfishSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::BlowfishSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  BlowfishSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_BlowfishSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h
new file mode 100644
index 000000000..6dab8fe7d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/Cast5KeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class Cast5KeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::Cast5KeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  Cast5KeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_Cast5KeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h
new file mode 100644
index 000000000..8f5b7b844
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/Cast5SecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class Cast5SecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::Cast5SecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  Cast5SecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_Cast5SecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h
new file mode 100644
index 000000000..59f82ea35
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/DESKeyGeneratorImpl.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class DESKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::DESKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  DESKeyGeneratorImpl();
+public: // actually protected
+  virtual ::javax::crypto::SecretKey * engineGenerateKey();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_DESKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..1886826e4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/DESSecretKeyFactoryImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class DESSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace spec
+      {
+          class KeySpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::DESSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  DESSecretKeyFactoryImpl();
+public: // actually protected
+  virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *);
+  virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_DESSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..2521a3fc8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/DESedeSecretKeyFactoryImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class DESedeSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace spec
+      {
+          class KeySpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::DESedeSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  DESedeSecretKeyFactoryImpl();
+public: // actually protected
+  virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *);
+  virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_DESedeSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h
new file mode 100644
index 000000000..732e311b6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/KhazadKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class KhazadKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::KhazadKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  KhazadKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_KhazadKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..258fae3ff
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/KhazadSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class KhazadSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::KhazadSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  KhazadSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_KhazadSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h
new file mode 100644
index 000000000..698a08dea
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/RijndaelKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class RijndaelKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::RijndaelKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  RijndaelKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_RijndaelKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..f97734e77
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/RijndaelSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class RijndaelSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::RijndaelSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  RijndaelSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_RijndaelSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h
new file mode 100644
index 000000000..87b5e58d7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <javax/crypto/SecretKeyFactorySpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace spec
+      {
+          class KeySpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SecretKeyFactoryImpl : public ::javax::crypto::SecretKeyFactorySpi
+{
+
+public: // actually protected
+  SecretKeyFactoryImpl();
+  virtual ::javax::crypto::SecretKey * engineGenerateSecret(::java::security::spec::KeySpec *);
+  virtual ::java::security::spec::KeySpec * engineGetKeySpec(::javax::crypto::SecretKey *, ::java::lang::Class *);
+  virtual ::javax::crypto::SecretKey * engineTranslateKey(::javax::crypto::SecretKey *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h
new file mode 100644
index 000000000..9658a14e8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__
+
+#pragma interface
+
+#include <javax/crypto/KeyGeneratorSpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SecretKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl : public ::javax::crypto::KeyGeneratorSpi
+{
+
+public: // actually protected
+  SecretKeyGeneratorImpl(::java::lang::String *);
+  virtual ::javax::crypto::SecretKey * engineGenerateKey();
+  virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual void engineInit(jint, ::java::security::SecureRandom *);
+  virtual void engineInit(::java::security::SecureRandom *);
+  jint __attribute__((aligned(__alignof__( ::javax::crypto::KeyGeneratorSpi)))) defaultKeySize;
+  ::java::util::List * keySizes;
+  ::java::lang::String * algorithm;
+  jboolean init;
+  jint currentKeySize;
+  ::java::security::SecureRandom * random;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SecretKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h
new file mode 100644
index 000000000..e74ccf64d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SerpentKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SerpentKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SerpentKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  SerpentKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SerpentKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..1d63cfafa
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SerpentSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SerpentSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SerpentSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  SerpentSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SerpentSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h
new file mode 100644
index 000000000..a3a34ea37
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SquareKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SquareKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SquareKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  SquareKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SquareKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..36ea77169
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/SquareSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class SquareSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::SquareSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  SquareSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_SquareSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h
new file mode 100644
index 000000000..535df8337
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/TripleDESKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class TripleDESKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::TripleDESKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  TripleDESKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_TripleDESKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h b/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h
new file mode 100644
index 000000000..aa31ef433
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/TwofishKeyGeneratorImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__
+#define __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class TwofishKeyGeneratorImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::TwofishKeyGeneratorImpl : public ::gnu::javax::crypto::jce::key::SecretKeyGeneratorImpl
+{
+
+public:
+  TwofishKeyGeneratorImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_TwofishKeyGeneratorImpl__
diff --git a/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h b/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h
new file mode 100644
index 000000000..13fad905a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/key/TwofishSecretKeyFactoryImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__
+#define __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/key/SecretKeyFactoryImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace key
+          {
+              class TwofishSecretKeyFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::key::TwofishSecretKeyFactoryImpl : public ::gnu::javax::crypto::jce::key::SecretKeyFactoryImpl
+{
+
+public:
+  TwofishSecretKeyFactoryImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_key_TwofishSecretKeyFactoryImpl__
diff --git a/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h b/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h
new file mode 100644
index 000000000..4f9b6f90e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/keyring/GnuKeyring.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_keyring_GnuKeyring__
+#define __gnu_javax_crypto_jce_keyring_GnuKeyring__
+
+#pragma interface
+
+#include <java/security/KeyStoreSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace keyring
+          {
+              class GnuKeyring;
+          }
+        }
+        namespace keyring
+        {
+            class IKeyring;
+            class IPrivateKeyring;
+            class IPublicKeyring;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::keyring::GnuKeyring : public ::java::security::KeyStoreSpi
+{
+
+public:
+  GnuKeyring();
+  virtual ::java::util::Enumeration * engineAliases();
+  virtual jboolean engineContainsAlias(::java::lang::String *);
+  virtual void engineDeleteEntry(::java::lang::String *);
+  virtual ::java::security::cert::Certificate * engineGetCertificate(::java::lang::String *);
+  virtual ::java::lang::String * engineGetCertificateAlias(::java::security::cert::Certificate *);
+  virtual void engineSetCertificateEntry(::java::lang::String *, ::java::security::cert::Certificate *);
+  virtual JArray< ::java::security::cert::Certificate * > * engineGetCertificateChain(::java::lang::String *);
+  virtual ::java::util::Date * engineGetCreationDate(::java::lang::String *);
+  virtual ::java::security::Key * engineGetKey(::java::lang::String *, JArray< jchar > *);
+  virtual void engineSetKeyEntry(::java::lang::String *, ::java::security::Key *, JArray< jchar > *, JArray< ::java::security::cert::Certificate * > *);
+  virtual void engineSetKeyEntry(::java::lang::String *, JArray< jbyte > *, JArray< ::java::security::cert::Certificate * > *);
+  virtual jboolean engineIsCertificateEntry(::java::lang::String *);
+  virtual jboolean engineIsKeyEntry(::java::lang::String *);
+  virtual void engineLoad(::java::io::InputStream *, JArray< jchar > *);
+  virtual void engineStore(::java::io::OutputStream *, JArray< jchar > *);
+  virtual jint engineSize();
+private:
+  void ensureLoaded();
+  void loadPrivateKeyring(::java::io::InputStream *, JArray< jchar > *);
+  void loadPublicKeyring(::java::io::InputStream *, JArray< jchar > *);
+  ::java::util::Date * getCreationDate(::java::lang::String *, ::gnu::javax::crypto::keyring::IKeyring *);
+  void createNewKeyrings();
+  static ::java::util::logging::Logger * log;
+  static ::java::lang::String * NOT_LOADED;
+  jboolean __attribute__((aligned(__alignof__( ::java::security::KeyStoreSpi)))) loaded;
+  ::gnu::javax::crypto::keyring::IPrivateKeyring * privateKR;
+  ::gnu::javax::crypto::keyring::IPublicKeyring * publicKR;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_keyring_GnuKeyring__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h
new file mode 100644
index 000000000..4f5af339b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacHavalSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacHavalSpi__
+#define __gnu_javax_crypto_jce_mac_HMacHavalSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacHavalSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacHavalSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacHavalSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacHavalSpi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h
new file mode 100644
index 000000000..c584ddb55
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD2Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacMD2Spi__
+#define __gnu_javax_crypto_jce_mac_HMacMD2Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacMD2Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacMD2Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacMD2Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacMD2Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h
new file mode 100644
index 000000000..7cf2e14dc
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD4Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacMD4Spi__
+#define __gnu_javax_crypto_jce_mac_HMacMD4Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacMD4Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacMD4Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacMD4Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacMD4Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h
new file mode 100644
index 000000000..dd54fe257
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacMD5Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacMD5Spi__
+#define __gnu_javax_crypto_jce_mac_HMacMD5Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacMD5Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacMD5Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacMD5Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacMD5Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h
new file mode 100644
index 000000000..195cf9667
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD128Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__
+#define __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacRipeMD128Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacRipeMD128Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacRipeMD128Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacRipeMD128Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h
new file mode 100644
index 000000000..43dc02640
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacRipeMD160Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__
+#define __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacRipeMD160Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacRipeMD160Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacRipeMD160Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacRipeMD160Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h
new file mode 100644
index 000000000..83682077b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA160Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacSHA160Spi__
+#define __gnu_javax_crypto_jce_mac_HMacSHA160Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacSHA160Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacSHA160Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacSHA160Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacSHA160Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h
new file mode 100644
index 000000000..5ec8ab05e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA256Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacSHA256Spi__
+#define __gnu_javax_crypto_jce_mac_HMacSHA256Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacSHA256Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacSHA256Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacSHA256Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacSHA256Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h
new file mode 100644
index 000000000..2f6dbd9a8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA384Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacSHA384Spi__
+#define __gnu_javax_crypto_jce_mac_HMacSHA384Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacSHA384Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacSHA384Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacSHA384Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacSHA384Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h b/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h
new file mode 100644
index 000000000..af69a4ebb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacSHA512Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacSHA512Spi__
+#define __gnu_javax_crypto_jce_mac_HMacSHA512Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacSHA512Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacSHA512Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacSHA512Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacSHA512Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h
new file mode 100644
index 000000000..c085185b8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacTigerSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacTigerSpi__
+#define __gnu_javax_crypto_jce_mac_HMacTigerSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacTigerSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacTigerSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacTigerSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacTigerSpi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h b/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h
new file mode 100644
index 000000000..102ce5173
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/HMacWhirlpoolSpi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__
+#define __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class HMacWhirlpoolSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::HMacWhirlpoolSpi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  HMacWhirlpoolSpi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_HMacWhirlpoolSpi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h b/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h
new file mode 100644
index 000000000..1d4cadde7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/MacAdapter.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_MacAdapter__
+#define __gnu_javax_crypto_jce_mac_MacAdapter__
+
+#pragma interface
+
+#include <javax/crypto/MacSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class MacAdapter;
+          }
+        }
+        namespace mac
+        {
+            class IMac;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::MacAdapter : public ::javax::crypto::MacSpi
+{
+
+public: // actually protected
+  MacAdapter(::java::lang::String *);
+private:
+  MacAdapter(::gnu::javax::crypto::mac::IMac *, ::java::util::Map *);
+public:
+  virtual ::java::lang::Object * clone();
+public: // actually protected
+  virtual JArray< jbyte > * engineDoFinal();
+  virtual jint engineGetMacLength();
+  virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
+  virtual void engineReset();
+  virtual void engineUpdate(jbyte);
+  virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+  ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) mac;
+  ::java::util::Map * attributes;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_MacAdapter__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h
new file mode 100644
index 000000000..958181598
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacAnubisImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacAnubisImpl__
+#define __gnu_javax_crypto_jce_mac_OMacAnubisImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacAnubisImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacAnubisImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacAnubisImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacAnubisImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h
new file mode 100644
index 000000000..76e69d2ce
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacBlowfishImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__
+#define __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacBlowfishImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacBlowfishImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacBlowfishImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacBlowfishImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h b/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h
new file mode 100644
index 000000000..9308b254e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacCast5Impl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacCast5Impl__
+#define __gnu_javax_crypto_jce_mac_OMacCast5Impl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacCast5Impl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacCast5Impl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacCast5Impl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacCast5Impl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h
new file mode 100644
index 000000000..614e64503
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacDESImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacDESImpl__
+#define __gnu_javax_crypto_jce_mac_OMacDESImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacDESImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacDESImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacDESImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacDESImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h
new file mode 100644
index 000000000..6eacd2dae
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Anubis.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Anubis__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Anubis__
+
+#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$Anubis;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Anubis : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Anubis(::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$Anubis__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h
new file mode 100644
index 000000000..597aefae4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Blowfish.h
@@ -0,0 +1,42 @@
+
+// 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__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h
new file mode 100644
index 000000000..65b6f9d79
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Cast5.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Cast5__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Cast5__
+
+#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$Cast5;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Cast5 : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Cast5(::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$Cast5__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h
new file mode 100644
index 000000000..e5945e4cc
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$DES.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$DES__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$DES__
+
+#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$DES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$DES : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$DES(::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$DES__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h
new file mode 100644
index 000000000..e15074a3a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Khazad.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Khazad__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Khazad__
+
+#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$Khazad;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Khazad : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Khazad(::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$Khazad__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h
new file mode 100644
index 000000000..e337ef96b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Rijndael.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Rijndael__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Rijndael__
+
+#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$Rijndael;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Rijndael : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Rijndael(::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$Rijndael__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h
new file mode 100644
index 000000000..8e5b0640c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Serpent.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Serpent__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Serpent__
+
+#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$Serpent;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Serpent : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Serpent(::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$Serpent__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h
new file mode 100644
index 000000000..0f90c75b3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Square.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Square__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Square__
+
+#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$Square;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Square : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Square(::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$Square__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h
new file mode 100644
index 000000000..0b7d3d9e2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$TripleDES.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$TripleDES__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$TripleDES__
+
+#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$TripleDES;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$TripleDES : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$TripleDES(::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$TripleDES__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h
new file mode 100644
index 000000000..c398f3de4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl$Twofish.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl$Twofish__
+#define __gnu_javax_crypto_jce_mac_OMacImpl$Twofish__
+
+#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$Twofish;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl$Twofish : public ::gnu::javax::crypto::jce::mac::OMacImpl
+{
+
+public:
+  OMacImpl$Twofish(::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$Twofish__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h
new file mode 100644
index 000000000..fce8e1ad0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacImpl.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacImpl__
+#define __gnu_javax_crypto_jce_mac_OMacImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public: // actually protected
+  OMacImpl(::java::lang::String *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h
new file mode 100644
index 000000000..817790646
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacKhazadImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacKhazadImpl__
+#define __gnu_javax_crypto_jce_mac_OMacKhazadImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacKhazadImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacKhazadImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacKhazadImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacKhazadImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h
new file mode 100644
index 000000000..d785945f7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacRijndaelImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__
+#define __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacRijndaelImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacRijndaelImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacRijndaelImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacRijndaelImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h
new file mode 100644
index 000000000..d5a2f4cfd
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacSerpentImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacSerpentImpl__
+#define __gnu_javax_crypto_jce_mac_OMacSerpentImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacSerpentImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacSerpentImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacSerpentImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacSerpentImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h
new file mode 100644
index 000000000..b7952b33e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacSquareImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacSquareImpl__
+#define __gnu_javax_crypto_jce_mac_OMacSquareImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacSquareImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacSquareImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacSquareImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacSquareImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h
new file mode 100644
index 000000000..1c907e1d0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacTripleDESImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__
+#define __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacTripleDESImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacTripleDESImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacTripleDESImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacTripleDESImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h b/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h
new file mode 100644
index 000000000..24189f079
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/OMacTwofishImpl.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_OMacTwofishImpl__
+#define __gnu_javax_crypto_jce_mac_OMacTwofishImpl__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class OMacTwofishImpl;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::OMacTwofishImpl : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  OMacTwofishImpl();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_OMacTwofishImpl__
diff --git a/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h b/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h
new file mode 100644
index 000000000..e70700874
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/TMMH16Spi.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_TMMH16Spi__
+#define __gnu_javax_crypto_jce_mac_TMMH16Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class TMMH16Spi;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::TMMH16Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  TMMH16Spi();
+public: // actually protected
+  void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_TMMH16Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h b/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h
new file mode 100644
index 000000000..67449d495
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/UHash32Spi.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_UHash32Spi__
+#define __gnu_javax_crypto_jce_mac_UHash32Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class UHash32Spi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::UHash32Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  UHash32Spi();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_UHash32Spi__
diff --git a/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h b/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h
new file mode 100644
index 000000000..37daf31f8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/mac/UMac32Spi.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_mac_UMac32Spi__
+#define __gnu_javax_crypto_jce_mac_UMac32Spi__
+
+#pragma interface
+
+#include <gnu/javax/crypto/jce/mac/MacAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace mac
+          {
+              class UMac32Spi;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::mac::UMac32Spi : public ::gnu::javax::crypto::jce::mac::MacAdapter
+{
+
+public:
+  UMac32Spi();
+public: // actually protected
+  void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_mac_UMac32Spi__
diff --git a/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h b/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h
new file mode 100644
index 000000000..8a506c0cb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/params/BlockCipherParameters.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_params_BlockCipherParameters__
+#define __gnu_javax_crypto_jce_params_BlockCipherParameters__
+
+#pragma interface
+
+#include <java/security/AlgorithmParametersSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace params
+          {
+              class BlockCipherParameters;
+          }
+          namespace spec
+          {
+              class BlockCipherParameterSpec;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::params::BlockCipherParameters : public ::java::security::AlgorithmParametersSpi
+{
+
+public:
+  BlockCipherParameters();
+public: // actually protected
+  virtual JArray< jbyte > * engineGetEncoded();
+  virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *);
+  virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *);
+  virtual void engineInit(JArray< jbyte > *, ::java::lang::String *);
+  virtual void engineInit(JArray< jbyte > *);
+  virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *);
+  virtual ::java::lang::String * engineToString();
+private:
+  static ::java::util::logging::Logger * log;
+public: // actually protected
+  ::gnu::javax::crypto::jce::spec::BlockCipherParameterSpec * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) cipherSpec;
+private:
+  static ::java::lang::String * DEFAULT_FORMAT;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_params_BlockCipherParameters__
diff --git a/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h b/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h
new file mode 100644
index 000000000..6d47c98e4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/params/DEREncodingException.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_params_DEREncodingException__
+#define __gnu_javax_crypto_jce_params_DEREncodingException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace params
+          {
+              class DEREncodingException;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::params::DEREncodingException : public ::java::io::IOException
+{
+
+public:
+  DEREncodingException();
+  DEREncodingException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_params_DEREncodingException__
diff --git a/libjava/gnu/javax/crypto/jce/params/DERReader.h b/libjava/gnu/javax/crypto/jce/params/DERReader.h
new file mode 100644
index 000000000..1a85bc483
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/params/DERReader.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_params_DERReader__
+#define __gnu_javax_crypto_jce_params_DERReader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace params
+          {
+              class DERReader;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::params::DERReader : public ::java::lang::Object
+{
+
+public:
+  DERReader();
+  DERReader(JArray< jbyte > *);
+  virtual void init(::java::lang::String *);
+  virtual void init(JArray< jbyte > *);
+  virtual jboolean hasMorePrimitives();
+  virtual ::java::math::BigInteger * getBigInteger();
+private:
+  JArray< jbyte > * getPrimitive();
+  jint translateLeadIdentifierByte(jbyte);
+  jint getIdentifier(jint);
+public: // actually package-private
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) source;
+  jint pos;
+  static const jint UNIVERSAL = 1;
+  static const jint APPLICATION = 2;
+  static const jint CONTEXT_SPECIFIC = 3;
+  static const jint PRIVATE = 4;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_params_DERReader__
diff --git a/libjava/gnu/javax/crypto/jce/params/DERWriter.h b/libjava/gnu/javax/crypto/jce/params/DERWriter.h
new file mode 100644
index 000000000..742d4934c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/params/DERWriter.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_params_DERWriter__
+#define __gnu_javax_crypto_jce_params_DERWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace params
+          {
+              class DERWriter;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::params::DERWriter : public ::java::lang::Object
+{
+
+public:
+  DERWriter();
+  virtual JArray< jbyte > * writeBigInteger(::java::math::BigInteger *);
+private:
+  JArray< jbyte > * writePrimitive(jint, jint, jint, JArray< jbyte > *);
+public:
+  virtual JArray< jbyte > * joinarrays(JArray< jbyte > *, JArray< jbyte > *);
+  virtual JArray< jbyte > * joinarrays(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+private:
+  JArray< jbyte > * generateIdentifier(jint, jint);
+  jbyte translateLeadIdentifierByte(jint);
+  JArray< jbyte > * generateLength(jint);
+public: // actually package-private
+  static const jint UNIVERSAL = 1;
+  static const jint APPLICATION = 2;
+  static const jint CONTEXT_SPECIFIC = 3;
+  static const jint PRIVATE = 4;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_params_DERWriter__
diff --git a/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h
new file mode 100644
index 000000000..e46dee30b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/prng/ARCFourRandomSpi.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__
+#define __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace prng
+          {
+              class ARCFourRandomSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::prng::ARCFourRandomSpi : public ::java::security::SecureRandomSpi
+{
+
+public:
+  ARCFourRandomSpi();
+  virtual JArray< jbyte > * engineGenerateSeed(jint);
+  virtual void engineNextBytes(JArray< jbyte > *);
+  virtual void engineSetSeed(JArray< jbyte > *);
+private:
+  ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee;
+  jboolean virgin;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_prng_ARCFourRandomSpi__
diff --git a/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h b/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h
new file mode 100644
index 000000000..6abf9be9e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/prng/CSPRNGSpi.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_prng_CSPRNGSpi__
+#define __gnu_javax_crypto_jce_prng_CSPRNGSpi__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace prng
+          {
+              class CSPRNGSpi;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::prng::CSPRNGSpi : public ::java::security::SecureRandomSpi
+{
+
+public:
+  CSPRNGSpi();
+public: // actually protected
+  virtual JArray< jbyte > * engineGenerateSeed(jint);
+  virtual void engineNextBytes(JArray< jbyte > *);
+  virtual void engineSetSeed(JArray< jbyte > *);
+private:
+  ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee;
+  jboolean virgin;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_prng_CSPRNGSpi__
diff --git a/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h b/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h
new file mode 100644
index 000000000..d684e366a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/prng/FortunaImpl.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_prng_FortunaImpl__
+#define __gnu_javax_crypto_jce_prng_FortunaImpl__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace prng
+          {
+              class FortunaImpl;
+          }
+        }
+        namespace prng
+        {
+            class Fortuna;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::prng::FortunaImpl : public ::java::security::SecureRandomSpi
+{
+
+public:
+  FortunaImpl();
+public: // actually protected
+  void engineSetSeed(JArray< jbyte > *);
+  void engineNextBytes(JArray< jbyte > *);
+  JArray< jbyte > * engineGenerateSeed(jint);
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) virgin;
+  ::gnu::javax::crypto::prng::Fortuna * adaptee;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_prng_FortunaImpl__
diff --git a/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h
new file mode 100644
index 000000000..540349362
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/prng/ICMRandomSpi.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_prng_ICMRandomSpi__
+#define __gnu_javax_crypto_jce_prng_ICMRandomSpi__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace prng
+          {
+              class ICMRandomSpi;
+          }
+        }
+        namespace prng
+        {
+            class ICMGenerator;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::prng::ICMRandomSpi : public ::java::security::SecureRandomSpi
+{
+
+public:
+  ICMRandomSpi();
+private:
+  static void resetLocalPRNG();
+public:
+  virtual JArray< jbyte > * engineGenerateSeed(jint);
+  virtual void engineNextBytes(JArray< jbyte > *);
+  virtual void engineSetSeed(JArray< jbyte > *);
+private:
+  static ::java::util::logging::Logger * log;
+  static ::gnu::javax::crypto::prng::ICMGenerator * prng;
+  static ::java::lang::String * MSG;
+  static ::java::lang::String * RETRY;
+  static ::java::lang::String * LIMIT_REACHED_MSG;
+  static ::java::lang::String * RESEED;
+  ::gnu::javax::crypto::prng::ICMGenerator * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_prng_ICMRandomSpi__
diff --git a/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h b/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h
new file mode 100644
index 000000000..e27425a0b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/prng/UMacRandomSpi.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_prng_UMacRandomSpi__
+#define __gnu_javax_crypto_jce_prng_UMacRandomSpi__
+
+#pragma interface
+
+#include <java/security/SecureRandomSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace prng
+          {
+              class UMacRandomSpi;
+          }
+        }
+        namespace prng
+        {
+            class UMacGenerator;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::prng::UMacRandomSpi : public ::java::security::SecureRandomSpi
+{
+
+public:
+  UMacRandomSpi();
+private:
+  static void resetLocalPRNG();
+public:
+  virtual JArray< jbyte > * engineGenerateSeed(jint);
+  virtual void engineNextBytes(JArray< jbyte > *);
+  virtual void engineSetSeed(JArray< jbyte > *);
+private:
+  static ::java::util::logging::Logger * log;
+  static ::gnu::javax::crypto::prng::UMacGenerator * prng;
+  static ::java::lang::String * MSG;
+  static ::java::lang::String * RETRY;
+  ::gnu::javax::crypto::prng::UMacGenerator * __attribute__((aligned(__alignof__( ::java::security::SecureRandomSpi)))) adaptee;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_prng_UMacRandomSpi__
diff --git a/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h b/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h
new file mode 100644
index 000000000..99e937310
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/sig/DHKeyFactory.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_sig_DHKeyFactory__
+#define __gnu_javax_crypto_jce_sig_DHKeyFactory__
+
+#pragma interface
+
+#include <java/security/KeyFactorySpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace sig
+          {
+              class DHKeyFactory;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+        class PrivateKey;
+        class PublicKey;
+      namespace spec
+      {
+          class KeySpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::sig::DHKeyFactory : public ::java::security::KeyFactorySpi
+{
+
+public:
+  DHKeyFactory();
+public: // actually protected
+  virtual ::java::security::PublicKey * engineGeneratePublic(::java::security::spec::KeySpec *);
+  virtual ::java::security::PrivateKey * engineGeneratePrivate(::java::security::spec::KeySpec *);
+  virtual ::java::security::spec::KeySpec * engineGetKeySpec(::java::security::Key *, ::java::lang::Class *);
+  virtual ::java::security::Key * engineTranslateKey(::java::security::Key *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_sig_DHKeyFactory__
diff --git a/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h b/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h
new file mode 100644
index 000000000..9421af833
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/sig/DHKeyPairGeneratorSpi.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__
+#define __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__
+
+#pragma interface
+
+#include <gnu/java/security/jce/sig/KeyPairGeneratorAdapter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace sig
+          {
+              class DHKeyPairGeneratorSpi;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::sig::DHKeyPairGeneratorSpi : public ::gnu::java::security::jce::sig::KeyPairGeneratorAdapter
+{
+
+public:
+  DHKeyPairGeneratorSpi();
+  virtual void initialize(jint, ::java::security::SecureRandom *);
+  virtual void initialize(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_sig_DHKeyPairGeneratorSpi__
diff --git a/libjava/gnu/javax/crypto/jce/sig/DHParameters.h b/libjava/gnu/javax/crypto/jce/sig/DHParameters.h
new file mode 100644
index 000000000..43f53fe85
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/sig/DHParameters.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_sig_DHParameters__
+#define __gnu_javax_crypto_jce_sig_DHParameters__
+
+#pragma interface
+
+#include <java/security/AlgorithmParametersSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace sig
+          {
+              class DHParameters;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::sig::DHParameters : public ::java::security::AlgorithmParametersSpi
+{
+
+public:
+  DHParameters();
+public: // actually protected
+  virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *);
+  virtual void engineInit(JArray< jbyte > *);
+  virtual void engineInit(JArray< jbyte > *, ::java::lang::String *);
+  virtual ::java::security::spec::AlgorithmParameterSpec * engineGetParameterSpec(::java::lang::Class *);
+  virtual JArray< jbyte > * engineGetEncoded();
+  virtual JArray< jbyte > * engineGetEncoded(::java::lang::String *);
+  virtual ::java::lang::String * engineToString();
+private:
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::security::AlgorithmParametersSpi)))) p;
+  ::java::math::BigInteger * g;
+  ::java::math::BigInteger * q;
+  jint l;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_sig_DHParameters__
diff --git a/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h b/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h
new file mode 100644
index 000000000..4c2b43b7e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/sig/DHParametersGenerator.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_sig_DHParametersGenerator__
+#define __gnu_javax_crypto_jce_sig_DHParametersGenerator__
+
+#pragma interface
+
+#include <java/security/AlgorithmParameterGeneratorSpi.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace sig
+          {
+              class DHParametersGenerator;
+          }
+        }
+        namespace key
+        {
+          namespace dh
+          {
+              class RFC2631;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class AlgorithmParameters;
+        class Provider;
+        class SecureRandom;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::sig::DHParametersGenerator : public ::java::security::AlgorithmParameterGeneratorSpi
+{
+
+public:
+  DHParametersGenerator();
+public: // actually protected
+  virtual void engineInit(jint, ::java::security::SecureRandom *);
+  virtual void engineInit(::java::security::spec::AlgorithmParameterSpec *, ::java::security::SecureRandom *);
+  virtual ::java::security::AlgorithmParameters * engineGenerateParameters();
+private:
+  static ::java::security::Provider * GNU_CRYPTO;
+  jint __attribute__((aligned(__alignof__( ::java::security::AlgorithmParameterGeneratorSpi)))) modulusSize;
+  jint exponentSize;
+  ::java::security::SecureRandom * rnd;
+  ::gnu::javax::crypto::key::dh::RFC2631 * rfc2631;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_sig_DHParametersGenerator__
diff --git a/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h
new file mode 100644
index 000000000..166ed5897
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/spec/BlockCipherParameterSpec.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__
+#define __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace spec
+          {
+              class BlockCipherParameterSpec;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::spec::BlockCipherParameterSpec : public ::java::lang::Object
+{
+
+public:
+  BlockCipherParameterSpec(JArray< jbyte > *, jint, jint);
+  BlockCipherParameterSpec(jint, jint);
+  virtual JArray< jbyte > * getIV();
+  virtual jint getBlockSize();
+  virtual jint getKeySize();
+  virtual ::java::lang::String * toString();
+public: // actually protected
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) iv;
+  jint blockSize;
+  jint keySize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_spec_BlockCipherParameterSpec__
diff --git a/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h
new file mode 100644
index 000000000..26fca5d09
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/spec/TMMHParameterSpec.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_spec_TMMHParameterSpec__
+#define __gnu_javax_crypto_jce_spec_TMMHParameterSpec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace spec
+          {
+              class TMMHParameterSpec;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::spec::TMMHParameterSpec : public ::java::lang::Object
+{
+
+public:
+  TMMHParameterSpec(::gnu::java::security::prng::IRandom *, ::java::lang::Integer *, JArray< jbyte > *);
+  TMMHParameterSpec(::gnu::java::security::prng::IRandom *, ::java::lang::Integer *);
+  virtual ::gnu::java::security::prng::IRandom * getKeystream();
+  virtual ::java::lang::Integer * getTagLength();
+  virtual JArray< jbyte > * getPrefix();
+public: // actually protected
+  ::gnu::java::security::prng::IRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keystream;
+  ::java::lang::Integer * tagLength;
+  JArray< jbyte > * prefix;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_spec_TMMHParameterSpec__
diff --git a/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h b/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h
new file mode 100644
index 000000000..81c2c21e7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/jce/spec/UMac32ParameterSpec.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__
+#define __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace jce
+        {
+          namespace spec
+          {
+              class UMac32ParameterSpec;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::jce::spec::UMac32ParameterSpec : public ::java::lang::Object
+{
+
+public:
+  UMac32ParameterSpec(JArray< jbyte > *);
+  virtual JArray< jbyte > * getNonce();
+public: // actually protected
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nonce;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_jce_spec_UMac32ParameterSpec__
diff --git a/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h b/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h
new file mode 100644
index 000000000..20d76e632
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/BaseKeyAgreementParty.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_BaseKeyAgreementParty__
+#define __gnu_javax_crypto_key_BaseKeyAgreementParty__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class BaseKeyAgreementParty;
+            class IncomingMessage;
+            class OutgoingMessage;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class SecureRandom;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::BaseKeyAgreementParty : public ::java::lang::Object
+{
+
+public: // actually protected
+  BaseKeyAgreementParty(::java::lang::String *);
+public:
+  virtual ::java::lang::String * name();
+  virtual void init(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * processMessage(::gnu::javax::crypto::key::IncomingMessage *);
+  virtual jboolean isComplete();
+  virtual JArray< jbyte > * getSharedSecret();
+  virtual void reset();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *) = 0;
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *) = 0;
+  virtual JArray< jbyte > * engineSharedSecret() = 0;
+  virtual void engineReset() = 0;
+  virtual void nextRandomBytes(JArray< jbyte > *);
+private:
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+public: // actually protected
+  static ::java::math::BigInteger * TWO;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+  jboolean initialised;
+  jint step;
+  jboolean complete;
+  ::java::security::SecureRandom * rnd;
+  ::gnu::java::security::prng::IRandom * irnd;
+private:
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_BaseKeyAgreementParty__
diff --git a/libjava/gnu/javax/crypto/key/GnuPBEKey.h b/libjava/gnu/javax/crypto/key/GnuPBEKey.h
new file mode 100644
index 000000000..e52cd5e3c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/GnuPBEKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_GnuPBEKey__
+#define __gnu_javax_crypto_key_GnuPBEKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class GnuPBEKey;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace spec
+      {
+          class PBEKeySpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::GnuPBEKey : public ::java::lang::Object
+{
+
+public:
+  GnuPBEKey(::javax::crypto::spec::PBEKeySpec *);
+  GnuPBEKey(JArray< jchar > *, JArray< jbyte > *, jint);
+  virtual jint getIterationCount();
+  virtual JArray< jchar > * getPassword();
+  virtual JArray< jbyte > * getSalt();
+  virtual ::java::lang::String * getAlgorithm();
+  virtual ::java::lang::String * getFormat();
+  virtual JArray< jbyte > * getEncoded();
+private:
+  ::javax::crypto::spec::PBEKeySpec * __attribute__((aligned(__alignof__( ::java::lang::Object)))) spec;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_GnuPBEKey__
diff --git a/libjava/gnu/javax/crypto/key/GnuSecretKey.h b/libjava/gnu/javax/crypto/key/GnuSecretKey.h
new file mode 100644
index 000000000..b9a3133d6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/GnuSecretKey.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_GnuSecretKey__
+#define __gnu_javax_crypto_key_GnuSecretKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class GnuSecretKey;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::GnuSecretKey : public ::java::lang::Object
+{
+
+public:
+  GnuSecretKey(JArray< jbyte > *, ::java::lang::String *);
+  GnuSecretKey(JArray< jbyte > *, jint, jint, ::java::lang::String *);
+  virtual ::java::lang::String * getAlgorithm();
+  virtual JArray< jbyte > * getEncoded();
+  virtual ::java::lang::String * getFormat();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+  ::java::lang::String * algorithm;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_GnuSecretKey__
diff --git a/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h b/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h
new file mode 100644
index 000000000..4fb301943
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/IKeyAgreementParty.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_IKeyAgreementParty__
+#define __gnu_javax_crypto_key_IKeyAgreementParty__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IKeyAgreementParty;
+            class IncomingMessage;
+            class OutgoingMessage;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::IKeyAgreementParty : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::String * name() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * processMessage(::gnu::javax::crypto::key::IncomingMessage *) = 0;
+  virtual jboolean isComplete() = 0;
+  virtual JArray< jbyte > * getSharedSecret() = 0;
+  virtual void reset() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_key_IKeyAgreementParty__
diff --git a/libjava/gnu/javax/crypto/key/IncomingMessage.h b/libjava/gnu/javax/crypto/key/IncomingMessage.h
new file mode 100644
index 000000000..ed3f33a57
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/IncomingMessage.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_IncomingMessage__
+#define __gnu_javax_crypto_key_IncomingMessage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace key
+        {
+            class IKeyPairCodec;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::IncomingMessage : public ::java::lang::Object
+{
+
+public:
+  IncomingMessage(JArray< jbyte > *);
+private:
+  IncomingMessage();
+public:
+  static ::gnu::javax::crypto::key::IncomingMessage * getInstance(JArray< jbyte > *);
+  static ::gnu::javax::crypto::key::IncomingMessage * getInstance(JArray< jbyte > *, jint, jint);
+  static jint twoBytesToLength(JArray< jbyte > *);
+  static jint fourBytesToLength(JArray< jbyte > *);
+  virtual jboolean hasMoreElements();
+  virtual ::java::security::PublicKey * readPublicKey();
+  virtual ::java::security::PrivateKey * readPrivateKey();
+  virtual ::java::math::BigInteger * readMPI();
+  virtual ::java::lang::String * readString();
+private:
+  ::gnu::java::security::key::IKeyPairCodec * getKeyPairCodec(jint);
+public: // actually protected
+  ::java::io::ByteArrayInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in;
+  jint length;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_IncomingMessage__
diff --git a/libjava/gnu/javax/crypto/key/KeyAgreementException.h b/libjava/gnu/javax/crypto/key/KeyAgreementException.h
new file mode 100644
index 000000000..77bc760d1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/KeyAgreementException.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_KeyAgreementException__
+#define __gnu_javax_crypto_key_KeyAgreementException__
+
+#pragma interface
+
+#include <java/security/KeyManagementException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class KeyAgreementException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::KeyAgreementException : public ::java::security::KeyManagementException
+{
+
+public:
+  KeyAgreementException();
+  KeyAgreementException(::java::lang::String *);
+  KeyAgreementException(::java::lang::String *, ::java::lang::Throwable *);
+  virtual ::java::lang::Throwable * getCause();
+  virtual void printStackTrace();
+  virtual void printStackTrace(::java::io::PrintStream *);
+  virtual void printStackTrace(::java::io::PrintWriter *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::security::KeyManagementException)))) cause;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_KeyAgreementException__
diff --git a/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h b/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h
new file mode 100644
index 000000000..abbfd2871
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/KeyAgreementFactory.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_KeyAgreementFactory__
+#define __gnu_javax_crypto_key_KeyAgreementFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IKeyAgreementParty;
+            class KeyAgreementFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::KeyAgreementFactory : public ::java::lang::Object
+{
+
+  KeyAgreementFactory();
+public:
+  static ::gnu::javax::crypto::key::IKeyAgreementParty * getPartyAInstance(::java::lang::String *);
+  static ::gnu::javax::crypto::key::IKeyAgreementParty * getPartyBInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_KeyAgreementFactory__
diff --git a/libjava/gnu/javax/crypto/key/OutgoingMessage.h b/libjava/gnu/javax/crypto/key/OutgoingMessage.h
new file mode 100644
index 000000000..8f46a1e16
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/OutgoingMessage.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_OutgoingMessage__
+#define __gnu_javax_crypto_key_OutgoingMessage__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class OutgoingMessage;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class Key;
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::OutgoingMessage : public ::java::lang::Object
+{
+
+public:
+  OutgoingMessage();
+  virtual JArray< jbyte > * toByteArray();
+  virtual JArray< jbyte > * wrap();
+  virtual void writePublicKey(::java::security::PublicKey *);
+  virtual void writePrivateKey(::java::security::PrivateKey *);
+  virtual void writeMPI(::java::math::BigInteger *);
+  virtual void writeString(::java::lang::String *);
+private:
+  void writeKey(::java::security::Key *);
+  jint getKeyType(::java::security::Key *);
+  ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_OutgoingMessage__
diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h
new file mode 100644
index 000000000..17e0ccea0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__
+#define __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+          class OID;
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class DHKeyPairPKCS8Codec;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DHKeyPairPKCS8Codec : public ::java::lang::Object
+{
+
+public:
+  DHKeyPairPKCS8Codec();
+  virtual jint getFormatID();
+  virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+  virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+  virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+  virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+  static ::gnu::java::security::OID * DH_ALG_OID;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DHKeyPairPKCS8Codec__
diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h
new file mode 100644
index 000000000..1c5507c98
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairRawCodec.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__
+#define __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class DHKeyPairRawCodec;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DHKeyPairRawCodec : public ::java::lang::Object
+{
+
+public:
+  DHKeyPairRawCodec();
+  virtual jint getFormatID();
+  virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+  virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+  virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+  virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DHKeyPairRawCodec__
diff --git a/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h b/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h
new file mode 100644
index 000000000..a52ab8adc
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__
+#define __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+          class OID;
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class DHKeyPairX509Codec;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DHKeyPairX509Codec : public ::java::lang::Object
+{
+
+public:
+  DHKeyPairX509Codec();
+  virtual jint getFormatID();
+  virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+  virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+  virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+  virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+private:
+  static ::gnu::java::security::OID * DH_ALG_OID;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DHKeyPairX509Codec__
diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h
new file mode 100644
index 000000000..c592f769a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__
+#define __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/BaseKeyAgreementParty.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class DiffieHellmanKeyAgreement;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class DHPrivateKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty
+{
+
+public: // actually protected
+  DiffieHellmanKeyAgreement();
+  virtual JArray< jbyte > * engineSharedSecret();
+  virtual void engineReset();
+public:
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+  static ::java::lang::String * KA_DIFFIE_HELLMAN_OWNER_PRIVATE_KEY;
+public: // actually protected
+  ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) ownerKey;
+  ::java::math::BigInteger * ZZ;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DiffieHellmanKeyAgreement__
diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h
new file mode 100644
index 000000000..56bae1b6f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanReceiver.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__
+#define __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace dh
+          {
+              class DiffieHellmanReceiver;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DiffieHellmanReceiver : public ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement
+{
+
+public:
+  DiffieHellmanReceiver();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement)))) y;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DiffieHellmanReceiver__
diff --git a/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h
new file mode 100644
index 000000000..ff9ab2984
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/DiffieHellmanSender.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_DiffieHellmanSender__
+#define __gnu_javax_crypto_key_dh_DiffieHellmanSender__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/DiffieHellmanKeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace dh
+          {
+              class DiffieHellmanSender;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::DiffieHellmanSender : public ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement
+{
+
+public:
+  DiffieHellmanSender();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * sendRandomSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::DiffieHellmanKeyAgreement)))) x;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_DiffieHellmanSender__
diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h b/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h
new file mode 100644
index 000000000..d167c7ce1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__
+#define __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/BaseKeyAgreementParty.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class ElGamalKeyAgreement;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::ElGamalKeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty
+{
+
+public: // actually protected
+  ElGamalKeyAgreement();
+  virtual JArray< jbyte > * engineSharedSecret();
+  virtual void engineReset();
+public:
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+  static ::java::lang::String * KA_ELGAMAL_RECIPIENT_PRIVATE_KEY;
+  static ::java::lang::String * KA_ELGAMAL_RECIPIENT_PUBLIC_KEY;
+public: // actually protected
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) ZZ;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_ElGamalKeyAgreement__
diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h b/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h
new file mode 100644
index 000000000..cba0013d3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/ElGamalReceiver.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_ElGamalReceiver__
+#define __gnu_javax_crypto_key_dh_ElGamalReceiver__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace dh
+          {
+              class ElGamalReceiver;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class DHPrivateKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::ElGamalReceiver : public ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement
+{
+
+public:
+  ElGamalReceiver();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::javax::crypto::interfaces::DHPrivateKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement)))) B;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_ElGamalReceiver__
diff --git a/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h b/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h
new file mode 100644
index 000000000..487867fd6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/ElGamalSender.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_ElGamalSender__
+#define __gnu_javax_crypto_key_dh_ElGamalSender__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/ElGamalKeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace dh
+          {
+              class ElGamalSender;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class DHPublicKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::ElGamalSender : public ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement
+{
+
+public:
+  ElGamalSender();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::ElGamalKeyAgreement)))) B;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_ElGamalSender__
diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h
new file mode 100644
index 000000000..2d8f29222
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/GnuDHKey.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_GnuDHKey__
+#define __gnu_javax_crypto_key_dh_GnuDHKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class GnuDHKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace spec
+      {
+          class DHParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::GnuDHKey : public ::java::lang::Object
+{
+
+public: // actually protected
+  GnuDHKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+public:
+  virtual ::javax::crypto::spec::DHParameterSpec * getParams();
+  virtual ::java::lang::String * getAlgorithm();
+  virtual JArray< jbyte > * getEncoded();
+  virtual ::java::lang::String * getFormat();
+  virtual ::java::math::BigInteger * getQ();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+  virtual JArray< jbyte > * getEncoded(jint) = 0;
+public: // actually protected
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) q;
+  ::java::math::BigInteger * p;
+  ::java::math::BigInteger * g;
+  jint defaultFormat;
+private:
+  ::java::lang::String * str;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_GnuDHKey__
diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h b/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h
new file mode 100644
index 000000000..aaab2bf51
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/GnuDHKeyPairGenerator.h
@@ -0,0 +1,96 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__
+#define __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class Sha160;
+        }
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class GnuDHKeyPairGenerator;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class KeyPair;
+        class SecureRandom;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::GnuDHKeyPairGenerator : public ::java::lang::Object
+{
+
+public:
+  GnuDHKeyPairGenerator();
+  virtual ::java::lang::String * name();
+  virtual void setup(::java::util::Map *);
+  virtual ::java::security::KeyPair * generate();
+private:
+  void nextRandomBytes(JArray< jbyte > *);
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+  static ::java::util::logging::Logger * log;
+public:
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+  static ::java::lang::String * DH_PARAMETERS;
+  static ::java::lang::String * PRIME_SIZE;
+  static ::java::lang::String * EXPONENT_SIZE;
+  static ::java::lang::String * PREFERRED_ENCODING_FORMAT;
+  static const jint DEFAULT_PRIME_SIZE = 512;
+  static const jint DEFAULT_EXPONENT_SIZE = 160;
+private:
+  static const jint DEFAULT_ENCODING_FORMAT = 1;
+  ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha;
+  ::java::security::SecureRandom * rnd;
+  jint l;
+  jint m;
+  ::java::math::BigInteger * seed;
+  ::java::math::BigInteger * counter;
+  ::java::math::BigInteger * q;
+  ::java::math::BigInteger * p;
+  ::java::math::BigInteger * j;
+  ::java::math::BigInteger * g;
+  ::gnu::java::security::util::PRNG * prng;
+  jint preferredFormat;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_GnuDHKeyPairGenerator__
diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h
new file mode 100644
index 000000000..142262255
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/GnuDHPrivateKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_GnuDHPrivateKey__
+#define __gnu_javax_crypto_key_dh_GnuDHPrivateKey__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/GnuDHKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class GnuDHPrivateKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::GnuDHPrivateKey : public ::gnu::javax::crypto::key::dh::GnuDHKey
+{
+
+public:
+  GnuDHPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  GnuDHPrivateKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  static ::gnu::javax::crypto::key::dh::GnuDHPrivateKey * valueOf(JArray< jbyte > *);
+  virtual ::java::math::BigInteger * getX();
+  virtual JArray< jbyte > * getEncoded(jint);
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::GnuDHKey)))) x;
+  ::java::lang::String * str;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_GnuDHPrivateKey__
diff --git a/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h b/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h
new file mode 100644
index 000000000..980e7f74b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/GnuDHPublicKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_GnuDHPublicKey__
+#define __gnu_javax_crypto_key_dh_GnuDHPublicKey__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/dh/GnuDHKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class GnuDHPublicKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::GnuDHPublicKey : public ::gnu::javax::crypto::key::dh::GnuDHKey
+{
+
+public:
+  GnuDHPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  GnuDHPublicKey(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  static ::gnu::javax::crypto::key::dh::GnuDHPublicKey * valueOf(JArray< jbyte > *);
+  virtual ::java::math::BigInteger * getY();
+  virtual JArray< jbyte > * getEncoded(jint);
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::dh::GnuDHKey)))) y;
+  ::java::lang::String * str;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_GnuDHPublicKey__
diff --git a/libjava/gnu/javax/crypto/key/dh/RFC2631.h b/libjava/gnu/javax/crypto/key/dh/RFC2631.h
new file mode 100644
index 000000000..36f1f46c0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/dh/RFC2631.h
@@ -0,0 +1,84 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_dh_RFC2631__
+#define __gnu_javax_crypto_key_dh_RFC2631__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class Sha160;
+        }
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class RFC2631;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class SecureRandom;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::dh::RFC2631 : public ::java::lang::Object
+{
+
+public:
+  RFC2631(jint, jint, ::java::security::SecureRandom *);
+  virtual JArray< ::java::math::BigInteger * > * generateParameters();
+private:
+  void nextRandomBytes(JArray< jbyte > *);
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+public:
+  static const jint DH_PARAMS_SEED = 0;
+  static const jint DH_PARAMS_COUNTER = 1;
+  static const jint DH_PARAMS_Q = 2;
+  static const jint DH_PARAMS_P = 3;
+  static const jint DH_PARAMS_J = 4;
+  static const jint DH_PARAMS_G = 5;
+private:
+  static ::java::math::BigInteger * TWO;
+  ::gnu::java::security::hash::Sha160 * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sha;
+  jint m;
+  jint L;
+  ::java::security::SecureRandom * rnd;
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_dh_RFC2631__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h b/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h
new file mode 100644
index 000000000..34913f031
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6Host.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6Host__
+#define __gnu_javax_crypto_key_srp6_SRP6Host__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6Host;
+          }
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SRPAuthInfoProvider;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6Host : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement
+{
+
+public:
+  SRP6Host();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+  virtual void engineReset();
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::java::security::KeyPair * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) hostKeyPair;
+  ::gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider * passwordDB;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6Host__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h b/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h
new file mode 100644
index 000000000..7479d7e68
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__
+#define __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/BaseKeyAgreementParty.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRP6KeyAgreement;
+          }
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SRP;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6KeyAgreement : public ::gnu::javax::crypto::key::BaseKeyAgreementParty
+{
+
+public: // actually protected
+  SRP6KeyAgreement();
+  virtual JArray< jbyte > * engineSharedSecret();
+  virtual void engineReset();
+  virtual ::java::math::BigInteger * uValue(::java::math::BigInteger *, ::java::math::BigInteger *);
+public:
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+  static ::java::lang::String * SHARED_MODULUS;
+  static ::java::lang::String * GENERATOR;
+  static ::java::lang::String * HASH_FUNCTION;
+  static ::java::lang::String * USER_IDENTITY;
+  static ::java::lang::String * USER_PASSWORD;
+  static ::java::lang::String * HOST_PASSWORD_DB;
+public: // actually protected
+  static ::java::math::BigInteger * THREE;
+  ::gnu::javax::crypto::sasl::srp::SRP * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::BaseKeyAgreementParty)))) srp;
+  ::java::math::BigInteger * N;
+  ::java::math::BigInteger * g;
+  ::java::math::BigInteger * K;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6KeyAgreement__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h
new file mode 100644
index 000000000..179741557
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslClient.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6SaslClient__
+#define __gnu_javax_crypto_key_srp6_SRP6SaslClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6TLSClient.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6SaslClient;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6SaslClient : public ::gnu::javax::crypto::key::srp6::SRP6TLSClient
+{
+
+public:
+  SRP6SaslClient();
+public: // actually protected
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6SaslClient__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h
new file mode 100644
index 000000000..5ac6a478e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6SaslServer.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6SaslServer__
+#define __gnu_javax_crypto_key_srp6_SRP6SaslServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6TLSServer.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6SaslServer;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6SaslServer : public ::gnu::javax::crypto::key::srp6::SRP6TLSServer
+{
+
+public:
+  SRP6SaslServer();
+public: // actually protected
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6SaslServer__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h
new file mode 100644
index 000000000..b5df35136
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSClient.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6TLSClient__
+#define __gnu_javax_crypto_key_srp6_SRP6TLSClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6TLSClient;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6TLSClient : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement
+{
+
+public:
+  SRP6TLSClient();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+  virtual void engineReset();
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * sendIdentity(::gnu::javax::crypto::key::IncomingMessage *);
+public: // actually protected
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) I;
+  JArray< jbyte > * p;
+  ::java::security::KeyPair * userKeyPair;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6TLSClient__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h
new file mode 100644
index 000000000..facb7cbb7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6TLSServer.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6TLSServer__
+#define __gnu_javax_crypto_key_srp6_SRP6TLSServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6TLSServer;
+          }
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SRPAuthInfoProvider;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6TLSServer : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement
+{
+
+public:
+  SRP6TLSServer();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+  virtual void engineReset();
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * sendParameters(::gnu::javax::crypto::key::IncomingMessage *);
+public: // actually protected
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+private:
+  ::java::security::KeyPair * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) hostKeyPair;
+  ::gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider * passwordDB;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6TLSServer__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRP6User.h b/libjava/gnu/javax/crypto/key/srp6/SRP6User.h
new file mode 100644
index 000000000..2d9f72510
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRP6User.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRP6User__
+#define __gnu_javax_crypto_key_srp6_SRP6User__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRP6KeyAgreement.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IncomingMessage;
+            class OutgoingMessage;
+          namespace srp6
+          {
+              class SRP6User;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRP6User : public ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement
+{
+
+public:
+  SRP6User();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual ::gnu::javax::crypto::key::OutgoingMessage * engineProcessMessage(::gnu::javax::crypto::key::IncomingMessage *);
+  virtual void engineReset();
+private:
+  ::gnu::javax::crypto::key::OutgoingMessage * sendIdentity(::gnu::javax::crypto::key::IncomingMessage *);
+  ::gnu::javax::crypto::key::OutgoingMessage * computeSharedSecret(::gnu::javax::crypto::key::IncomingMessage *);
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRP6KeyAgreement)))) I;
+  JArray< jbyte > * p;
+  ::java::security::KeyPair * userKeyPair;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRP6User__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h b/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h
new file mode 100644
index 000000000..534c681c8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPAlgorithm.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPAlgorithm__
+#define __gnu_javax_crypto_key_srp6_SRPAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPAlgorithm;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPAlgorithm : public ::java::lang::Object
+{
+
+  SRPAlgorithm();
+public:
+  static void checkParams(::java::math::BigInteger *, ::java::math::BigInteger *);
+  static ::java::math::BigInteger * N_2048;
+  static ::java::math::BigInteger * N_1536;
+  static ::java::math::BigInteger * N_1280;
+  static ::java::math::BigInteger * N_1024;
+  static ::java::math::BigInteger * N_768;
+  static ::java::math::BigInteger * N_640;
+  static ::java::math::BigInteger * N_512;
+  static ::java::math::BigInteger * N_384;
+  static ::java::math::BigInteger * N_264;
+private:
+  static ::java::math::BigInteger * ZERO;
+  static ::java::math::BigInteger * ONE;
+  static ::java::math::BigInteger * TWO;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPAlgorithm__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPKey.h
new file mode 100644
index 000000000..9c4ef5189
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPKey.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPKey__
+#define __gnu_javax_crypto_key_srp6_SRPKey__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPKey : public ::java::lang::Object
+{
+
+public: // actually protected
+  SRPKey(::java::math::BigInteger *, ::java::math::BigInteger *);
+public:
+  virtual ::java::lang::String * getAlgorithm();
+  virtual JArray< jbyte > * getEncoded();
+  virtual ::java::lang::String * getFormat();
+  virtual ::java::math::BigInteger * getN();
+  virtual ::java::math::BigInteger * getG();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual JArray< jbyte > * getEncoded(jint) = 0;
+public: // actually protected
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) N;
+  ::java::math::BigInteger * g;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPKey__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h
new file mode 100644
index 000000000..2be95fbb3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairGenerator.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__
+#define __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPKeyPairGenerator;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class KeyPair;
+        class SecureRandom;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPKeyPairGenerator : public ::java::lang::Object
+{
+
+public:
+  SRPKeyPairGenerator();
+  virtual ::java::lang::String * name();
+  virtual void setup(::java::util::Map *);
+  virtual ::java::security::KeyPair * generate();
+private:
+  JArray< ::java::math::BigInteger * > * generateParameters();
+  ::java::security::KeyPair * hostKeyPair();
+  ::java::security::KeyPair * userKeyPair();
+  void nextRandomBytes(JArray< jbyte > *);
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+  static ::java::util::logging::Logger * log;
+  static ::java::math::BigInteger * ZERO;
+  static ::java::math::BigInteger * ONE;
+  static ::java::math::BigInteger * TWO;
+  static ::java::math::BigInteger * THREE;
+public:
+  static ::java::lang::String * MODULUS_LENGTH;
+  static ::java::lang::String * USE_DEFAULTS;
+  static ::java::lang::String * SHARED_MODULUS;
+  static ::java::lang::String * GENERATOR;
+  static ::java::lang::String * USER_VERIFIER;
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+private:
+  static const jint DEFAULT_MODULUS_LENGTH = 1024;
+  ::java::security::SecureRandom * __attribute__((aligned(__alignof__( ::java::lang::Object)))) rnd;
+  jint l;
+  ::java::math::BigInteger * N;
+  ::java::math::BigInteger * g;
+  ::java::math::BigInteger * v;
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPKeyPairGenerator__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h
new file mode 100644
index 000000000..3f6f0db75
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPKeyPairRawCodec.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__
+#define __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPKeyPairRawCodec;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class PrivateKey;
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPKeyPairRawCodec : public ::java::lang::Object
+{
+
+public:
+  SRPKeyPairRawCodec();
+  virtual jint getFormatID();
+  virtual JArray< jbyte > * encodePublicKey(::java::security::PublicKey *);
+  virtual ::java::security::PublicKey * decodePublicKey(JArray< jbyte > *);
+  virtual JArray< jbyte > * encodePrivateKey(::java::security::PrivateKey *);
+  virtual ::java::security::PrivateKey * decodePrivateKey(JArray< jbyte > *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPKeyPairRawCodec__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h
new file mode 100644
index 000000000..af942a1eb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPPrivateKey.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPPrivateKey__
+#define __gnu_javax_crypto_key_srp6_SRPPrivateKey__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRPKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPPrivateKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPPrivateKey : public ::gnu::javax::crypto::key::srp6::SRPKey
+{
+
+public:
+  SRPPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  SRPPrivateKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+public: // actually package-private
+  SRPPrivateKey(JArray< ::java::math::BigInteger * > *);
+public:
+  static ::gnu::javax::crypto::key::srp6::SRPPrivateKey * valueOf(JArray< jbyte > *);
+  virtual ::java::math::BigInteger * getX();
+  virtual ::java::math::BigInteger * getV();
+  virtual JArray< jbyte > * getEncoded(jint);
+  virtual jboolean equals(::java::lang::Object *);
+private:
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRPKey)))) X;
+  ::java::math::BigInteger * v;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPPrivateKey__
diff --git a/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h b/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h
new file mode 100644
index 000000000..8b1b7b0d0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/key/srp6/SRPPublicKey.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_key_srp6_SRPPublicKey__
+#define __gnu_javax_crypto_key_srp6_SRPPublicKey__
+
+#pragma interface
+
+#include <gnu/javax/crypto/key/srp6/SRPKey.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace srp6
+          {
+              class SRPPublicKey;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::key::srp6::SRPPublicKey : public ::gnu::javax::crypto::key::srp6::SRPKey
+{
+
+public:
+  SRPPublicKey(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+public: // actually package-private
+  SRPPublicKey(JArray< ::java::math::BigInteger * > *);
+public:
+  static ::gnu::javax::crypto::key::srp6::SRPPublicKey * valueOf(JArray< jbyte > *);
+  virtual ::java::math::BigInteger * getY();
+  virtual JArray< jbyte > * getEncoded(jint);
+  virtual jboolean equals(::java::lang::Object *);
+private:
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::key::srp6::SRPKey)))) Y;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_key_srp6_SRPPublicKey__
diff --git a/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h b/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h
new file mode 100644
index 000000000..833bd3cb1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/AuthenticatedEntry.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_AuthenticatedEntry__
+#define __gnu_javax_crypto_keyring_AuthenticatedEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class AuthenticatedEntry;
+            class Properties;
+        }
+        namespace mac
+        {
+            class IMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::AuthenticatedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry
+{
+
+public:
+  AuthenticatedEntry(::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  AuthenticatedEntry();
+public:
+  static ::gnu::javax::crypto::keyring::AuthenticatedEntry * decode(::java::io::DataInputStream *);
+  void authenticate(JArray< jbyte > *);
+  void verify(JArray< jbyte > *);
+public: // actually protected
+  void encodePayload();
+private:
+  ::gnu::javax::crypto::mac::IMac * getMac(JArray< jbyte > *);
+public:
+  static const jint TYPE = 2;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_AuthenticatedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/BaseKeyring.h b/libjava/gnu/javax/crypto/keyring/BaseKeyring.h
new file mode 100644
index 000000000..6d5806ea7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/BaseKeyring.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_BaseKeyring__
+#define __gnu_javax_crypto_keyring_BaseKeyring__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class BaseKeyring;
+            class CompressedEntry;
+            class Entry;
+            class PasswordAuthenticatedEntry;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::BaseKeyring : public ::java::lang::Object
+{
+
+public:
+  BaseKeyring();
+  virtual void load(::java::util::Map *);
+  virtual void store(::java::util::Map *);
+  virtual void reset();
+  virtual jint size();
+  virtual ::java::util::Enumeration * aliases();
+  virtual jboolean containsAlias(::java::lang::String *);
+  virtual ::java::util::List * get(::java::lang::String *);
+  virtual void add(::gnu::javax::crypto::keyring::Entry *);
+  virtual void remove(::java::lang::String *);
+public: // actually protected
+  virtual ::java::lang::String * fixAlias(::java::lang::String *);
+  virtual void load(::java::io::InputStream *, JArray< jchar > *) = 0;
+  virtual void store(::java::io::OutputStream *, JArray< jchar > *) = 0;
+  ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keyring;
+  ::gnu::javax::crypto::keyring::CompressedEntry * keyring2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_BaseKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h b/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h
new file mode 100644
index 000000000..2235f18ed
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/BinaryDataEntry.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_BinaryDataEntry__
+#define __gnu_javax_crypto_keyring_BinaryDataEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/PrimitiveEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class BinaryDataEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::BinaryDataEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry
+{
+
+public:
+  BinaryDataEntry(::java::lang::String *, JArray< jbyte > *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  BinaryDataEntry();
+public:
+  static ::gnu::javax::crypto::keyring::BinaryDataEntry * decode(::java::io::DataInputStream *);
+  virtual ::java::lang::String * getContentType();
+  virtual JArray< jbyte > * getData();
+public: // actually protected
+  virtual void encodePayload();
+public:
+  static const jint TYPE = 9;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_BinaryDataEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/CertPathEntry.h b/libjava/gnu/javax/crypto/keyring/CertPathEntry.h
new file mode 100644
index 000000000..67501a94f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/CertPathEntry.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_CertPathEntry__
+#define __gnu_javax_crypto_keyring_CertPathEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/PrimitiveEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class CertPathEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::CertPathEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry
+{
+
+public:
+  CertPathEntry(JArray< ::java::security::cert::Certificate * > *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  CertPathEntry();
+public:
+  static ::gnu::javax::crypto::keyring::CertPathEntry * decode(::java::io::DataInputStream *);
+  JArray< ::java::security::cert::Certificate * > * getCertPath();
+public: // actually protected
+  void encodePayload();
+public:
+  static const jint TYPE = 8;
+private:
+  JArray< ::java::security::cert::Certificate * > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) path;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_CertPathEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/CertificateEntry.h b/libjava/gnu/javax/crypto/keyring/CertificateEntry.h
new file mode 100644
index 000000000..48a4ecddf
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/CertificateEntry.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_CertificateEntry__
+#define __gnu_javax_crypto_keyring_CertificateEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/PrimitiveEntry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class CertificateEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::CertificateEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry
+{
+
+public:
+  CertificateEntry(::java::security::cert::Certificate *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  CertificateEntry();
+public:
+  static ::gnu::javax::crypto::keyring::CertificateEntry * decode(::java::io::DataInputStream *);
+  ::java::security::cert::Certificate * getCertificate();
+public: // actually protected
+  void encodePayload();
+public:
+  static const jint TYPE = 5;
+private:
+  ::java::security::cert::Certificate * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) certificate;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_CertificateEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/CompressedEntry.h b/libjava/gnu/javax/crypto/keyring/CompressedEntry.h
new file mode 100644
index 000000000..e674b970b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/CompressedEntry.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_CompressedEntry__
+#define __gnu_javax_crypto_keyring_CompressedEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/EnvelopeEntry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class CompressedEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::CompressedEntry : public ::gnu::javax::crypto::keyring::EnvelopeEntry
+{
+
+public:
+  CompressedEntry(::gnu::javax::crypto::keyring::Properties *);
+private:
+  CompressedEntry();
+public:
+  static ::gnu::javax::crypto::keyring::CompressedEntry * decode(::java::io::DataInputStream *);
+public: // actually protected
+  virtual void encodePayload();
+public:
+  static const jint TYPE = 4;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_CompressedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h b/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h
new file mode 100644
index 000000000..e45fe221e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/EncryptedEntry.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_EncryptedEntry__
+#define __gnu_javax_crypto_keyring_EncryptedEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class EncryptedEntry;
+            class Properties;
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::EncryptedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry
+{
+
+public:
+  EncryptedEntry(::java::lang::String *, ::java::lang::String *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  EncryptedEntry();
+public:
+  static ::gnu::javax::crypto::keyring::EncryptedEntry * decode(::java::io::DataInputStream *);
+  virtual void decrypt(JArray< jbyte > *, JArray< jbyte > *);
+  virtual void encrypt(JArray< jbyte > *, JArray< jbyte > *);
+  virtual void encodePayload();
+private:
+  ::gnu::javax::crypto::mode::IMode * getMode(JArray< jbyte > *, JArray< jbyte > *, jint);
+public:
+  static const jint TYPE = 0;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_EncryptedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/Entry.h b/libjava/gnu/javax/crypto/keyring/Entry.h
new file mode 100644
index 000000000..3efab548a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/Entry.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_Entry__
+#define __gnu_javax_crypto_keyring_Entry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::Entry : public ::java::lang::Object
+{
+
+public: // actually protected
+  Entry(jint, ::gnu::javax::crypto::keyring::Properties *);
+  Entry(jint);
+public:
+  virtual ::gnu::javax::crypto::keyring::Properties * getProperties();
+  virtual JArray< jbyte > * getPayload();
+  virtual void encode(::java::io::DataOutputStream *);
+  virtual ::java::lang::String * toString();
+public: // actually protected
+  virtual void defaultDecode(::java::io::DataInputStream *);
+  virtual void encodePayload() = 0;
+private:
+  static ::java::util::logging::Logger * log;
+  static JArray< ::java::lang::String * > * TYPES;
+public: // actually protected
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+  ::gnu::javax::crypto::keyring::Properties * properties;
+  JArray< jbyte > * payload;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_Entry__
diff --git a/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h b/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h
new file mode 100644
index 000000000..29bbb061f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/EnvelopeEntry.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_EnvelopeEntry__
+#define __gnu_javax_crypto_keyring_EnvelopeEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/Entry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class EnvelopeEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::EnvelopeEntry : public ::gnu::javax::crypto::keyring::Entry
+{
+
+public:
+  EnvelopeEntry(jint, ::gnu::javax::crypto::keyring::Properties *);
+public: // actually protected
+  EnvelopeEntry(jint);
+public:
+  virtual void add(::gnu::javax::crypto::keyring::Entry *);
+  virtual jboolean containsAlias(::java::lang::String *);
+  virtual jboolean containsEntry(::gnu::javax::crypto::keyring::Entry *);
+  virtual ::java::util::List * getEntries();
+  virtual ::java::util::List * get(::java::lang::String *);
+  virtual ::java::lang::String * getAliasList();
+  virtual jboolean remove(::gnu::javax::crypto::keyring::Entry *);
+  virtual jboolean remove(::java::lang::String *);
+  virtual ::java::lang::String * toString();
+public: // actually protected
+  virtual void encodePayload();
+  virtual void setContainingEnvelope(::gnu::javax::crypto::keyring::EnvelopeEntry *);
+  virtual void decodeEnvelope(::java::io::DataInputStream *);
+private:
+  void makeAliasList();
+  static ::java::util::logging::Logger * log;
+public: // actually protected
+  ::gnu::javax::crypto::keyring::EnvelopeEntry * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::Entry)))) containingEnvelope;
+  ::java::util::List * entries;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_EnvelopeEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h b/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h
new file mode 100644
index 000000000..bb3317d5e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/GnuPrivateKeyring.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_GnuPrivateKeyring__
+#define __gnu_javax_crypto_keyring_GnuPrivateKeyring__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/BaseKeyring.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class GnuPrivateKeyring;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+        class PublicKey;
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::GnuPrivateKeyring : public ::gnu::javax::crypto::keyring::BaseKeyring
+{
+
+public:
+  GnuPrivateKeyring(::java::lang::String *, jint, ::java::lang::String *, ::java::lang::String *, jint);
+  GnuPrivateKeyring();
+  virtual jboolean containsPrivateKey(::java::lang::String *);
+  virtual ::java::security::Key * getPrivateKey(::java::lang::String *, JArray< jchar > *);
+  virtual void putPrivateKey(::java::lang::String *, ::java::security::Key *, JArray< jchar > *);
+  virtual jboolean containsPublicKey(::java::lang::String *);
+  virtual ::java::security::PublicKey * getPublicKey(::java::lang::String *);
+  virtual void putPublicKey(::java::lang::String *, ::java::security::PublicKey *);
+  virtual jboolean containsCertPath(::java::lang::String *);
+  virtual JArray< ::java::security::cert::Certificate * > * getCertPath(::java::lang::String *);
+  virtual void putCertPath(::java::lang::String *, JArray< ::java::security::cert::Certificate * > *);
+public: // actually protected
+  virtual void load(::java::io::InputStream *, JArray< jchar > *);
+  virtual void store(::java::io::OutputStream *, JArray< jchar > *);
+private:
+  static ::java::util::logging::Logger * log;
+public:
+  static const jint USAGE = 3;
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::BaseKeyring)))) mac;
+  jint maclen;
+  ::java::lang::String * cipher;
+  ::java::lang::String * mode;
+  jint keylen;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_GnuPrivateKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h b/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h
new file mode 100644
index 000000000..47abbac37
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/GnuPublicKeyring.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_GnuPublicKeyring__
+#define __gnu_javax_crypto_keyring_GnuPublicKeyring__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/BaseKeyring.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class GnuPublicKeyring;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::GnuPublicKeyring : public ::gnu::javax::crypto::keyring::BaseKeyring
+{
+
+public:
+  GnuPublicKeyring(::java::lang::String *, jint);
+  GnuPublicKeyring();
+  virtual jboolean containsCertificate(::java::lang::String *);
+  virtual ::java::security::cert::Certificate * getCertificate(::java::lang::String *);
+  virtual void putCertificate(::java::lang::String *, ::java::security::cert::Certificate *);
+public: // actually protected
+  virtual void load(::java::io::InputStream *, JArray< jchar > *);
+  virtual void store(::java::io::OutputStream *, JArray< jchar > *);
+private:
+  static ::java::util::logging::Logger * log;
+public:
+  static const jint USAGE = 4;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_GnuPublicKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/IKeyring.h b/libjava/gnu/javax/crypto/keyring/IKeyring.h
new file mode 100644
index 000000000..a1827b310
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/IKeyring.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_IKeyring__
+#define __gnu_javax_crypto_keyring_IKeyring__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class IKeyring;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::IKeyring : public ::java::lang::Object
+{
+
+public:
+  virtual void load(::java::util::Map *) = 0;
+  virtual void store(::java::util::Map *) = 0;
+  virtual void reset() = 0;
+  virtual jint size() = 0;
+  virtual ::java::util::Enumeration * aliases() = 0;
+  virtual jboolean containsAlias(::java::lang::String *) = 0;
+  virtual ::java::util::List * get(::java::lang::String *) = 0;
+  virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0;
+  virtual void remove(::java::lang::String *) = 0;
+  static ::java::lang::String * KEYRING_DATA_IN;
+  static ::java::lang::String * KEYRING_DATA_OUT;
+  static ::java::lang::String * KEYRING_PASSWORD;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_keyring_IKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h b/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h
new file mode 100644
index 000000000..9f9cb25f6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/IPrivateKeyring.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_IPrivateKeyring__
+#define __gnu_javax_crypto_keyring_IPrivateKeyring__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class IPrivateKeyring;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+        class PublicKey;
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::IPrivateKeyring : public ::java::lang::Object
+{
+
+public:
+  virtual jboolean containsPrivateKey(::java::lang::String *) = 0;
+  virtual ::java::security::Key * getPrivateKey(::java::lang::String *, JArray< jchar > *) = 0;
+  virtual void putPrivateKey(::java::lang::String *, ::java::security::Key *, JArray< jchar > *) = 0;
+  virtual jboolean containsPublicKey(::java::lang::String *) = 0;
+  virtual ::java::security::PublicKey * getPublicKey(::java::lang::String *) = 0;
+  virtual void putPublicKey(::java::lang::String *, ::java::security::PublicKey *) = 0;
+  virtual jboolean containsCertPath(::java::lang::String *) = 0;
+  virtual JArray< ::java::security::cert::Certificate * > * getCertPath(::java::lang::String *) = 0;
+  virtual void putCertPath(::java::lang::String *, JArray< ::java::security::cert::Certificate * > *) = 0;
+  virtual void load(::java::util::Map *) = 0;
+  virtual void store(::java::util::Map *) = 0;
+  virtual void reset() = 0;
+  virtual jint size() = 0;
+  virtual ::java::util::Enumeration * aliases() = 0;
+  virtual jboolean containsAlias(::java::lang::String *) = 0;
+  virtual ::java::util::List * get(::java::lang::String *) = 0;
+  virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0;
+  virtual void remove(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_keyring_IPrivateKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h b/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h
new file mode 100644
index 000000000..06029e277
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/IPublicKeyring.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_IPublicKeyring__
+#define __gnu_javax_crypto_keyring_IPublicKeyring__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class IPublicKeyring;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::IPublicKeyring : public ::java::lang::Object
+{
+
+public:
+  virtual jboolean containsCertificate(::java::lang::String *) = 0;
+  virtual ::java::security::cert::Certificate * getCertificate(::java::lang::String *) = 0;
+  virtual void putCertificate(::java::lang::String *, ::java::security::cert::Certificate *) = 0;
+  virtual void load(::java::util::Map *) = 0;
+  virtual void store(::java::util::Map *) = 0;
+  virtual void reset() = 0;
+  virtual jint size() = 0;
+  virtual ::java::util::Enumeration * aliases() = 0;
+  virtual jboolean containsAlias(::java::lang::String *) = 0;
+  virtual ::java::util::List * get(::java::lang::String *) = 0;
+  virtual void add(::gnu::javax::crypto::keyring::Entry *) = 0;
+  virtual void remove(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_keyring_IPublicKeyring__
diff --git a/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h b/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h
new file mode 100644
index 000000000..569911b5c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/MalformedKeyringException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_MalformedKeyringException__
+#define __gnu_javax_crypto_keyring_MalformedKeyringException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class MalformedKeyringException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::MalformedKeyringException : public ::java::io::IOException
+{
+
+public:
+  MalformedKeyringException();
+  MalformedKeyringException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_MalformedKeyringException__
diff --git a/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h b/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h
new file mode 100644
index 000000000..1d07ee240
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__
+#define __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/EnvelopeEntry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Entry;
+            class MaskableEnvelopeEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::MaskableEnvelopeEntry : public ::gnu::javax::crypto::keyring::EnvelopeEntry
+{
+
+public:
+  MaskableEnvelopeEntry(jint, ::gnu::javax::crypto::keyring::Properties *);
+public: // actually protected
+  MaskableEnvelopeEntry(jint);
+  virtual void setMasked(jboolean);
+public:
+  virtual jboolean isMasked();
+  virtual void add(::gnu::javax::crypto::keyring::Entry *);
+  virtual jboolean containsEntry(::gnu::javax::crypto::keyring::Entry *);
+  virtual ::java::util::List * getEntries();
+  virtual ::java::util::List * get(::java::lang::String *);
+  virtual jboolean remove(::gnu::javax::crypto::keyring::Entry *);
+  virtual jboolean remove(::java::lang::String *);
+  virtual ::java::lang::String * toString();
+public: // actually protected
+  jboolean __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::EnvelopeEntry)))) masked;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_MaskableEnvelopeEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h b/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h
new file mode 100644
index 000000000..a6f3e4f0f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/MeteredInputStream.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_MeteredInputStream__
+#define __gnu_javax_crypto_keyring_MeteredInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class MeteredInputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::MeteredInputStream : public ::java::io::FilterInputStream
+{
+
+public: // actually package-private
+  MeteredInputStream(::java::io::InputStream *, jint);
+public:
+  jboolean limitReached();
+  jint available();
+  void close();
+  void mark(jint);
+  jboolean markSupported();
+  jint read();
+  jint read(JArray< jbyte > *);
+  jint read(JArray< jbyte > *, jint, jint);
+  void reset();
+  jlong skip(jlong);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) count;
+  jint limit;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_MeteredInputStream__
diff --git a/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h
new file mode 100644
index 000000000..b4a539aed
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PasswordAuthenticatedEntry.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__
+#define __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class PasswordAuthenticatedEntry;
+            class Properties;
+        }
+        namespace mac
+        {
+            class IMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PasswordAuthenticatedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry
+{
+
+public:
+  PasswordAuthenticatedEntry(::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  PasswordAuthenticatedEntry();
+public:
+  static ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * decode(::java::io::DataInputStream *, JArray< jchar > *);
+  static ::gnu::javax::crypto::keyring::PasswordAuthenticatedEntry * decode(::java::io::DataInputStream *);
+  void verify(JArray< jchar > *);
+  void authenticate(JArray< jchar > *);
+  void encode(::java::io::DataOutputStream *, JArray< jchar > *);
+public: // actually protected
+  void encodePayload(::java::io::DataOutputStream *);
+private:
+  ::gnu::javax::crypto::mac::IMac * getMac(JArray< jchar > *);
+  static ::java::util::logging::Logger * log;
+public:
+  static const jint TYPE = 3;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_PasswordAuthenticatedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h
new file mode 100644
index 000000000..b05b31af7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PasswordEncryptedEntry.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PasswordEncryptedEntry__
+#define __gnu_javax_crypto_keyring_PasswordEncryptedEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/MaskableEnvelopeEntry.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class PasswordEncryptedEntry;
+            class Properties;
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PasswordEncryptedEntry : public ::gnu::javax::crypto::keyring::MaskableEnvelopeEntry
+{
+
+public:
+  PasswordEncryptedEntry(::java::lang::String *, ::java::lang::String *, jint, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  PasswordEncryptedEntry();
+public:
+  static ::gnu::javax::crypto::keyring::PasswordEncryptedEntry * decode(::java::io::DataInputStream *, JArray< jchar > *);
+  static ::gnu::javax::crypto::keyring::PasswordEncryptedEntry * decode(::java::io::DataInputStream *);
+  virtual void decrypt(JArray< jchar > *);
+  virtual void encrypt(JArray< jchar > *);
+  virtual void encode(::java::io::DataOutputStream *, JArray< jchar > *);
+public: // actually protected
+  virtual void encodePayload();
+private:
+  ::gnu::javax::crypto::mode::IMode * getMode(JArray< jchar > *, jint);
+  static ::java::util::logging::Logger * log;
+public:
+  static const jint TYPE = 1;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_PasswordEncryptedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h b/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h
new file mode 100644
index 000000000..6b81878eb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PasswordProtectedEntry.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PasswordProtectedEntry__
+#define __gnu_javax_crypto_keyring_PasswordProtectedEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class PasswordProtectedEntry;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PasswordProtectedEntry : public ::java::lang::Object
+{
+
+public:
+  virtual void encode(::java::io::DataOutputStream *, JArray< jchar > *) = 0;
+  static ::java::lang::Integer * ITERATION_COUNT;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_keyring_PasswordProtectedEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h b/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h
new file mode 100644
index 000000000..16d9d0072
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PrimitiveEntry.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PrimitiveEntry__
+#define __gnu_javax_crypto_keyring_PrimitiveEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/Entry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class PrimitiveEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PrimitiveEntry : public ::gnu::javax::crypto::keyring::Entry
+{
+
+public: // actually protected
+  PrimitiveEntry(jint, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+  PrimitiveEntry(jint);
+public:
+  virtual ::java::lang::String * getAlias();
+  virtual ::java::util::Date * getCreationDate();
+  virtual jboolean equals(::java::lang::Object *);
+public: // actually protected
+  virtual void makeCreationDate();
+  ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::Entry)))) creationDate;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_PrimitiveEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h b/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h
new file mode 100644
index 000000000..33f2f5333
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PrivateKeyEntry.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PrivateKeyEntry__
+#define __gnu_javax_crypto_keyring_PrivateKeyEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/PrimitiveEntry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class PrivateKeyEntry;
+            class Properties;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PrivateKeyEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry
+{
+
+public:
+  PrivateKeyEntry(::java::security::Key *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  PrivateKeyEntry();
+public:
+  static ::gnu::javax::crypto::keyring::PrivateKeyEntry * decode(::java::io::DataInputStream *);
+  ::java::security::Key * getKey();
+public: // actually protected
+  void encodePayload();
+public:
+  ::java::lang::String * toString();
+  static const jint TYPE = 7;
+private:
+  ::java::security::Key * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) key;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_PrivateKeyEntry__
diff --git a/libjava/gnu/javax/crypto/keyring/Properties.h b/libjava/gnu/javax/crypto/keyring/Properties.h
new file mode 100644
index 000000000..65d10a8d1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/Properties.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_Properties__
+#define __gnu_javax_crypto_keyring_Properties__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Properties;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::Properties : public ::java::lang::Object
+{
+
+public:
+  Properties();
+  virtual void clear();
+  virtual ::java::lang::Object * clone();
+  virtual jboolean containsKey(::java::lang::String *);
+  virtual jboolean containsValue(::java::lang::String *);
+  virtual ::java::lang::String * put(::java::lang::String *, ::java::lang::String *);
+  virtual ::java::lang::String * get(::java::lang::String *);
+  virtual ::java::lang::String * remove(::java::lang::String *);
+  virtual void decode(::java::io::DataInputStream *);
+  virtual void encode(::java::io::DataOutputStream *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::String * canonicalize(::java::lang::String *);
+  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) props;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_Properties__
diff --git a/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h b/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h
new file mode 100644
index 000000000..88d4744f6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/keyring/PublicKeyEntry.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_keyring_PublicKeyEntry__
+#define __gnu_javax_crypto_keyring_PublicKeyEntry__
+
+#pragma interface
+
+#include <gnu/javax/crypto/keyring/PrimitiveEntry.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace keyring
+        {
+            class Properties;
+            class PublicKeyEntry;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class PublicKey;
+    }
+  }
+}
+
+class gnu::javax::crypto::keyring::PublicKeyEntry : public ::gnu::javax::crypto::keyring::PrimitiveEntry
+{
+
+public:
+  PublicKeyEntry(::java::security::PublicKey *, ::java::util::Date *, ::gnu::javax::crypto::keyring::Properties *);
+private:
+  PublicKeyEntry();
+public:
+  static ::gnu::javax::crypto::keyring::PublicKeyEntry * decode(::java::io::DataInputStream *);
+  ::java::security::PublicKey * getKey();
+public: // actually protected
+  void encodePayload();
+public:
+  static const jint TYPE = 6;
+private:
+  ::java::security::PublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::keyring::PrimitiveEntry)))) key;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_keyring_PublicKeyEntry__
diff --git a/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h b/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h
new file mode 100644
index 000000000..6e1528a75
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/AESKeyWrap.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_AESKeyWrap__
+#define __gnu_javax_crypto_kwa_AESKeyWrap__
+
+#pragma interface
+
+#include <gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class Rijndael;
+        }
+        namespace kwa
+        {
+            class AESKeyWrap;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::AESKeyWrap : public ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm
+{
+
+public:
+  AESKeyWrap();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+private:
+  static JArray< jbyte > * DEFAULT_IV;
+  ::gnu::javax::crypto::cipher::Rijndael * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm)))) aes;
+  JArray< jbyte > * iv;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_kwa_AESKeyWrap__
diff --git a/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h b/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h
new file mode 100644
index 000000000..34e131931
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__
+#define __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace kwa
+        {
+            class BaseKeyWrappingAlgorithm;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm : public ::java::lang::Object
+{
+
+public: // actually protected
+  BaseKeyWrappingAlgorithm(::java::lang::String *);
+public:
+  virtual ::java::lang::String * name();
+  virtual void init(::java::util::Map *);
+  virtual jint wrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint);
+  virtual jint unwrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint);
+  virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint);
+public: // actually protected
+  virtual void engineInit(::java::util::Map *) = 0;
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint) = 0;
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint) = 0;
+  virtual ::gnu::java::security::util::PRNG * getDefaultPRNG();
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+private:
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_kwa_BaseKeyWrappingAlgorithm__
diff --git a/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h b/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h
new file mode 100644
index 000000000..56d032add
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/IKeyWrappingAlgorithm.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__
+#define __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace kwa
+        {
+            class IKeyWrappingAlgorithm;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::IKeyWrappingAlgorithm : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::String * name() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual jint wrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0;
+  virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint) = 0;
+  virtual jint unwrap(JArray< jbyte > *, jint, jint, JArray< jbyte > *, jint) = 0;
+  virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint) = 0;
+  static ::java::lang::String * KEY_ENCRYPTION_KEY_MATERIAL;
+  static ::java::lang::String * INITIAL_VALUE;
+  static ::java::lang::String * SOURCE_OF_RANDOMNESS;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_kwa_IKeyWrappingAlgorithm__
diff --git a/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h b/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h
new file mode 100644
index 000000000..b9d9039fb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/KeyUnwrappingException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_KeyUnwrappingException__
+#define __gnu_javax_crypto_kwa_KeyUnwrappingException__
+
+#pragma interface
+
+#include <java/security/GeneralSecurityException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace kwa
+        {
+            class KeyUnwrappingException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::KeyUnwrappingException : public ::java::security::GeneralSecurityException
+{
+
+public:
+  KeyUnwrappingException();
+  KeyUnwrappingException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_kwa_KeyUnwrappingException__
diff --git a/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h b/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h
new file mode 100644
index 000000000..ab443dbe7
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/KeyWrappingAlgorithmFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__
+#define __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace kwa
+        {
+            class IKeyWrappingAlgorithm;
+            class KeyWrappingAlgorithmFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::KeyWrappingAlgorithmFactory : public ::java::lang::Object
+{
+
+  KeyWrappingAlgorithmFactory();
+public:
+  static ::gnu::javax::crypto::kwa::IKeyWrappingAlgorithm * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+private:
+  static ::java::util::Set * names;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_kwa_KeyWrappingAlgorithmFactory__
diff --git a/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h b/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h
new file mode 100644
index 000000000..5f23a7015
--- /dev/null
+++ b/libjava/gnu/javax/crypto/kwa/TripleDESKeyWrap.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_kwa_TripleDESKeyWrap__
+#define __gnu_javax_crypto_kwa_TripleDESKeyWrap__
+
+#pragma interface
+
+#include <gnu/javax/crypto/kwa/BaseKeyWrappingAlgorithm.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class Sha160;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Assembly;
+        }
+        namespace kwa
+        {
+            class TripleDESKeyWrap;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class SecureRandom;
+    }
+  }
+}
+
+class gnu::javax::crypto::kwa::TripleDESKeyWrap : public ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm
+{
+
+public:
+  TripleDESKeyWrap();
+public: // actually protected
+  virtual void engineInit(::java::util::Map *);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+private:
+  void nextRandomBytes(JArray< jbyte > *);
+  static JArray< jbyte > * DEFAULT_IV;
+  ::gnu::javax::crypto::assembly::Assembly * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::kwa::BaseKeyWrappingAlgorithm)))) asm$;
+  ::java::util::HashMap * asmAttributes;
+  ::java::util::HashMap * modeAttributes;
+  ::gnu::java::security::hash::Sha160 * sha;
+  ::java::security::SecureRandom * rnd;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_kwa_TripleDESKeyWrap__
diff --git a/libjava/gnu/javax/crypto/mac/BaseMac.h b/libjava/gnu/javax/crypto/mac/BaseMac.h
new file mode 100644
index 000000000..aebe9313e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/BaseMac.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_BaseMac__
+#define __gnu_javax_crypto_mac_BaseMac__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class BaseMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::BaseMac : public ::java::lang::Object
+{
+
+public: // actually protected
+  BaseMac(::java::lang::String *);
+  BaseMac(::java::lang::String *, ::gnu::java::security::hash::IMessageDigest *);
+public:
+  virtual ::java::lang::String * name();
+  virtual jint macSize();
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual void reset();
+  virtual ::java::lang::Object * clone();
+  virtual void init(::java::util::Map *) = 0;
+  virtual JArray< jbyte > * digest() = 0;
+  virtual jboolean selfTest() = 0;
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+  ::gnu::java::security::hash::IMessageDigest * underlyingHash;
+  jint truncatedSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_BaseMac__
diff --git a/libjava/gnu/javax/crypto/mac/HMac.h b/libjava/gnu/javax/crypto/mac/HMac.h
new file mode 100644
index 000000000..c38a9e795
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/HMac.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_HMac__
+#define __gnu_javax_crypto_mac_HMac__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mac/BaseMac.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class HMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::HMac : public ::gnu::javax::crypto::mac::BaseMac
+{
+
+public: // actually protected
+  HMac(::gnu::java::security::hash::IMessageDigest *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+  virtual JArray< jbyte > * digest();
+  virtual jboolean selfTest();
+  static ::java::lang::String * USE_WITH_PKCS5_V2;
+private:
+  static const jbyte IPAD_BYTE = 54;
+  static const jbyte OPAD_BYTE = 92;
+  static ::java::lang::Boolean * valid;
+public: // actually protected
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) macSize;
+  jint blockSize;
+  ::gnu::java::security::hash::IMessageDigest * ipadHash;
+  ::gnu::java::security::hash::IMessageDigest * opadHash;
+  JArray< jbyte > * ipad;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_HMac__
diff --git a/libjava/gnu/javax/crypto/mac/HMacFactory.h b/libjava/gnu/javax/crypto/mac/HMacFactory.h
new file mode 100644
index 000000000..e32104e7a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/HMacFactory.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_HMacFactory__
+#define __gnu_javax_crypto_mac_HMacFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class HMacFactory;
+            class IMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::HMacFactory : public ::java::lang::Object
+{
+
+  HMacFactory();
+public:
+  static ::gnu::javax::crypto::mac::IMac * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_HMacFactory__
diff --git a/libjava/gnu/javax/crypto/mac/IMac.h b/libjava/gnu/javax/crypto/mac/IMac.h
new file mode 100644
index 000000000..9bed61ae2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/IMac.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_IMac__
+#define __gnu_javax_crypto_mac_IMac__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::IMac : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::String * name() = 0;
+  virtual jint macSize() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual void update(jbyte) = 0;
+  virtual void update(JArray< jbyte > *, jint, jint) = 0;
+  virtual JArray< jbyte > * digest() = 0;
+  virtual void reset() = 0;
+  virtual jboolean selfTest() = 0;
+  virtual ::java::lang::Object * clone() = 0;
+  static ::java::lang::String * MAC_KEY_MATERIAL;
+  static ::java::lang::String * TRUNCATED_SIZE;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_mac_IMac__
diff --git a/libjava/gnu/javax/crypto/mac/MacFactory.h b/libjava/gnu/javax/crypto/mac/MacFactory.h
new file mode 100644
index 000000000..141a59cf6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/MacFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_MacFactory__
+#define __gnu_javax_crypto_mac_MacFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+            class MacFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::MacFactory : public ::java::lang::Object
+{
+
+  MacFactory();
+public:
+  static ::gnu::javax::crypto::mac::IMac * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+private:
+  static ::java::util::Set * names;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_MacFactory__
diff --git a/libjava/gnu/javax/crypto/mac/MacInputStream.h b/libjava/gnu/javax/crypto/mac/MacInputStream.h
new file mode 100644
index 000000000..52087df38
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/MacInputStream.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_MacInputStream__
+#define __gnu_javax_crypto_mac_MacInputStream__
+
+#pragma interface
+
+#include <java/io/FilterInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+            class MacInputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::MacInputStream : public ::java::io::FilterInputStream
+{
+
+public:
+  MacInputStream(::java::io::InputStream *, ::gnu::javax::crypto::mac::IMac *);
+  virtual ::gnu::javax::crypto::mac::IMac * getMac();
+  virtual void setMac(::gnu::javax::crypto::mac::IMac *);
+  virtual void on(jboolean);
+  virtual jint read();
+  virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::io::FilterInputStream)))) digesting;
+  ::gnu::javax::crypto::mac::IMac * mac;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_MacInputStream__
diff --git a/libjava/gnu/javax/crypto/mac/MacOutputStream.h b/libjava/gnu/javax/crypto/mac/MacOutputStream.h
new file mode 100644
index 000000000..936a59927
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/MacOutputStream.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_MacOutputStream__
+#define __gnu_javax_crypto_mac_MacOutputStream__
+
+#pragma interface
+
+#include <java/io/FilterOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+            class MacOutputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::MacOutputStream : public ::java::io::FilterOutputStream
+{
+
+public:
+  MacOutputStream(::java::io::OutputStream *, ::gnu::javax::crypto::mac::IMac *);
+  virtual ::gnu::javax::crypto::mac::IMac * getMac();
+  virtual void setMac(::gnu::javax::crypto::mac::IMac *);
+  virtual void on(jboolean);
+  virtual void write(jint);
+  virtual void write(JArray< jbyte > *, jint, jint);
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::io::FilterOutputStream)))) digesting;
+  ::gnu::javax::crypto::mac::IMac * mac;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_MacOutputStream__
diff --git a/libjava/gnu/javax/crypto/mac/OMAC.h b/libjava/gnu/javax/crypto/mac/OMAC.h
new file mode 100644
index 000000000..e608c466c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/OMAC.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_OMAC__
+#define __gnu_javax_crypto_mac_OMAC__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mac
+        {
+            class OMAC;
+        }
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::OMAC : public ::java::lang::Object
+{
+
+public:
+  OMAC(::gnu::javax::crypto::cipher::IBlockCipher *);
+  virtual ::java::lang::Object * clone();
+  virtual ::java::lang::String * name();
+  virtual jint macSize();
+  virtual void init(::java::util::Map *);
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * digest();
+  virtual void digest(JArray< jbyte > *, jint);
+  virtual void reset();
+  virtual jboolean selfTest();
+private:
+  void process();
+  static ::java::util::logging::Logger * log;
+  static const jbyte C1 = -121;
+  static const jbyte C2 = 27;
+  static JArray< jbyte > * KEY0;
+  static JArray< jbyte > * DIGEST0;
+  static ::java::lang::Boolean * valid;
+  ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher;
+  ::java::lang::String * name__;
+  ::gnu::javax::crypto::mode::IMode * mode;
+  jint blockSize;
+  jint outputSize;
+  JArray< jbyte > * Lu;
+  JArray< jbyte > * Lu2;
+  JArray< jbyte > * M;
+  JArray< jbyte > * Y;
+  jboolean init__;
+  jint index;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_OMAC__
diff --git a/libjava/gnu/javax/crypto/mac/TMMH16.h b/libjava/gnu/javax/crypto/mac/TMMH16.h
new file mode 100644
index 000000000..9ca8a7a4f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/TMMH16.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_TMMH16__
+#define __gnu_javax_crypto_mac_TMMH16__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mac/BaseMac.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class TMMH16;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::TMMH16 : public ::gnu::javax::crypto::mac::BaseMac
+{
+
+public:
+  TMMH16();
+  virtual jint macSize();
+  virtual void init(::java::util::Map *);
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * digest();
+  virtual void reset();
+  virtual jboolean selfTest();
+  virtual ::java::lang::Object * clone();
+  virtual void update(jbyte, ::gnu::java::security::prng::IRandom *);
+  virtual void update(JArray< jbyte > *, jint, jint, ::gnu::java::security::prng::IRandom *);
+  virtual JArray< jbyte > * digest(::gnu::java::security::prng::IRandom *);
+private:
+  jint getNextKeyWord(::gnu::java::security::prng::IRandom *);
+  void doFinalRound(::gnu::java::security::prng::IRandom *);
+public:
+  static ::java::lang::String * TAG_LENGTH;
+  static ::java::lang::String * KEYSTREAM;
+  static ::java::lang::String * PREFIX;
+private:
+  static const jint P = 65537;
+  static ::java::lang::Boolean * valid;
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) tagWords;
+  ::gnu::java::security::prng::IRandom * keystream;
+  JArray< jbyte > * prefix;
+  jlong keyWords;
+  jlong msgLength;
+  jlong msgWords;
+  JArray< jint > * context;
+  JArray< jint > * K0;
+  JArray< jint > * Ki;
+  jint Mi;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_TMMH16__
diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h
new file mode 100644
index 000000000..8df86621d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/UHash32$L1Hash32.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_UHash32$L1Hash32__
+#define __gnu_javax_crypto_mac_UHash32$L1Hash32__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class UHash32;
+            class UHash32$L1Hash32;
+            class UHash32$L2Hash32;
+            class UHash32$L3Hash32;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::UHash32$L1Hash32 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  UHash32$L1Hash32(::gnu::javax::crypto::mac::UHash32 *);
+private:
+  UHash32$L1Hash32(::gnu::javax::crypto::mac::UHash32 *, ::gnu::javax::crypto::mac::UHash32$L1Hash32 *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void init(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+  virtual void update(jbyte);
+  virtual JArray< jbyte > * digest();
+  virtual void reset();
+private:
+  JArray< jbyte > * nh32(jint);
+  JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) key;
+  JArray< jbyte > * buffer;
+  jint count;
+  ::java::io::ByteArrayOutputStream * Y;
+  jlong totalCount;
+  ::gnu::javax::crypto::mac::UHash32$L2Hash32 * l2hash;
+  ::gnu::javax::crypto::mac::UHash32$L3Hash32 * l3hash;
+public: // actually package-private
+  ::gnu::javax::crypto::mac::UHash32 * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_UHash32$L1Hash32__
diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h
new file mode 100644
index 000000000..1971adda4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/UHash32$L2Hash32.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_UHash32$L2Hash32__
+#define __gnu_javax_crypto_mac_UHash32$L2Hash32__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class UHash32;
+            class UHash32$L2Hash32;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::UHash32$L2Hash32 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  UHash32$L2Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jbyte > *);
+private:
+  UHash32$L2Hash32(::gnu::javax::crypto::mac::UHash32 *, ::gnu::javax::crypto::mac::UHash32$L2Hash32 *);
+public:
+  virtual ::java::lang::Object * clone();
+public: // actually package-private
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * digest();
+  virtual void reset();
+private:
+  JArray< jbyte > * yTo16bytes();
+  void poly(jint, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< jbyte > *, jint, jint);
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k64;
+  ::java::math::BigInteger * k128;
+  ::java::math::BigInteger * y;
+  jboolean highBound;
+  jlong bytesSoFar;
+  ::java::io::ByteArrayOutputStream * buffer;
+public: // actually package-private
+  ::gnu::javax::crypto::mac::UHash32 * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_UHash32$L2Hash32__
diff --git a/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h b/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h
new file mode 100644
index 000000000..4e6b580b5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/UHash32$L3Hash32.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_UHash32$L3Hash32__
+#define __gnu_javax_crypto_mac_UHash32$L3Hash32__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class UHash32;
+            class UHash32$L3Hash32;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::UHash32$L3Hash32 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  UHash32$L3Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jbyte > *, JArray< jbyte > *);
+private:
+  UHash32$L3Hash32(::gnu::javax::crypto::mac::UHash32 *, JArray< jint > *);
+public:
+  virtual ::java::lang::Object * clone();
+public: // actually package-private
+  virtual JArray< jbyte > * digest(JArray< jbyte > *);
+private:
+  static const jlong PRIME_36 = 68719476731LL;
+  JArray< jint > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) k;
+public: // actually package-private
+  ::gnu::javax::crypto::mac::UHash32 * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_UHash32$L3Hash32__
diff --git a/libjava/gnu/javax/crypto/mac/UHash32.h b/libjava/gnu/javax/crypto/mac/UHash32.h
new file mode 100644
index 000000000..0b2be15f4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/UHash32.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_UHash32__
+#define __gnu_javax_crypto_mac_UHash32__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mac/BaseMac.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class UHash32;
+            class UHash32$L1Hash32;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::UHash32 : public ::gnu::javax::crypto::mac::BaseMac
+{
+
+public:
+  UHash32();
+private:
+  UHash32(::gnu::javax::crypto::mac::UHash32 *);
+public: // actually package-private
+  static ::java::math::BigInteger * prime(jint);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual jint macSize();
+  virtual void init(::java::util::Map *);
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * digest();
+  virtual void reset();
+  virtual jboolean selfTest();
+private:
+  static ::java::math::BigInteger * PRIME_19;
+  static ::java::math::BigInteger * PRIME_32;
+  static ::java::math::BigInteger * PRIME_36;
+  static ::java::math::BigInteger * PRIME_64;
+  static ::java::math::BigInteger * PRIME_128;
+public: // actually package-private
+  static ::java::math::BigInteger * TWO;
+  static jlong BOUNDARY;
+  static ::java::math::BigInteger * LOWER_RANGE;
+  static ::java::math::BigInteger * UPPER_RANGE;
+  static JArray< jbyte > * ALL_ZEROES;
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) streams;
+  JArray< ::gnu::javax::crypto::mac::UHash32$L1Hash32 * > * l1hash;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_UHash32__
diff --git a/libjava/gnu/javax/crypto/mac/UMac32.h b/libjava/gnu/javax/crypto/mac/UMac32.h
new file mode 100644
index 000000000..7cec99eff
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mac/UMac32.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mac_UMac32__
+#define __gnu_javax_crypto_mac_UMac32__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mac/BaseMac.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class UHash32;
+            class UMac32;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::mac::UMac32 : public ::gnu::javax::crypto::mac::BaseMac
+{
+
+public:
+  UMac32();
+private:
+  UMac32(::gnu::javax::crypto::mac::UMac32 *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual jint macSize();
+  virtual void init(::java::util::Map *);
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * digest();
+  virtual void reset();
+  virtual jboolean selfTest();
+private:
+  JArray< jbyte > * pdf();
+public:
+  static ::java::lang::String * NONCE_MATERIAL;
+private:
+  static ::java::lang::String * TV1;
+  static ::java::math::BigInteger * MAX_NONCE_ITERATIONS;
+public: // actually package-private
+  static const jint OUTPUT_LEN = 8;
+  static const jint L1_KEY_LEN = 1024;
+  static const jint KEY_LEN = 16;
+private:
+  static ::java::lang::Boolean * valid;
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mac::BaseMac)))) nonce;
+  ::gnu::javax::crypto::mac::UHash32 * uhash32;
+  ::java::math::BigInteger * nonceReuseCount;
+  JArray< jbyte > * K;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mac_UMac32__
diff --git a/libjava/gnu/javax/crypto/mode/BaseMode.h b/libjava/gnu/javax/crypto/mode/BaseMode.h
new file mode 100644
index 000000000..25ad4aaf0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/BaseMode.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_BaseMode__
+#define __gnu_javax_crypto_mode_BaseMode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class BaseMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::BaseMode : public ::java::lang::Object
+{
+
+public: // actually protected
+  BaseMode(::java::lang::String *, ::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+public:
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual ::java::lang::String * name();
+  virtual jint defaultBlockSize();
+  virtual jint defaultKeySize();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize();
+  virtual void reset();
+  virtual jboolean selfTest();
+  virtual ::java::lang::Object * clone() = 0;
+  virtual void setup() = 0;
+  virtual void teardown() = 0;
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+private:
+  jboolean testSymmetry(jint, jint);
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+  jint state;
+  ::gnu::javax::crypto::cipher::IBlockCipher * cipher;
+  jint cipherBlockSize;
+  jint modeBlockSize;
+  JArray< jbyte > * iv;
+  ::java::lang::Object * lock;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_BaseMode__
diff --git a/libjava/gnu/javax/crypto/mode/CBC.h b/libjava/gnu/javax/crypto/mode/CBC.h
new file mode 100644
index 000000000..24126a67b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/CBC.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_CBC__
+#define __gnu_javax_crypto_mode_CBC__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class CBC;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::CBC : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  CBC(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  CBC(::gnu::javax::crypto::mode::CBC *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) lastBlock;
+  JArray< jbyte > * scratch;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_CBC__
diff --git a/libjava/gnu/javax/crypto/mode/CFB.h b/libjava/gnu/javax/crypto/mode/CFB.h
new file mode 100644
index 000000000..3931a9b2d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/CFB.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_CFB__
+#define __gnu_javax_crypto_mode_CFB__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class CFB;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::CFB : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  CFB(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  CFB(::gnu::javax::crypto::mode::CFB *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) shiftRegister;
+  JArray< jbyte > * scratch;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_CFB__
diff --git a/libjava/gnu/javax/crypto/mode/CTR.h b/libjava/gnu/javax/crypto/mode/CTR.h
new file mode 100644
index 000000000..3bb11e642
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/CTR.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_CTR__
+#define __gnu_javax_crypto_mode_CTR__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class CTR;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::CTR : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  CTR(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  CTR(::gnu::javax::crypto::mode::CTR *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual ::java::util::Iterator * blockSizes();
+private:
+  void ctr(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) off;
+  JArray< jbyte > * counter;
+  JArray< jbyte > * enc;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_CTR__
diff --git a/libjava/gnu/javax/crypto/mode/EAX.h b/libjava/gnu/javax/crypto/mode/EAX.h
new file mode 100644
index 000000000..d47f07b41
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/EAX.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_EAX__
+#define __gnu_javax_crypto_mode_EAX__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mac
+        {
+            class IMac;
+        }
+        namespace mode
+        {
+            class EAX;
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::EAX : public ::java::lang::Object
+{
+
+public:
+  EAX(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+  virtual ::java::lang::Object * clone();
+  virtual ::java::lang::String * name();
+  virtual jint defaultBlockSize();
+  virtual jint defaultKeySize();
+  virtual ::java::util::Iterator * blockSizes();
+  virtual ::java::util::Iterator * keySizes();
+  virtual void init(::java::util::Map *);
+  virtual jint currentBlockSize();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void reset();
+  virtual jboolean selfTest();
+  virtual jint macSize();
+  virtual JArray< jbyte > * digest();
+  virtual void digest(JArray< jbyte > *, jint);
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) tagSize;
+  ::gnu::javax::crypto::mac::IMac * nonceOmac;
+  ::gnu::javax::crypto::mac::IMac * headerOmac;
+  ::gnu::javax::crypto::mac::IMac * msgOmac;
+  ::gnu::javax::crypto::mode::IMode * ctr;
+  jint state;
+  jboolean init__;
+  jint cipherBlockSize;
+  ::gnu::javax::crypto::cipher::IBlockCipher * cipher;
+  JArray< jbyte > * t_n;
+  static jboolean valid;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_EAX__
diff --git a/libjava/gnu/javax/crypto/mode/ECB.h b/libjava/gnu/javax/crypto/mode/ECB.h
new file mode 100644
index 000000000..ddde9c777
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/ECB.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_ECB__
+#define __gnu_javax_crypto_mode_ECB__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class ECB;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::ECB : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  ECB(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  ECB(::gnu::javax::crypto::mode::ECB *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_ECB__
diff --git a/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h b/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h
new file mode 100644
index 000000000..7954ce83d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/IAuthenticatedMode.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_IAuthenticatedMode__
+#define __gnu_javax_crypto_mode_IAuthenticatedMode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mode
+        {
+            class IAuthenticatedMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::IAuthenticatedMode : public ::java::lang::Object
+{
+
+public:
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual ::java::lang::String * name() = 0;
+  virtual jint defaultBlockSize() = 0;
+  virtual jint defaultKeySize() = 0;
+  virtual ::java::util::Iterator * blockSizes() = 0;
+  virtual ::java::util::Iterator * keySizes() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual jint currentBlockSize() = 0;
+  virtual void reset() = 0;
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual jboolean selfTest() = 0;
+  virtual jint macSize() = 0;
+  virtual void update(jbyte) = 0;
+  virtual void update(JArray< jbyte > *, jint, jint) = 0;
+  virtual JArray< jbyte > * digest() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_mode_IAuthenticatedMode__
diff --git a/libjava/gnu/javax/crypto/mode/ICM.h b/libjava/gnu/javax/crypto/mode/ICM.h
new file mode 100644
index 000000000..ee18743e8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/ICM.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_ICM__
+#define __gnu_javax_crypto_mode_ICM__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class ICM;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::ICM : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  ICM(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  ICM(::gnu::javax::crypto::mode::ICM *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+private:
+  void icm(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  static ::java::math::BigInteger * TWO_FIFTY_SIX;
+  ::java::math::BigInteger * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) maxBlocksPerSegment;
+  ::java::math::BigInteger * counterRange;
+  ::java::math::BigInteger * C0;
+  ::java::math::BigInteger * blockNdx;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_ICM__
diff --git a/libjava/gnu/javax/crypto/mode/IMode.h b/libjava/gnu/javax/crypto/mode/IMode.h
new file mode 100644
index 000000000..8ee59c1ff
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/IMode.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_IMode__
+#define __gnu_javax_crypto_mode_IMode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mode
+        {
+            class IMode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::IMode : public ::java::lang::Object
+{
+
+public:
+  virtual void update(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual ::java::lang::String * name() = 0;
+  virtual jint defaultBlockSize() = 0;
+  virtual jint defaultKeySize() = 0;
+  virtual ::java::util::Iterator * blockSizes() = 0;
+  virtual ::java::util::Iterator * keySizes() = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual jint currentBlockSize() = 0;
+  virtual void reset() = 0;
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint) = 0;
+  virtual jboolean selfTest() = 0;
+  static ::java::lang::String * STATE;
+  static ::java::lang::String * MODE_BLOCK_SIZE;
+  static ::java::lang::String * IV;
+  static const jint ENCRYPTION = 1;
+  static const jint DECRYPTION = 2;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_mode_IMode__
diff --git a/libjava/gnu/javax/crypto/mode/ModeFactory.h b/libjava/gnu/javax/crypto/mode/ModeFactory.h
new file mode 100644
index 000000000..d3f694e66
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/ModeFactory.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_ModeFactory__
+#define __gnu_javax_crypto_mode_ModeFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class IMode;
+            class ModeFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::ModeFactory : public ::java::lang::Object
+{
+
+  ModeFactory();
+public:
+  static ::gnu::javax::crypto::mode::IMode * getInstance(::java::lang::String *, ::java::lang::String *, jint);
+  static ::gnu::javax::crypto::mode::IMode * getInstance(::java::lang::String *, ::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+  static ::java::util::Set * getNames();
+private:
+  static ::java::util::Set * names;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_ModeFactory__
diff --git a/libjava/gnu/javax/crypto/mode/OFB.h b/libjava/gnu/javax/crypto/mode/OFB.h
new file mode 100644
index 000000000..04bbaece8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/mode/OFB.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_mode_OFB__
+#define __gnu_javax_crypto_mode_OFB__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mode/BaseMode.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace mode
+        {
+            class OFB;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::mode::OFB : public ::gnu::javax::crypto::mode::BaseMode
+{
+
+public: // actually package-private
+  OFB(::gnu::javax::crypto::cipher::IBlockCipher *, jint);
+private:
+  OFB(::gnu::javax::crypto::mode::OFB *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup();
+  virtual void teardown();
+  virtual void encryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+  virtual void decryptBlock(JArray< jbyte > *, jint, JArray< jbyte > *, jint);
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::mode::BaseMode)))) outputBlock;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_mode_OFB__
diff --git a/libjava/gnu/javax/crypto/pad/BasePad.h b/libjava/gnu/javax/crypto/pad/BasePad.h
new file mode 100644
index 000000000..130b4000b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/BasePad.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_BasePad__
+#define __gnu_javax_crypto_pad_BasePad__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class BasePad;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::BasePad : public ::java::lang::Object
+{
+
+public: // actually protected
+  BasePad(::java::lang::String *);
+public:
+  virtual ::java::lang::String * name();
+  virtual void init(jint);
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+  virtual jboolean selfTest();
+public: // actually protected
+  virtual jboolean test1BlockSize(jint, JArray< jbyte > *);
+public:
+  virtual void setup() = 0;
+  virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint) = 0;
+  virtual jint unpad(JArray< jbyte > *, jint, jint) = 0;
+private:
+  static ::java::util::logging::Logger * log;
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name__;
+  jint blockSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_BasePad__
diff --git a/libjava/gnu/javax/crypto/pad/IPad.h b/libjava/gnu/javax/crypto/pad/IPad.h
new file mode 100644
index 000000000..67e298924
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/IPad.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_IPad__
+#define __gnu_javax_crypto_pad_IPad__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class IPad;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::IPad : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::String * name() = 0;
+  virtual void init(jint) = 0;
+  virtual void init(::java::util::Map *) = 0;
+  virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint) = 0;
+  virtual jint unpad(JArray< jbyte > *, jint, jint) = 0;
+  virtual void reset() = 0;
+  virtual jboolean selfTest() = 0;
+  static ::java::lang::String * PADDING_BLOCK_SIZE;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_pad_IPad__
diff --git a/libjava/gnu/javax/crypto/pad/ISO10126.h b/libjava/gnu/javax/crypto/pad/ISO10126.h
new file mode 100644
index 000000000..2d7debaa4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/ISO10126.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_ISO10126__
+#define __gnu_javax_crypto_pad_ISO10126__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class ISO10126;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::ISO10126 : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public: // actually package-private
+  ISO10126();
+public:
+  void setup();
+  JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  jint unpad(JArray< jbyte > *, jint, jint);
+  jboolean selfTest();
+private:
+  ::gnu::java::security::util::PRNG * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::pad::BasePad)))) prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_ISO10126__
diff --git a/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h b/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h
new file mode 100644
index 000000000..b681a0fa3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/PKCS1_V1_5.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_PKCS1_V1_5__
+#define __gnu_javax_crypto_pad_PKCS1_V1_5__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace sig
+        {
+          namespace rsa
+          {
+              class EME_PKCS1_V1_5;
+          }
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class PKCS1_V1_5;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::PKCS1_V1_5 : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public: // actually package-private
+  PKCS1_V1_5();
+public:
+  virtual void setup();
+  virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  virtual jint unpad(JArray< jbyte > *, jint, jint);
+  virtual jboolean selfTest();
+private:
+  static ::java::util::logging::Logger * log;
+  ::gnu::java::security::sig::rsa::EME_PKCS1_V1_5 * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::pad::BasePad)))) codec;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_PKCS1_V1_5__
diff --git a/libjava/gnu/javax/crypto/pad/PKCS7.h b/libjava/gnu/javax/crypto/pad/PKCS7.h
new file mode 100644
index 000000000..609d4b35b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/PKCS7.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_PKCS7__
+#define __gnu_javax_crypto_pad_PKCS7__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class PKCS7;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::PKCS7 : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public: // actually package-private
+  PKCS7();
+public:
+  void setup();
+  JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  jint unpad(JArray< jbyte > *, jint, jint);
+private:
+  static ::java::util::logging::Logger * log;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_PKCS7__
diff --git a/libjava/gnu/javax/crypto/pad/PadFactory.h b/libjava/gnu/javax/crypto/pad/PadFactory.h
new file mode 100644
index 000000000..fea2a3b09
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/PadFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_PadFactory__
+#define __gnu_javax_crypto_pad_PadFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class IPad;
+            class PadFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::PadFactory : public ::java::lang::Object
+{
+
+  PadFactory();
+public:
+  static ::gnu::javax::crypto::pad::IPad * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+private:
+  static ::java::util::Set * names;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_PadFactory__
diff --git a/libjava/gnu/javax/crypto/pad/SSL3.h b/libjava/gnu/javax/crypto/pad/SSL3.h
new file mode 100644
index 000000000..1154d8ed8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/SSL3.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_SSL3__
+#define __gnu_javax_crypto_pad_SSL3__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class SSL3;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::SSL3 : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public:
+  SSL3();
+  virtual void setup();
+  virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  virtual jint unpad(JArray< jbyte > *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_SSL3__
diff --git a/libjava/gnu/javax/crypto/pad/TBC.h b/libjava/gnu/javax/crypto/pad/TBC.h
new file mode 100644
index 000000000..099c05a82
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/TBC.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_TBC__
+#define __gnu_javax_crypto_pad_TBC__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class TBC;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::TBC : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public: // actually package-private
+  TBC();
+public:
+  void setup();
+  JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  jint unpad(JArray< jbyte > *, jint, jint);
+private:
+  static ::java::util::logging::Logger * log;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_TBC__
diff --git a/libjava/gnu/javax/crypto/pad/TLS1.h b/libjava/gnu/javax/crypto/pad/TLS1.h
new file mode 100644
index 000000000..0f361fc51
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/TLS1.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_TLS1__
+#define __gnu_javax_crypto_pad_TLS1__
+
+#pragma interface
+
+#include <gnu/javax/crypto/pad/BasePad.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class TLS1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::TLS1 : public ::gnu::javax::crypto::pad::BasePad
+{
+
+public:
+  TLS1();
+  virtual void setup();
+  virtual JArray< jbyte > * pad(JArray< jbyte > *, jint, jint);
+  virtual jint unpad(JArray< jbyte > *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_TLS1__
diff --git a/libjava/gnu/javax/crypto/pad/WrongPaddingException.h b/libjava/gnu/javax/crypto/pad/WrongPaddingException.h
new file mode 100644
index 000000000..16a9b331b
--- /dev/null
+++ b/libjava/gnu/javax/crypto/pad/WrongPaddingException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_pad_WrongPaddingException__
+#define __gnu_javax_crypto_pad_WrongPaddingException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace pad
+        {
+            class WrongPaddingException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::pad::WrongPaddingException : public ::java::lang::Exception
+{
+
+public:
+  WrongPaddingException();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_pad_WrongPaddingException__
diff --git a/libjava/gnu/javax/crypto/prng/ARCFour.h b/libjava/gnu/javax/crypto/prng/ARCFour.h
new file mode 100644
index 000000000..097b0b367
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/ARCFour.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_ARCFour__
+#define __gnu_javax_crypto_prng_ARCFour__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class ARCFour;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::ARCFour : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  ARCFour();
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+  static ::java::lang::String * ARCFOUR_KEY_MATERIAL;
+  static const jint ARCFOUR_SBOX_SIZE = 256;
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) s;
+  jbyte m;
+  jbyte n;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_ARCFour__
diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$1.h b/libjava/gnu/javax/crypto/prng/CSPRNG$1.h
new file mode 100644
index 000000000..bfad93aff
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/CSPRNG$1.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_CSPRNG$1__
+#define __gnu_javax_crypto_prng_CSPRNG$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class CSPRNG$1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::CSPRNG$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CSPRNG$1(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * run();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_CSPRNG$1__
diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h b/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h
new file mode 100644
index 000000000..823b08baa
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/CSPRNG$Poller.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_CSPRNG$Poller__
+#define __gnu_javax_crypto_prng_CSPRNG$Poller__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class CSPRNG;
+            class CSPRNG$Poller;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::CSPRNG$Poller : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CSPRNG$Poller(::gnu::javax::crypto::prng::CSPRNG *, ::java::util::List *, ::java::util::List *, ::java::util::List *, ::java::util::List *, ::gnu::javax::crypto::prng::CSPRNG *);
+public:
+  void run();
+  void stopUpdating();
+private:
+  ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) files;
+  ::java::util::List * urls;
+  ::java::util::List * progs;
+  ::java::util::List * other;
+  ::gnu::javax::crypto::prng::CSPRNG * pool;
+  jboolean running;
+public: // actually package-private
+  ::gnu::javax::crypto::prng::CSPRNG * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_CSPRNG$Poller__
diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h b/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h
new file mode 100644
index 000000000..305d9cac8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/CSPRNG$Spinner.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_CSPRNG$Spinner__
+#define __gnu_javax_crypto_prng_CSPRNG$Spinner__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class CSPRNG$Spinner;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::CSPRNG$Spinner : public ::java::lang::Object
+{
+
+  CSPRNG$Spinner();
+public:
+  virtual void run();
+public: // actually package-private
+  CSPRNG$Spinner(::gnu::javax::crypto::prng::CSPRNG$Spinner *);
+public: // actually protected
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) counter;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_CSPRNG$Spinner__
diff --git a/libjava/gnu/javax/crypto/prng/CSPRNG.h b/libjava/gnu/javax/crypto/prng/CSPRNG.h
new file mode 100644
index 000000000..4773413e6
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/CSPRNG.h
@@ -0,0 +1,121 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_CSPRNG__
+#define __gnu_javax_crypto_prng_CSPRNG__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace prng
+        {
+            class CSPRNG;
+            class CSPRNG$Poller;
+            class CSPRNG$Spinner;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::CSPRNG : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  CSPRNG();
+  static ::gnu::java::security::prng::IRandom * getSystemInstance();
+private:
+  static ::java::lang::String * getProperty(::java::lang::String *);
+  static ::java::util::List * parseString(::java::lang::String *);
+  static ::java::util::List * parseURL(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+  virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+  virtual void addRandomByte(jbyte);
+public: // actually package-private
+  virtual void addQuality(jdouble);
+  virtual jdouble getQuality();
+private:
+  void mixRandomPool(JArray< jbyte > *);
+  void mixRandomPool();
+  void generateX917(JArray< jbyte > *);
+  void fastPoll();
+  void slowPoll();
+public: // actually protected
+  virtual void finalize();
+private:
+  static ::java::util::logging::Logger * log;
+public:
+  static ::java::lang::String * FILE_SOURCES;
+  static ::java::lang::String * URL_SOURCES;
+  static ::java::lang::String * PROGRAM_SOURCES;
+  static ::java::lang::String * OTHER_SOURCES;
+  static ::java::lang::String * BLOCKING;
+private:
+  static ::java::lang::String * FILES;
+  static ::java::lang::String * URLS;
+  static ::java::lang::String * PROGS;
+  static ::java::lang::String * OTHER;
+  static ::java::lang::String * BLOCK;
+  static const jint POOL_SIZE = 256;
+  static const jint ALLOC_SIZE = 260;
+  static const jint OUTPUT_SIZE = 128;
+  static const jint X917_POOL_SIZE = 16;
+  static ::java::lang::String * HASH_FUNCTION;
+  static ::java::lang::String * CIPHER;
+  static const jint MIX_COUNT = 10;
+  static const jint X917_LIFETIME = 8192;
+  static const jint SPINNER_COUNT = 8;
+  static JArray< ::gnu::javax::crypto::prng::CSPRNG$Spinner * > * SPINNERS;
+  static JArray< ::java::lang::Thread * > * SPINNER_THREADS;
+  ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) hash;
+  ::gnu::javax::crypto::cipher::IBlockCipher * cipher;
+  jint mixCount;
+  JArray< jbyte > * pool;
+  jdouble quality;
+  jint index;
+  JArray< jbyte > * x917pool;
+  jint x917count;
+  jboolean x917init;
+  ::java::util::List * files;
+  ::java::util::List * urls;
+  ::java::util::List * progs;
+  ::java::util::List * other;
+  jboolean blocking;
+  ::gnu::javax::crypto::prng::CSPRNG$Poller * poller;
+  ::java::lang::Thread * pollerThread;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_CSPRNG__
diff --git a/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h b/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h
new file mode 100644
index 000000000..1507af34f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/Fortuna$Generator.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_Fortuna$Generator__
+#define __gnu_javax_crypto_prng_Fortuna$Generator__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace prng
+        {
+            class Fortuna$Generator;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::Fortuna$Generator : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  Fortuna$Generator(::gnu::javax::crypto::cipher::IBlockCipher *, ::gnu::java::security::hash::IMessageDigest *);
+  virtual jbyte nextByte();
+  virtual void nextBytes(JArray< jbyte > *, jint, jint);
+  virtual void addRandomByte(jbyte);
+  virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+  virtual void fillBlock();
+  virtual void setup(::java::util::Map *);
+private:
+  void resetKey();
+  void incrementCounter();
+  static const jint LIMIT = 1048576;
+  ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher;
+  ::gnu::java::security::hash::IMessageDigest * hash;
+  JArray< jbyte > * counter;
+  JArray< jbyte > * key;
+  jboolean seeded;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_Fortuna$Generator__
diff --git a/libjava/gnu/javax/crypto/prng/Fortuna.h b/libjava/gnu/javax/crypto/prng/Fortuna.h
new file mode 100644
index 000000000..aab98c709
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/Fortuna.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_Fortuna__
+#define __gnu_javax_crypto_prng_Fortuna__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+        namespace prng
+        {
+            class RandomEvent;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class Fortuna;
+            class Fortuna$Generator;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::Fortuna : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  Fortuna();
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+  virtual void addRandomByte(jbyte);
+  virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+  virtual void addRandomEvent(::gnu::java::security::prng::RandomEvent *);
+private:
+  void writeObject(::java::io::ObjectOutputStream *);
+  void readObject(::java::io::ObjectInputStream *);
+  static const jlong serialVersionUID = 16435934LL;
+  static const jint SEED_FILE_SIZE = 64;
+  static const jint NUM_POOLS = 32;
+  static const jint MIN_POOL_SIZE = 64;
+  ::gnu::javax::crypto::prng::Fortuna$Generator * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) generator;
+  JArray< ::gnu::java::security::hash::IMessageDigest * > * pools;
+  jlong lastReseed;
+  jint pool;
+  jint pool0Count;
+  jint reseedCount;
+public:
+  static ::java::lang::String * SEED;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_Fortuna__
diff --git a/libjava/gnu/javax/crypto/prng/ICMGenerator.h b/libjava/gnu/javax/crypto/prng/ICMGenerator.h
new file mode 100644
index 000000000..e69f6c090
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/ICMGenerator.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_ICMGenerator__
+#define __gnu_javax_crypto_prng_ICMGenerator__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace prng
+        {
+            class ICMGenerator;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::ICMGenerator : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  ICMGenerator();
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+  static ::java::lang::String * CIPHER;
+  static ::java::lang::String * BLOCK_INDEX_LENGTH;
+  static ::java::lang::String * SEGMENT_INDEX_LENGTH;
+  static ::java::lang::String * OFFSET;
+  static ::java::lang::String * SEGMENT_INDEX;
+private:
+  static ::java::math::BigInteger * TWO_FIFTY_SIX;
+  ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher;
+  jint blockNdxLength;
+  jint segmentNdxLength;
+  ::java::math::BigInteger * blockNdx;
+  ::java::math::BigInteger * segmentNdx;
+  ::java::math::BigInteger * C0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_ICMGenerator__
diff --git a/libjava/gnu/javax/crypto/prng/IPBE.h b/libjava/gnu/javax/crypto/prng/IPBE.h
new file mode 100644
index 000000000..4fae1c4b1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/IPBE.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_IPBE__
+#define __gnu_javax_crypto_prng_IPBE__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class IPBE;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::IPBE : public ::java::lang::Object
+{
+
+public:
+  static ::java::lang::String * ITERATION_COUNT;
+  static ::java::lang::String * PASSWORD;
+  static ::java::lang::String * PASSWORD_ENCODING;
+  static ::java::lang::String * SALT;
+  static ::java::lang::String * DEFAULT_PASSWORD_ENCODING;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_prng_IPBE__
diff --git a/libjava/gnu/javax/crypto/prng/PBKDF2.h b/libjava/gnu/javax/crypto/prng/PBKDF2.h
new file mode 100644
index 000000000..209d69523
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/PBKDF2.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_PBKDF2__
+#define __gnu_javax_crypto_prng_PBKDF2__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+        }
+        namespace prng
+        {
+            class PBKDF2;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::PBKDF2 : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  PBKDF2(::gnu::javax::crypto::mac::IMac *);
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) in;
+  jint iterationCount;
+  JArray< jbyte > * salt;
+  ::gnu::javax::crypto::mac::IMac * mac;
+  jlong count;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_PBKDF2__
diff --git a/libjava/gnu/javax/crypto/prng/PRNGFactory.h b/libjava/gnu/javax/crypto/prng/PRNGFactory.h
new file mode 100644
index 000000000..76d9e2623
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/PRNGFactory.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_PRNGFactory__
+#define __gnu_javax_crypto_prng_PRNGFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace prng
+        {
+            class IRandom;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class PRNGFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::PRNGFactory : public ::java::lang::Object
+{
+
+  PRNGFactory();
+public:
+  static ::gnu::java::security::prng::IRandom * getInstance(::java::lang::String *);
+  static ::java::util::Set * getNames();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_PRNGFactory__
diff --git a/libjava/gnu/javax/crypto/prng/UMacGenerator.h b/libjava/gnu/javax/crypto/prng/UMacGenerator.h
new file mode 100644
index 000000000..3da98cdf8
--- /dev/null
+++ b/libjava/gnu/javax/crypto/prng/UMacGenerator.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_prng_UMacGenerator__
+#define __gnu_javax_crypto_prng_UMacGenerator__
+
+#pragma interface
+
+#include <gnu/java/security/prng/BasePRNG.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace cipher
+        {
+            class IBlockCipher;
+        }
+        namespace prng
+        {
+            class UMacGenerator;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::prng::UMacGenerator : public ::gnu::java::security::prng::BasePRNG
+{
+
+public:
+  UMacGenerator();
+  virtual void setup(::java::util::Map *);
+  virtual void fillBlock();
+  static ::java::lang::String * INDEX;
+  static ::java::lang::String * CIPHER;
+private:
+  ::gnu::javax::crypto::cipher::IBlockCipher * __attribute__((aligned(__alignof__( ::gnu::java::security::prng::BasePRNG)))) cipher;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_prng_UMacGenerator__
diff --git a/libjava/gnu/javax/crypto/sasl/AuthInfo.h b/libjava/gnu/javax/crypto/sasl/AuthInfo.h
new file mode 100644
index 000000000..39fa49b45
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/AuthInfo.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_AuthInfo__
+#define __gnu_javax_crypto_sasl_AuthInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class AuthInfo;
+            class IAuthInfoProvider;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::AuthInfo : public ::java::lang::Object
+{
+
+  AuthInfo();
+public:
+  static ::gnu::javax::crypto::sasl::IAuthInfoProvider * getProvider(::java::lang::String *);
+private:
+  static ::java::util::ArrayList * factories;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_AuthInfo__
diff --git a/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h b/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h
new file mode 100644
index 000000000..5431e6178
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/AuthInfoProviderFactory.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_AuthInfoProviderFactory__
+#define __gnu_javax_crypto_sasl_AuthInfoProviderFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class AuthInfoProviderFactory;
+            class IAuthInfoProvider;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::AuthInfoProviderFactory : public ::java::lang::Object
+{
+
+public:
+  AuthInfoProviderFactory();
+  virtual ::gnu::javax::crypto::sasl::IAuthInfoProvider * getInstance(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_AuthInfoProviderFactory__
diff --git a/libjava/gnu/javax/crypto/sasl/ClientFactory.h b/libjava/gnu/javax/crypto/sasl/ClientFactory.h
new file mode 100644
index 000000000..a74916a93
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/ClientFactory.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_ClientFactory__
+#define __gnu_javax_crypto_sasl_ClientFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class ClientFactory;
+            class ClientMechanism;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class CallbackHandler;
+        }
+      }
+      namespace sasl
+      {
+          class SaslClient;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::ClientFactory : public ::java::lang::Object
+{
+
+public:
+  ClientFactory();
+  static ::java::util::Set * getNames();
+private:
+  static JArray< ::java::lang::String * > * getNamesInternal(::java::util::Map *);
+public:
+  static ::gnu::javax::crypto::sasl::ClientMechanism * getInstance(::java::lang::String *);
+  virtual ::javax::security::sasl::SaslClient * createSaslClient(JArray< ::java::lang::String * > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *);
+  virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *);
+private:
+  static jboolean hasPolicy(::java::lang::String *, ::java::util::Map *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_ClientFactory__
diff --git a/libjava/gnu/javax/crypto/sasl/ClientMechanism.h b/libjava/gnu/javax/crypto/sasl/ClientMechanism.h
new file mode 100644
index 000000000..b1bd010be
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/ClientMechanism.h
@@ -0,0 +1,91 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_ClientMechanism__
+#define __gnu_javax_crypto_sasl_ClientMechanism__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class ClientMechanism;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class CallbackHandler;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::ClientMechanism : public ::java::lang::Object
+{
+
+public: // actually protected
+  ClientMechanism(::java::lang::String *);
+  virtual void initMechanism() = 0;
+  virtual void resetMechanism() = 0;
+public:
+  virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *) = 0;
+  virtual jboolean hasInitialResponse() = 0;
+  virtual jboolean isComplete();
+  virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint);
+  virtual ::java::lang::String * getMechanismName();
+  virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *);
+  virtual void dispose();
+  virtual ::java::lang::String * getAuthorizationID();
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+  virtual ::java::lang::String * getNegotiatedStrength();
+  virtual ::java::lang::String * getNegotiatedServerAuth();
+  virtual ::java::lang::String * getNegotiatedMaxBuffer();
+  virtual ::java::lang::String * getNegotiatedRawSendSize();
+  virtual ::java::lang::String * getNegotiatedPolicyNoPlainText();
+  virtual ::java::lang::String * getNegotiatedPolicyNoActive();
+  virtual ::java::lang::String * getNegotiatedPolicyNoDictionary();
+  virtual ::java::lang::String * getNegotiatedPolicyNoAnonymous();
+  virtual ::java::lang::String * getNegotiatedPolicyForwardSecrecy();
+  virtual ::java::lang::String * getNegotiatedPolicyPassCredentials();
+  virtual ::java::lang::String * getReuse();
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+public:
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mechanism;
+  ::java::lang::String * authorizationID;
+  ::java::lang::String * protocol;
+  ::java::lang::String * serverName;
+  ::java::util::Map * properties;
+  ::javax::security::auth::callback::CallbackHandler * handler;
+  JArray< jbyte > * channelBinding;
+  jboolean complete;
+  jint state;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_ClientMechanism__
diff --git a/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h b/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h
new file mode 100644
index 000000000..6c0019331
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/ConfidentialityException.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_ConfidentialityException__
+#define __gnu_javax_crypto_sasl_ConfidentialityException__
+
+#pragma interface
+
+#include <javax/security/sasl/SaslException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class ConfidentialityException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::ConfidentialityException : public ::javax::security::sasl::SaslException
+{
+
+public:
+  ConfidentialityException();
+  ConfidentialityException(::java::lang::String *);
+  ConfidentialityException(::java::lang::String *, ::java::lang::Throwable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_ConfidentialityException__
diff --git a/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h
new file mode 100644
index 000000000..fbf8cee29
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/IAuthInfoProvider.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_IAuthInfoProvider__
+#define __gnu_javax_crypto_sasl_IAuthInfoProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class IAuthInfoProvider;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::IAuthInfoProvider : public ::java::lang::Object
+{
+
+public:
+  virtual void activate(::java::util::Map *) = 0;
+  virtual void passivate() = 0;
+  virtual jboolean contains(::java::lang::String *) = 0;
+  virtual ::java::util::Map * lookup(::java::util::Map *) = 0;
+  virtual void update(::java::util::Map *) = 0;
+  virtual ::java::util::Map * getConfiguration(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_IAuthInfoProvider__
diff --git a/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h b/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h
new file mode 100644
index 000000000..7fcb4915f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/IAuthInfoProviderFactory.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__
+#define __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class IAuthInfoProvider;
+            class IAuthInfoProviderFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::IAuthInfoProviderFactory : public ::java::lang::Object
+{
+
+public:
+  virtual ::gnu::javax::crypto::sasl::IAuthInfoProvider * getInstance(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_IAuthInfoProviderFactory__
diff --git a/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h b/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h
new file mode 100644
index 000000000..0503f0d50
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/IllegalMechanismStateException.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_IllegalMechanismStateException__
+#define __gnu_javax_crypto_sasl_IllegalMechanismStateException__
+
+#pragma interface
+
+#include <javax/security/sasl/AuthenticationException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class IllegalMechanismStateException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::IllegalMechanismStateException : public ::javax::security::sasl::AuthenticationException
+{
+
+public:
+  IllegalMechanismStateException();
+  IllegalMechanismStateException(::java::lang::String *);
+  IllegalMechanismStateException(::java::lang::String *, ::java::lang::Throwable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_IllegalMechanismStateException__
diff --git a/libjava/gnu/javax/crypto/sasl/InputBuffer.h b/libjava/gnu/javax/crypto/sasl/InputBuffer.h
new file mode 100644
index 000000000..d628f7a65
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/InputBuffer.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_InputBuffer__
+#define __gnu_javax_crypto_sasl_InputBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class InputBuffer;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::InputBuffer : public ::java::lang::Object
+{
+
+public:
+  InputBuffer(JArray< jbyte > *);
+private:
+  InputBuffer();
+public:
+  static ::gnu::javax::crypto::sasl::InputBuffer * getInstance(JArray< jbyte > *);
+  static ::gnu::javax::crypto::sasl::InputBuffer * getInstance(JArray< jbyte > *, jint, jint);
+  static jint twoBytesToLength(JArray< jbyte > *);
+  virtual jboolean hasMoreElements();
+  virtual jlong getScalar(jint);
+  virtual JArray< jbyte > * getOS();
+  virtual JArray< jbyte > * getEOS();
+  virtual ::java::math::BigInteger * getMPI();
+  virtual ::java::lang::String * getText();
+public: // actually protected
+  ::java::io::ByteArrayInputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in;
+  jint length;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_InputBuffer__
diff --git a/libjava/gnu/javax/crypto/sasl/IntegrityException.h b/libjava/gnu/javax/crypto/sasl/IntegrityException.h
new file mode 100644
index 000000000..5c66cb4a3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/IntegrityException.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_IntegrityException__
+#define __gnu_javax_crypto_sasl_IntegrityException__
+
+#pragma interface
+
+#include <javax/security/sasl/SaslException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class IntegrityException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::IntegrityException : public ::javax::security::sasl::SaslException
+{
+
+public:
+  IntegrityException();
+  IntegrityException(::java::lang::String *);
+  IntegrityException(::java::lang::String *, ::java::lang::Throwable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_IntegrityException__
diff --git a/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h b/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h
new file mode 100644
index 000000000..0668d16cf
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/NoSuchMechanismException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_NoSuchMechanismException__
+#define __gnu_javax_crypto_sasl_NoSuchMechanismException__
+
+#pragma interface
+
+#include <javax/security/sasl/SaslException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class NoSuchMechanismException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::NoSuchMechanismException : public ::javax::security::sasl::SaslException
+{
+
+public:
+  NoSuchMechanismException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_NoSuchMechanismException__
diff --git a/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h b/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h
new file mode 100644
index 000000000..17bc8fc1d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/NoSuchUserException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_NoSuchUserException__
+#define __gnu_javax_crypto_sasl_NoSuchUserException__
+
+#pragma interface
+
+#include <javax/security/sasl/AuthenticationException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class NoSuchUserException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::NoSuchUserException : public ::javax::security::sasl::AuthenticationException
+{
+
+public:
+  NoSuchUserException();
+  NoSuchUserException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_NoSuchUserException__
diff --git a/libjava/gnu/javax/crypto/sasl/OutputBuffer.h b/libjava/gnu/javax/crypto/sasl/OutputBuffer.h
new file mode 100644
index 000000000..40cd18911
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/OutputBuffer.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_OutputBuffer__
+#define __gnu_javax_crypto_sasl_OutputBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class OutputBuffer;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::OutputBuffer : public ::java::lang::Object
+{
+
+public:
+  OutputBuffer();
+  virtual void setScalar(jint, jint);
+  virtual void setOS(JArray< jbyte > *);
+  virtual void setEOS(JArray< jbyte > *);
+  virtual void setMPI(::java::math::BigInteger *);
+  virtual void setText(::java::lang::String *);
+  virtual JArray< jbyte > * encode();
+  virtual JArray< jbyte > * wrap();
+private:
+  ::java::io::ByteArrayOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_OutputBuffer__
diff --git a/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h b/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h
new file mode 100644
index 000000000..000b36799
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/SaslEncodingException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_SaslEncodingException__
+#define __gnu_javax_crypto_sasl_SaslEncodingException__
+
+#pragma interface
+
+#include <javax/security/sasl/SaslException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class SaslEncodingException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::SaslEncodingException : public ::javax::security::sasl::SaslException
+{
+
+public:
+  SaslEncodingException();
+  SaslEncodingException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_SaslEncodingException__
diff --git a/libjava/gnu/javax/crypto/sasl/SaslInputStream.h b/libjava/gnu/javax/crypto/sasl/SaslInputStream.h
new file mode 100644
index 000000000..6a5c65319
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/SaslInputStream.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_SaslInputStream__
+#define __gnu_javax_crypto_sasl_SaslInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class SaslInputStream;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace sasl
+      {
+          class SaslClient;
+          class SaslServer;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::SaslInputStream : public ::java::io::InputStream
+{
+
+public:
+  SaslInputStream(::javax::security::sasl::SaslClient *, ::java::io::InputStream *);
+  SaslInputStream(::javax::security::sasl::SaslServer *, ::java::io::InputStream *);
+  virtual jint available();
+  virtual void close();
+  virtual jint read();
+  virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+  JArray< jbyte > * readSaslBuffer();
+  static ::java::util::logging::Logger * log;
+  ::javax::security::sasl::SaslClient * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) client;
+  ::javax::security::sasl::SaslServer * server;
+  jint maxRawSendSize;
+  ::java::io::InputStream * source;
+  JArray< jbyte > * internalBuf;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_SaslInputStream__
diff --git a/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h b/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h
new file mode 100644
index 000000000..8d55853bd
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/SaslOutputStream.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_SaslOutputStream__
+#define __gnu_javax_crypto_sasl_SaslOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class SaslOutputStream;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace sasl
+      {
+          class SaslClient;
+          class SaslServer;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::SaslOutputStream : public ::java::io::OutputStream
+{
+
+public:
+  SaslOutputStream(::javax::security::sasl::SaslClient *, ::java::io::OutputStream *);
+  SaslOutputStream(::javax::security::sasl::SaslServer *, ::java::io::OutputStream *);
+  virtual void close();
+  virtual void flush();
+  virtual void write(jint);
+  virtual void write(JArray< jbyte > *, jint, jint);
+private:
+  static ::java::util::logging::Logger * log;
+  ::javax::security::sasl::SaslClient * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) client;
+  ::javax::security::sasl::SaslServer * server;
+  jint maxRawSendSize;
+  ::java::io::OutputStream * dest;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_SaslOutputStream__
diff --git a/libjava/gnu/javax/crypto/sasl/SaslUtil.h b/libjava/gnu/javax/crypto/sasl/SaslUtil.h
new file mode 100644
index 000000000..3d043c051
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/SaslUtil.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_SaslUtil__
+#define __gnu_javax_crypto_sasl_SaslUtil__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class SaslUtil;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class MessageDigest;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::SaslUtil : public ::java::lang::Object
+{
+
+  SaslUtil();
+public:
+  static jboolean validEmailAddress(::java::lang::String *);
+  static ::java::lang::String * dump(::java::security::MessageDigest *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_SaslUtil__
diff --git a/libjava/gnu/javax/crypto/sasl/ServerFactory.h b/libjava/gnu/javax/crypto/sasl/ServerFactory.h
new file mode 100644
index 000000000..00ee64508
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/ServerFactory.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_ServerFactory__
+#define __gnu_javax_crypto_sasl_ServerFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class ServerFactory;
+            class ServerMechanism;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class CallbackHandler;
+        }
+      }
+      namespace sasl
+      {
+          class SaslServer;
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::ServerFactory : public ::java::lang::Object
+{
+
+public:
+  ServerFactory();
+  static ::java::util::Set * getNames();
+private:
+  static JArray< ::java::lang::String * > * getNamesInternal(::java::util::Map *);
+public:
+  static ::gnu::javax::crypto::sasl::ServerMechanism * getInstance(::java::lang::String *);
+  virtual ::javax::security::sasl::SaslServer * createSaslServer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::util::Map *, ::javax::security::auth::callback::CallbackHandler *);
+  virtual JArray< ::java::lang::String * > * getMechanismNames(::java::util::Map *);
+private:
+  static jboolean hasPolicy(::java::lang::String *, ::java::util::Map *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_ServerFactory__
diff --git a/libjava/gnu/javax/crypto/sasl/ServerMechanism.h b/libjava/gnu/javax/crypto/sasl/ServerMechanism.h
new file mode 100644
index 000000000..4b7a196d2
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/ServerMechanism.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_ServerMechanism__
+#define __gnu_javax_crypto_sasl_ServerMechanism__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class IAuthInfoProvider;
+            class ServerMechanism;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class CallbackHandler;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::ServerMechanism : public ::java::lang::Object
+{
+
+public: // actually protected
+  ServerMechanism(::java::lang::String *);
+  virtual void initMechanism() = 0;
+  virtual void resetMechanism() = 0;
+public:
+  virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *) = 0;
+  virtual jboolean isComplete();
+  virtual JArray< jbyte > * unwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * wrap(JArray< jbyte > *, jint, jint);
+  virtual ::java::lang::String * getMechanismName();
+  virtual ::java::lang::String * getAuthorizationID();
+  virtual ::java::lang::Object * getNegotiatedProperty(::java::lang::String *);
+  virtual void dispose();
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+  virtual ::java::lang::String * getNegotiatedStrength();
+  virtual ::java::lang::String * getNegotiatedServerAuth();
+  virtual ::java::lang::String * getNegotiatedMaxBuffer();
+  virtual ::java::lang::String * getNegotiatedPolicyNoPlainText();
+  virtual ::java::lang::String * getNegotiatedPolicyNoActive();
+  virtual ::java::lang::String * getNegotiatedPolicyNoDictionary();
+  virtual ::java::lang::String * getNegotiatedPolicyNoAnonymous();
+  virtual ::java::lang::String * getNegotiatedPolicyForwardSecrecy();
+  virtual ::java::lang::String * getNegotiatedPolicyPassCredentials();
+  virtual ::java::lang::String * getNegotiatedRawSendSize();
+  virtual ::java::lang::String * getReuse();
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+public:
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mechanism;
+  ::java::lang::String * protocol;
+  ::java::lang::String * serverName;
+  ::java::util::Map * properties;
+  ::javax::security::auth::callback::CallbackHandler * handler;
+  jboolean complete;
+  ::java::lang::String * authorizationID;
+  JArray< jbyte > * channelBinding;
+  jint state;
+  ::gnu::javax::crypto::sasl::IAuthInfoProvider * authenticator;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_ServerMechanism__
diff --git a/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h b/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h
new file mode 100644
index 000000000..89622a068
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/UserAlreadyExistsException.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_UserAlreadyExistsException__
+#define __gnu_javax_crypto_sasl_UserAlreadyExistsException__
+
+#pragma interface
+
+#include <javax/security/sasl/SaslException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+            class UserAlreadyExistsException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::UserAlreadyExistsException : public ::javax::security::sasl::SaslException
+{
+
+public:
+  UserAlreadyExistsException();
+  UserAlreadyExistsException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_UserAlreadyExistsException__
diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h
new file mode 100644
index 000000000..87aaded6f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousClient.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousClient__
+#define __gnu_javax_crypto_sasl_anonymous_AnonymousClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ClientMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace anonymous
+          {
+              class AnonymousClient;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::anonymous::AnonymousClient : public ::gnu::javax::crypto::sasl::ClientMechanism
+{
+
+public:
+  AnonymousClient();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual jboolean hasInitialResponse();
+  virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *);
+private:
+  JArray< jbyte > * response();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousClient__
diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h
new file mode 100644
index 000000000..3c3b1834a
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousServer.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousServer__
+#define __gnu_javax_crypto_sasl_anonymous_AnonymousServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ServerMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace anonymous
+          {
+              class AnonymousServer;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::anonymous::AnonymousServer : public ::gnu::javax::crypto::sasl::ServerMechanism
+{
+
+public:
+  AnonymousServer();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousServer__
diff --git a/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h
new file mode 100644
index 000000000..45b0873c9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/anonymous/AnonymousUtil.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__
+#define __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace anonymous
+          {
+              class AnonymousUtil;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::anonymous::AnonymousUtil : public ::java::lang::Object
+{
+
+  AnonymousUtil();
+public: // actually package-private
+  static jboolean isValidTraceInformation(::java::lang::String *);
+  static jboolean isValidToken(::java::lang::String *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_anonymous_AnonymousUtil__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h
new file mode 100644
index 000000000..3a5ae195c
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5AuthInfoProvider.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__
+#define __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class CramMD5AuthInfoProvider;
+              class PasswordFile;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::CramMD5AuthInfoProvider : public ::java::lang::Object
+{
+
+public:
+  CramMD5AuthInfoProvider();
+  virtual void activate(::java::util::Map *);
+  virtual void passivate();
+  virtual jboolean contains(::java::lang::String *);
+  virtual ::java::util::Map * lookup(::java::util::Map *);
+  virtual void update(::java::util::Map *);
+  virtual ::java::util::Map * getConfiguration(::java::lang::String *);
+private:
+  ::gnu::javax::crypto::sasl::crammd5::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5AuthInfoProvider__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h
new file mode 100644
index 000000000..b524a65a5
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Client.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Client__
+#define __gnu_javax_crypto_sasl_crammd5_CramMD5Client__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ClientMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class CramMD5Client;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::CramMD5Client : public ::gnu::javax::crypto::sasl::ClientMechanism
+{
+
+public:
+  CramMD5Client();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual jboolean hasInitialResponse();
+  virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *);
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Client__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h
new file mode 100644
index 000000000..2858e0521
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Registry.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__
+#define __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class CramMD5Registry;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::CramMD5Registry : public ::java::lang::Object
+{
+
+public:
+  static ::java::lang::String * PASSWORD_FILE;
+  static ::java::lang::String * DEFAULT_PASSWORD_FILE;
+  static ::java::lang::String * UID_FIELD;
+  static ::java::lang::String * GID_FIELD;
+  static ::java::lang::String * GECOS_FIELD;
+  static ::java::lang::String * DIR_FIELD;
+  static ::java::lang::String * SHELL_FIELD;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Registry__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h
new file mode 100644
index 000000000..b6712fd89
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Server.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Server__
+#define __gnu_javax_crypto_sasl_crammd5_CramMD5Server__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ServerMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class CramMD5Server;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::CramMD5Server : public ::gnu::javax::crypto::sasl::ServerMechanism
+{
+
+public:
+  CramMD5Server();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *);
+  virtual jboolean isComplete();
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+private:
+  JArray< jchar > * lookupPassword(::java::lang::String *);
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ServerMechanism)))) msgID;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Server__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h
new file mode 100644
index 000000000..4e3387195
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/CramMD5Util.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_CramMD5Util__
+#define __gnu_javax_crypto_sasl_crammd5_CramMD5Util__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class CramMD5Util;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::CramMD5Util : public ::java::lang::Object
+{
+
+  CramMD5Util();
+public: // actually package-private
+  static JArray< jbyte > * createMsgID();
+  static JArray< jbyte > * createHMac(JArray< jchar > *, JArray< jbyte > *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_crammd5_CramMD5Util__
diff --git a/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h
new file mode 100644
index 000000000..cb97b2fb9
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/crammd5/PasswordFile.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_crammd5_PasswordFile__
+#define __gnu_javax_crypto_sasl_crammd5_PasswordFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace crammd5
+          {
+              class PasswordFile;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::crammd5::PasswordFile : public ::java::lang::Object
+{
+
+public:
+  PasswordFile();
+  PasswordFile(::java::io::File *);
+  PasswordFile(::java::lang::String *);
+  virtual void add(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *);
+  virtual void changePasswd(::java::lang::String *, ::java::lang::String *);
+  virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *);
+  virtual jboolean contains(::java::lang::String *);
+private:
+  void update();
+  void checkCurrent();
+  void readPasswd(::java::io::InputStream *);
+  void savePasswd();
+  static ::java::lang::String * DEFAULT_FILE;
+  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries;
+  ::java::io::File * passwdFile;
+  jlong lastmod;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_crammd5_PasswordFile__
diff --git a/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h
new file mode 100644
index 000000000..2269e4870
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/plain/PasswordFile.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_plain_PasswordFile__
+#define __gnu_javax_crypto_sasl_plain_PasswordFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace plain
+          {
+              class PasswordFile;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::plain::PasswordFile : public ::java::lang::Object
+{
+
+public:
+  PasswordFile();
+  PasswordFile(::java::io::File *);
+  PasswordFile(::java::lang::String *);
+  virtual void add(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *);
+  virtual void changePasswd(::java::lang::String *, ::java::lang::String *);
+  virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *);
+  virtual jboolean contains(::java::lang::String *);
+private:
+  void update();
+  void checkCurrent();
+  void readPasswd(::java::io::InputStream *);
+  void savePasswd();
+  static ::java::lang::String * DEFAULT_FILE;
+  ::java::util::Hashtable * __attribute__((aligned(__alignof__( ::java::lang::Object)))) entries;
+  ::java::io::File * passwdFile;
+  jlong lastmod;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_plain_PasswordFile__
diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h
new file mode 100644
index 000000000..179026d49
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/plain/PlainAuthInfoProvider.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__
+#define __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace plain
+          {
+              class PasswordFile;
+              class PlainAuthInfoProvider;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::plain::PlainAuthInfoProvider : public ::java::lang::Object
+{
+
+public:
+  PlainAuthInfoProvider();
+  virtual void activate(::java::util::Map *);
+  virtual void passivate();
+  virtual jboolean contains(::java::lang::String *);
+  virtual ::java::util::Map * lookup(::java::util::Map *);
+  virtual void update(::java::util::Map *);
+  virtual ::java::util::Map * getConfiguration(::java::lang::String *);
+private:
+  ::gnu::javax::crypto::sasl::plain::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_plain_PlainAuthInfoProvider__
diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h b/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h
new file mode 100644
index 000000000..0c3e6dd00
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/plain/PlainClient.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_plain_PlainClient__
+#define __gnu_javax_crypto_sasl_plain_PlainClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ClientMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace plain
+          {
+              class PlainClient;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::plain::PlainClient : public ::gnu::javax::crypto::sasl::ClientMechanism
+{
+
+public:
+  PlainClient();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual jboolean hasInitialResponse();
+  virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *);
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_plain_PlainClient__
diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h b/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h
new file mode 100644
index 000000000..d141b1e71
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/plain/PlainRegistry.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_plain_PlainRegistry__
+#define __gnu_javax_crypto_sasl_plain_PlainRegistry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace plain
+          {
+              class PlainRegistry;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::plain::PlainRegistry : public ::java::lang::Object
+{
+
+public:
+  static ::java::lang::String * PASSWORD_FILE;
+  static ::java::lang::String * DEFAULT_PASSWORD_FILE;
+  static ::java::lang::String * UID_FIELD;
+  static ::java::lang::String * GID_FIELD;
+  static ::java::lang::String * GECOS_FIELD;
+  static ::java::lang::String * DIR_FIELD;
+  static ::java::lang::String * SHELL_FIELD;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_plain_PlainRegistry__
diff --git a/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h b/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h
new file mode 100644
index 000000000..a9214a2eb
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/plain/PlainServer.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_plain_PlainServer__
+#define __gnu_javax_crypto_sasl_plain_PlainServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ServerMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace plain
+          {
+              class PlainServer;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::plain::PlainServer : public ::gnu::javax::crypto::sasl::ServerMechanism
+{
+
+public:
+  PlainServer();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *);
+public: // actually protected
+  virtual ::java::lang::String * getNegotiatedQOP();
+private:
+  JArray< jchar > * lookupPassword(::java::lang::String *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_plain_PlainServer__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/CALG.h b/libjava/gnu/javax/crypto/sasl/srp/CALG.h
new file mode 100644
index 000000000..0b625387f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/CALG.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_CALG__
+#define __gnu_javax_crypto_sasl_srp_CALG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace assembly
+        {
+            class Assembly;
+            class Direction;
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class CALG;
+              class KDF;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::CALG : public ::java::lang::Object
+{
+
+  CALG(jint, jint, ::java::lang::Object *, ::gnu::javax::crypto::assembly::Assembly *);
+public: // actually package-private
+  static ::gnu::javax::crypto::sasl::srp::CALG * getInstance(::java::lang::String *);
+public:
+  void init(::gnu::javax::crypto::sasl::srp::KDF *, JArray< jbyte > *, ::gnu::javax::crypto::assembly::Direction *);
+  JArray< jbyte > * doFinal(JArray< jbyte > *);
+  JArray< jbyte > * doFinal(JArray< jbyte > *, jint, jint);
+private:
+  ::gnu::javax::crypto::assembly::Assembly * __attribute__((aligned(__alignof__( ::java::lang::Object)))) assembly;
+  ::java::lang::Object * modeNdx;
+  jint blockSize;
+  jint keySize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_CALG__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h
new file mode 100644
index 000000000..3a5e0e60d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_ClientStore__
+#define __gnu_javax_crypto_sasl_srp_ClientStore__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class ClientStore;
+              class SecurityContext;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::ClientStore : public ::java::lang::Object
+{
+
+  ClientStore();
+public: // actually package-private
+  static ::gnu::javax::crypto::sasl::srp::ClientStore * instance();
+  virtual jboolean isAlive(::java::lang::String *);
+  virtual void cacheSession(::java::lang::String *, jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *);
+  virtual void invalidateSession(::java::lang::String *);
+  virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(::java::lang::String *);
+private:
+  static ::gnu::javax::crypto::sasl::srp::ClientStore * singleton;
+  static ::java::util::HashMap * uid2ssc;
+  static ::java::util::HashMap * uid2ttl;
+  static ::java::lang::Object * lock;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_ClientStore__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/IALG.h b/libjava/gnu/javax/crypto/sasl/srp/IALG.h
new file mode 100644
index 000000000..faaa512e3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/IALG.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_IALG__
+#define __gnu_javax_crypto_sasl_srp_IALG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class IALG;
+              class KDF;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::IALG : public ::java::lang::Object
+{
+
+  IALG(::gnu::javax::crypto::mac::IMac *);
+public: // actually package-private
+  static ::gnu::javax::crypto::sasl::srp::IALG * getInstance(::java::lang::String *);
+public:
+  ::java::lang::Object * clone();
+  void init(::gnu::javax::crypto::sasl::srp::KDF *);
+  void update(JArray< jbyte > *);
+  void update(JArray< jbyte > *, jint, jint);
+  JArray< jbyte > * doFinal();
+  jint length();
+private:
+  ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hmac;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_IALG__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/KDF.h b/libjava/gnu/javax/crypto/sasl/srp/KDF.h
new file mode 100644
index 000000000..3862fa0c1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/KDF.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_KDF__
+#define __gnu_javax_crypto_sasl_srp_KDF__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace prng
+        {
+            class UMacGenerator;
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class KDF;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::KDF : public ::java::lang::Object
+{
+
+  KDF(JArray< jbyte > *, jint);
+public: // actually package-private
+  static ::gnu::javax::crypto::sasl::srp::KDF * getInstance(JArray< jbyte > *);
+private:
+  static jint nextByte();
+public:
+  virtual JArray< jbyte > * derive(jint);
+private:
+  static const jint AES_BLOCK_SIZE = 16;
+  static const jint AES_KEY_SIZE = 16;
+  static JArray< jbyte > * buffer;
+  static ::gnu::java::security::util::PRNG * prng;
+  ::gnu::javax::crypto::prng::UMacGenerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) umac;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_KDF__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h
new file mode 100644
index 000000000..46cf78389
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_PasswordFile__
+#define __gnu_javax_crypto_sasl_srp_PasswordFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class PasswordFile;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::PasswordFile : public ::java::lang::Object
+{
+
+public:
+  PasswordFile();
+  PasswordFile(::java::io::File *);
+  PasswordFile(::java::lang::String *);
+  PasswordFile(::java::lang::String *, ::java::lang::String *);
+  PasswordFile(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+private:
+  static ::java::lang::String * nameToID(::java::lang::String *);
+public:
+  virtual jboolean containsConfig(::java::lang::String *);
+  virtual JArray< ::java::lang::String * > * lookupConfig(::java::lang::String *);
+  virtual jboolean contains(::java::lang::String *);
+  virtual void add(::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, ::java::lang::String *);
+  virtual void changePasswd(::java::lang::String *, ::java::lang::String *);
+  virtual void savePasswd();
+  virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *, ::java::lang::String *);
+private:
+  void readOrCreateConf();
+  void readConf(::java::io::InputStream *);
+  void writeConf(::java::io::PrintWriter *);
+  ::java::util::HashMap * newVerifiers(::java::lang::String *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *);
+  void update();
+  void checkCurrent();
+  void readPasswd(::java::io::InputStream *);
+  void readPasswd2(::java::io::InputStream *);
+  void writePasswd(::java::io::PrintWriter *, ::java::io::PrintWriter *);
+  static ::java::lang::String * USER_FIELD;
+  static ::java::lang::String * VERIFIERS_FIELD;
+  static ::java::lang::String * SALT_FIELD;
+  static ::java::lang::String * CONFIG_FIELD;
+  static ::java::lang::String * DEFAULT_FILE;
+  static ::java::util::HashMap * srps;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) confName;
+  ::java::lang::String * pwName;
+  ::java::lang::String * pw2Name;
+  ::java::io::File * configFile;
+  ::java::io::File * passwdFile;
+  ::java::io::File * passwd2File;
+  jlong lastmodPasswdFile;
+  jlong lastmodPasswd2File;
+  ::java::util::HashMap * entries;
+  ::java::util::HashMap * configurations;
+  static JArray< ::java::math::BigInteger * > * Nsrp;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_PasswordFile__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRP.h b/libjava/gnu/javax/crypto/sasl/srp/SRP.h
new file mode 100644
index 000000000..b092d8a96
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRP.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRP__
+#define __gnu_javax_crypto_sasl_srp_SRP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SRP;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SRP : public ::java::lang::Object
+{
+
+  SRP(::gnu::java::security::hash::IMessageDigest *);
+public:
+  static ::gnu::javax::crypto::sasl::srp::SRP * instance(::java::lang::String *);
+private:
+  static JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *, jint);
+public:
+  ::java::lang::String * getAlgorithm();
+  ::gnu::java::security::hash::IMessageDigest * newDigest();
+  JArray< jbyte > * digest(JArray< jbyte > *);
+  JArray< jbyte > * digest(::java::lang::String *);
+  JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *);
+  JArray< jbyte > * generateM1(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::lang::String *, JArray< jbyte > *, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *);
+  JArray< jbyte > * generateM2(::java::math::BigInteger *, JArray< jbyte > *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+  JArray< jbyte > * generateKn(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+  JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *);
+  JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, JArray< jbyte > *);
+private:
+  JArray< jbyte > * computeX(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+  static ::java::util::HashMap * algorithms;
+  static const jbyte COLON = 58;
+  ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mda;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRP__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h
new file mode 100644
index 000000000..630c80efa
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
+#define __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class PasswordFile;
+              class SRPAuthInfoProvider;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider : public ::java::lang::Object
+{
+
+public:
+  SRPAuthInfoProvider();
+  virtual void activate(::java::util::Map *);
+  virtual void passivate();
+  virtual jboolean contains(::java::lang::String *);
+  virtual ::java::util::Map * lookup(::java::util::Map *);
+  virtual void update(::java::util::Map *);
+  virtual ::java::util::Map * getConfiguration(::java::lang::String *);
+private:
+  ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h
new file mode 100644
index 000000000..ec13be653
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h
@@ -0,0 +1,129 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPClient__
+#define __gnu_javax_crypto_sasl_srp_SRPClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ClientMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IKeyAgreementParty;
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class CALG;
+              class IALG;
+              class SRP;
+              class SRPClient;
+          }
+        }
+      }
+      namespace security
+      {
+        namespace auth
+        {
+            class Password;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPClient : public ::gnu::javax::crypto::sasl::ClientMechanism
+{
+
+public:
+  SRPClient();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual jboolean hasInitialResponse();
+  virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *);
+public: // actually protected
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+  virtual ::java::lang::String * getNegotiatedQOP();
+  virtual ::java::lang::String * getNegotiatedStrength();
+  virtual ::java::lang::String * getNegotiatedRawSendSize();
+  virtual ::java::lang::String * getReuse();
+private:
+  JArray< jbyte > * sendIdentities();
+  JArray< jbyte > * sendPublicKey(JArray< jbyte > *);
+  JArray< jbyte > * receiveEvidence(JArray< jbyte > *);
+  void getUsernameAndPassword();
+  ::java::lang::String * createO(::java::lang::String *);
+  void setupSecurityServices(jboolean);
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+  static ::java::util::logging::Logger * log;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ClientMechanism)))) uid;
+  ::java::lang::String * U;
+public: // actually package-private
+  ::java::math::BigInteger * N;
+  ::java::math::BigInteger * g;
+  ::java::math::BigInteger * A;
+  ::java::math::BigInteger * B;
+private:
+  ::gnu::javax::security::auth::Password * password;
+  JArray< jbyte > * s;
+  JArray< jbyte > * cIV;
+  JArray< jbyte > * sIV;
+  JArray< jbyte > * M1;
+  JArray< jbyte > * M2;
+  JArray< jbyte > * cn;
+  JArray< jbyte > * sn;
+  ::gnu::javax::crypto::sasl::srp::SRP * srp;
+  JArray< jbyte > * sid;
+  jint ttl;
+  JArray< jbyte > * sCB;
+  ::java::lang::String * L;
+  ::java::lang::String * o;
+  ::java::lang::String * chosenIntegrityAlgorithm;
+  ::java::lang::String * chosenConfidentialityAlgorithm;
+  jint rawSendSize;
+  JArray< jbyte > * K;
+  jboolean replayDetection;
+  jint inCounter;
+  jint outCounter;
+  ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+  ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+  ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+  ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+  ::gnu::javax::crypto::key::IKeyAgreementParty * clientHandler;
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPClient__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h
new file mode 100644
index 000000000..22cd5d9e4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPRegistry__
+#define __gnu_javax_crypto_sasl_srp_SRPRegistry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SRPRegistry;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPRegistry : public ::java::lang::Object
+{
+
+public:
+  static ::java::lang::String * N_2048_BITS;
+  static ::java::lang::String * N_1536_BITS;
+  static ::java::lang::String * N_1280_BITS;
+  static ::java::lang::String * N_1024_BITS;
+  static ::java::lang::String * N_768_BITS;
+  static ::java::lang::String * N_640_BITS;
+  static ::java::lang::String * N_512_BITS;
+  static JArray< ::java::lang::String * > * SRP_ALGORITHMS;
+  static ::java::lang::String * SRP_DEFAULT_DIGEST_NAME;
+  static ::java::lang::String * SRP_DIGEST_NAME;
+  static ::java::lang::String * SHARED_MODULUS;
+  static ::java::lang::String * FIELD_GENERATOR;
+  static ::java::lang::String * AVAILABLE_OPTIONS;
+  static ::java::lang::String * CHOSEN_OPTIONS;
+  static ::java::lang::String * USER_NAME;
+  static ::java::lang::String * USER_ROLE;
+  static ::java::lang::String * USER_SALT;
+  static ::java::lang::String * PASSWORD_VERIFIER;
+  static ::java::lang::String * CLIENT_PUBLIC_KEY;
+  static ::java::lang::String * SERVER_PUBLIC_KEY;
+  static ::java::lang::String * CLIENT_EVIDENCE;
+  static ::java::lang::String * SERVER_EVIDENCE;
+  static ::java::lang::String * SRP_HASH;
+  static ::java::lang::String * SRP_MANDATORY;
+  static ::java::lang::String * SRP_REPLAY_DETECTION;
+  static ::java::lang::String * SRP_INTEGRITY_PROTECTION;
+  static ::java::lang::String * SRP_CONFIDENTIALITY;
+  static ::java::lang::String * PASSWORD_FILE;
+  static ::java::lang::String * PASSWORD_DB;
+  static ::java::lang::String * DEFAULT_PASSWORD_FILE;
+  static const jboolean DEFAULT_REPLAY_DETECTION = 1;
+  static const jboolean DEFAULT_INTEGRITY = 1;
+  static const jboolean DEFAULT_CONFIDENTIALITY = 0;
+  static ::java::lang::String * HMAC_SHA1;
+  static ::java::lang::String * HMAC_MD5;
+  static ::java::lang::String * HMAC_RIPEMD_160;
+  static JArray< ::java::lang::String * > * INTEGRITY_ALGORITHMS;
+  static ::java::lang::String * AES;
+  static ::java::lang::String * BLOWFISH;
+  static JArray< ::java::lang::String * > * CONFIDENTIALITY_ALGORITHMS;
+  static ::java::lang::String * OPTION_MANDATORY;
+  static ::java::lang::String * OPTION_SRP_DIGEST;
+  static ::java::lang::String * OPTION_REPLAY_DETECTION;
+  static ::java::lang::String * OPTION_INTEGRITY;
+  static ::java::lang::String * OPTION_CONFIDENTIALITY;
+  static ::java::lang::String * OPTION_MAX_BUFFER_SIZE;
+  static ::java::lang::String * MANDATORY_NONE;
+  static ::java::lang::String * DEFAULT_MANDATORY;
+  static ::java::lang::String * MD_NAME_FIELD;
+  static ::java::lang::String * USER_VERIFIER_FIELD;
+  static ::java::lang::String * SALT_FIELD;
+  static ::java::lang::String * CONFIG_NDX_FIELD;
+  static const jint MINIMUM_MODULUS_BITLENGTH = 512;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPRegistry__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h
new file mode 100644
index 000000000..b78a26bca
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPServer__
+#define __gnu_javax_crypto_sasl_srp_SRPServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ServerMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class PRNG;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+            class IKeyAgreementParty;
+        }
+        namespace sasl
+        {
+          namespace srp
+          {
+              class CALG;
+              class IALG;
+              class SRP;
+              class SRPServer;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPServer : public ::gnu::javax::crypto::sasl::ServerMechanism
+{
+
+public:
+  SRPServer();
+public: // actually protected
+  virtual void initMechanism();
+  virtual void resetMechanism();
+public:
+  virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *);
+public: // actually protected
+  virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+  virtual ::java::lang::String * getNegotiatedQOP();
+  virtual ::java::lang::String * getNegotiatedStrength();
+  virtual ::java::lang::String * getNegotiatedRawSendSize();
+  virtual ::java::lang::String * getReuse();
+private:
+  JArray< jbyte > * sendProtocolElements(JArray< jbyte > *);
+  JArray< jbyte > * sendEvidence(JArray< jbyte > *);
+  ::java::lang::String * createL();
+  void parseO(::java::lang::String *);
+  void setupSecurityServices(jboolean);
+  ::gnu::java::security::util::PRNG * getDefaultPRNG();
+  static ::java::util::logging::Logger * log;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ServerMechanism)))) U;
+  ::java::math::BigInteger * N;
+  ::java::math::BigInteger * g;
+  ::java::math::BigInteger * A;
+  ::java::math::BigInteger * B;
+  JArray< jbyte > * s;
+  JArray< jbyte > * cIV;
+  JArray< jbyte > * sIV;
+  JArray< jbyte > * cn;
+  JArray< jbyte > * sn;
+  ::gnu::javax::crypto::sasl::srp::SRP * srp;
+  JArray< jbyte > * sid;
+  jint ttl;
+  JArray< jbyte > * cCB;
+  ::java::lang::String * mandatory;
+  ::java::lang::String * L;
+  ::java::lang::String * o;
+  ::java::lang::String * chosenIntegrityAlgorithm;
+  ::java::lang::String * chosenConfidentialityAlgorithm;
+  jint rawSendSize;
+  JArray< jbyte > * K;
+  jboolean replayDetection;
+  jint inCounter;
+  jint outCounter;
+  ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+  ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+  ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+  ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+  ::gnu::javax::crypto::key::IKeyAgreementParty * serverHandler;
+  ::gnu::java::security::util::PRNG * prng;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPServer__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h
new file mode 100644
index 000000000..b4b4a222e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SecurityContext__
+#define __gnu_javax_crypto_sasl_srp_SecurityContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class CALG;
+              class IALG;
+              class SecurityContext;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::SecurityContext : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SecurityContext(::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, jboolean, jint, jint, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::CALG *, ::gnu::javax::crypto::sasl::srp::CALG *);
+  virtual ::java::lang::String * getMdName();
+  virtual JArray< jbyte > * getSID();
+  virtual JArray< jbyte > * getK();
+  virtual JArray< jbyte > * getClientIV();
+  virtual JArray< jbyte > * getServerIV();
+  virtual jboolean hasReplayDetection();
+  virtual jint getInCounter();
+  virtual jint getOutCounter();
+  virtual ::gnu::javax::crypto::sasl::srp::IALG * getInMac();
+  virtual ::gnu::javax::crypto::sasl::srp::IALG * getOutMac();
+  virtual ::gnu::javax::crypto::sasl::srp::CALG * getInCipher();
+  virtual ::gnu::javax::crypto::sasl::srp::CALG * getOutCipher();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mdName;
+  JArray< jbyte > * sid;
+  JArray< jbyte > * K;
+  JArray< jbyte > * cIV;
+  JArray< jbyte > * sIV;
+  jboolean replayDetection;
+  jint inCounter;
+  jint outCounter;
+  ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+  ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+  ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+  ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SecurityContext__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h
new file mode 100644
index 000000000..f93429bee
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_ServerStore__
+#define __gnu_javax_crypto_sasl_srp_ServerStore__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class SecurityContext;
+              class ServerStore;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::ServerStore : public ::java::lang::Object
+{
+
+  ServerStore();
+public: // actually package-private
+  static ::gnu::javax::crypto::sasl::srp::ServerStore * instance();
+  static JArray< jbyte > * getNewSessionID();
+  virtual jboolean isAlive(JArray< jbyte > *);
+  virtual void cacheSession(jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *);
+  virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(JArray< jbyte > *);
+  virtual void invalidateSession(JArray< jbyte > *);
+private:
+  static ::gnu::javax::crypto::sasl::srp::ServerStore * singleton;
+  static ::java::util::HashMap * sid2ssc;
+  static ::java::util::HashMap * sid2ttl;
+  static ::java::lang::Object * lock;
+  static jint counter;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_ServerStore__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h
new file mode 100644
index 000000000..19203bcd0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_StoreEntry__
+#define __gnu_javax_crypto_sasl_srp_StoreEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class StoreEntry;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::crypto::sasl::srp::StoreEntry : public ::java::lang::Object
+{
+
+public: // actually package-private
+  StoreEntry(jint);
+  virtual jboolean isAlive();
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) perenial;
+  jlong timeToDie;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_StoreEntry__
diff --git a/libjava/gnu/javax/imageio/IIOInputStream.h b/libjava/gnu/javax/imageio/IIOInputStream.h
new file mode 100644
index 000000000..2f0cbbdd0
--- /dev/null
+++ b/libjava/gnu/javax/imageio/IIOInputStream.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_IIOInputStream__
+#define __gnu_javax_imageio_IIOInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+          class IIOInputStream;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::IIOInputStream : public ::java::io::InputStream
+{
+
+public:
+  IIOInputStream(::javax::imageio::stream::ImageInputStream *);
+  virtual jint available();
+  virtual void close();
+  virtual void mark(jint);
+  virtual jboolean markSupported();
+  virtual jint read();
+  virtual jint read(JArray< jbyte > *);
+  virtual jint read(JArray< jbyte > *, jint, jint);
+  virtual void reset();
+  virtual jlong skip(jlong);
+private:
+  ::javax::imageio::stream::ImageInputStream * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) is;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_IIOInputStream__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPDecoder.h b/libjava/gnu/javax/imageio/bmp/BMPDecoder.h
new file mode 100644
index 000000000..34c486a43
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPDecoder.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPDecoder__
+#define __gnu_javax_imageio_bmp_BMPDecoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPDecoder;
+            class BMPFileHeader;
+            class BMPInfoHeader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+          class IndexColorModel;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPDecoder : public ::java::lang::Object
+{
+
+public:
+  BMPDecoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  static ::gnu::javax::imageio::bmp::BMPDecoder * getDecoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *) = 0;
+public: // actually protected
+  virtual JArray< jint > * readBitMasks(::javax::imageio::stream::ImageInputStream *);
+  virtual ::java::awt::image::IndexColorModel * readPalette(::javax::imageio::stream::ImageInputStream *);
+  virtual void skipToImage(::javax::imageio::stream::ImageInputStream *);
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPDecoder__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPEncoder.h b/libjava/gnu/javax/imageio/bmp/BMPEncoder.h
new file mode 100644
index 000000000..db60ff865
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPEncoder.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPEncoder__
+#define __gnu_javax_imageio_bmp_BMPEncoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPEncoder;
+            class BMPFileHeader;
+            class BMPInfoHeader;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPEncoder : public ::java::lang::Object
+{
+
+public:
+  BMPEncoder();
+  static ::gnu::javax::imageio::bmp::BMPEncoder * getEncoder(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *) = 0;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPEncoder__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPException.h b/libjava/gnu/javax/imageio/bmp/BMPException.h
new file mode 100644
index 000000000..9a51c41ad
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPException__
+#define __gnu_javax_imageio_bmp_BMPException__
+
+#pragma interface
+
+#include <javax/imageio/IIOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPException : public ::javax::imageio::IIOException
+{
+
+public:
+  BMPException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPException__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h b/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h
new file mode 100644
index 000000000..1fe5d3f0e
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPFileHeader.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPFileHeader__
+#define __gnu_javax_imageio_bmp_BMPFileHeader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+      namespace stream
+      {
+          class ImageInputStream;
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPFileHeader : public ::java::lang::Object
+{
+
+public:
+  BMPFileHeader(::javax::imageio::stream::ImageInputStream *);
+  BMPFileHeader(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::IIOImage *);
+  virtual void write(::javax::imageio::stream::ImageOutputStream *);
+  virtual void setSize(jlong);
+  virtual void setOffset(jlong);
+  virtual jlong getSize();
+  virtual jlong getOffset();
+private:
+  static const jshort bfType = 16973;
+public: // actually protected
+  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) bfSize;
+  jlong bfOffBits;
+public:
+  static const jint SIZE = 14;
+private:
+  static const jint BITMAPINFOHEADER_SIZE = 40;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPFileHeader__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageReader.h b/libjava/gnu/javax/imageio/bmp/BMPImageReader.h
new file mode 100644
index 000000000..972124e67
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPImageReader.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPImageReader__
+#define __gnu_javax_imageio_bmp_BMPImageReader__
+
+#pragma interface
+
+#include <javax/imageio/ImageReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPDecoder;
+            class BMPFileHeader;
+            class BMPImageReader;
+            class BMPInfoHeader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReadParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace spi
+      {
+          class ImageReaderSpi;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPImageReader : public ::javax::imageio::ImageReader
+{
+
+public: // actually protected
+  BMPImageReader(::javax::imageio::spi::ImageReaderSpi *);
+private:
+  void validateIndex(jint);
+public:
+  virtual void setInput(::java::lang::Object *);
+  virtual void setInput(::java::lang::Object *, jboolean, jboolean);
+  virtual void setInput(::java::lang::Object *, jboolean);
+private:
+  void checkStream();
+  void readHeaders();
+public:
+  virtual jint getWidth(jint);
+  virtual jint getHeight(jint);
+  virtual ::java::util::Iterator * getImageTypes(jint);
+  virtual jint getNumImages(jboolean);
+  virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint);
+  virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata();
+  virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *);
+private:
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  ::gnu::javax::imageio::bmp::BMPDecoder * decoder;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPImageReader__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h b/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h
new file mode 100644
index 000000000..f7ac3a4d6
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPImageReaderSpi.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPImageReaderSpi__
+#define __gnu_javax_imageio_bmp_BMPImageReaderSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageReaderSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPImageReaderSpi;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReader;
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi
+{
+
+public:
+  BMPImageReaderSpi();
+  virtual ::java::lang::String * getDescription(::java::util::Locale *);
+  virtual jboolean canDecodeInput(::java::lang::Object *);
+  virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *);
+public: // actually package-private
+  static ::java::lang::String * vendorName;
+  static ::java::lang::String * version;
+  static ::java::lang::String * readerClassName;
+  static JArray< ::java::lang::String * > * names;
+  static JArray< ::java::lang::String * > * suffixes;
+  static JArray< ::java::lang::String * > * MIMETypes;
+  static JArray< ::java::lang::String * > * writerSpiNames;
+  static const jboolean supportsStandardStreamMetadataFormat = 0;
+  static ::java::lang::String * nativeStreamMetadataFormatName;
+  static ::java::lang::String * nativeStreamMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames;
+  static const jboolean supportsStandardImageMetadataFormat = 0;
+  static ::java::lang::String * nativeImageMetadataFormatName;
+  static ::java::lang::String * nativeImageMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPImageReaderSpi__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h b/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h
new file mode 100644
index 000000000..1fb9795af
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPImageWriter.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPImageWriter__
+#define __gnu_javax_imageio_bmp_BMPImageWriter__
+
+#pragma interface
+
+#include <javax/imageio/ImageWriter.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPEncoder;
+            class BMPFileHeader;
+            class BMPImageWriter;
+            class BMPInfoHeader;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageTypeSpecifier;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace spi
+      {
+          class ImageWriterSpi;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPImageWriter : public ::javax::imageio::ImageWriter
+{
+
+public: // actually protected
+  BMPImageWriter(::javax::imageio::spi::ImageWriterSpi *);
+public:
+  virtual ::javax::imageio::metadata::IIOMetadata * convertImageMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *);
+  virtual ::javax::imageio::metadata::IIOMetadata * convertStreamMetadata(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::ImageWriteParam *);
+  virtual ::javax::imageio::metadata::IIOMetadata * getDefaultImageMetadata(::javax::imageio::ImageTypeSpecifier *, ::javax::imageio::ImageWriteParam *);
+  virtual ::javax::imageio::metadata::IIOMetadata * getDefaultStreamMetadata(::javax::imageio::ImageWriteParam *);
+  virtual void write(::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+private:
+  void checkStream();
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPEncoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriter)))) encoder;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * infoHeader;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPImageWriter__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h b/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h
new file mode 100644
index 000000000..76ca4b07d
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPImageWriterSpi.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPImageWriterSpi__
+#define __gnu_javax_imageio_bmp_BMPImageWriterSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageWriterSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPImageWriter;
+            class BMPImageWriterSpi;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageTypeSpecifier;
+        class ImageWriter;
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPImageWriterSpi : public ::javax::imageio::spi::ImageWriterSpi
+{
+
+public:
+  BMPImageWriterSpi();
+  virtual jboolean canEncodeImage(::javax::imageio::ImageTypeSpecifier *);
+  virtual ::javax::imageio::ImageWriter * createWriterInstance(::java::lang::Object *);
+  virtual ::gnu::javax::imageio::bmp::BMPImageWriter * getWriterInstance();
+  virtual ::java::lang::String * getDescription(::java::util::Locale *);
+public: // actually package-private
+  static ::java::lang::String * vendorName;
+  static ::java::lang::String * version;
+  static ::java::lang::String * writerClassName;
+  static JArray< ::java::lang::String * > * names;
+  static JArray< ::java::lang::String * > * suffixes;
+  static JArray< ::java::lang::String * > * MIMETypes;
+  static JArray< ::java::lang::String * > * readerSpiNames;
+  static const jboolean supportsStandardStreamMetadataFormat = 0;
+  static ::java::lang::String * nativeStreamMetadataFormatName;
+  static ::java::lang::String * nativeStreamMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames;
+  static const jboolean supportsStandardImageMetadataFormat = 0;
+  static ::java::lang::String * nativeImageMetadataFormatName;
+  static ::java::lang::String * nativeImageMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames;
+private:
+  ::gnu::javax::imageio::bmp::BMPImageWriter * __attribute__((aligned(__alignof__( ::javax::imageio::spi::ImageWriterSpi)))) writerInstance;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPImageWriterSpi__
diff --git a/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h b/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h
new file mode 100644
index 000000000..d47843f60
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/BMPInfoHeader.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_BMPInfoHeader__
+#define __gnu_javax_imageio_bmp_BMPInfoHeader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPInfoHeader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Dimension;
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace stream
+      {
+          class ImageInputStream;
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::BMPInfoHeader : public ::java::lang::Object
+{
+
+public:
+  BMPInfoHeader(::javax::imageio::stream::ImageInputStream *);
+  BMPInfoHeader(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+private:
+  JArray< jbyte > * intToWord(jint);
+  JArray< jbyte > * intToDWord(jint);
+public:
+  virtual void setBitCount(jshort);
+  virtual jshort getBitCount();
+  virtual void setCompression(jint);
+  virtual jint getNumberOfPaletteEntries();
+  virtual jint getCompression();
+  virtual ::java::awt::Dimension * getSize();
+  virtual jint getWidth();
+  virtual jint getHeight();
+  virtual void setSize(::java::awt::Dimension *);
+public: // actually protected
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) biSize;
+  jint biWidth;
+  jint biHeight;
+  jshort biPlanes;
+  jshort biBitCount;
+  jint biCompression;
+  jint biSizeImage;
+  jint biXPelsPerMeter;
+  jint biYPelsPerMeter;
+  jint biClrUsed;
+  jint biClrImportant;
+public:
+  static const jint SIZE = 40;
+  static const jint BI_RGB = 0;
+  static const jint BI_RLE8 = 1;
+  static const jint BI_RLE4 = 2;
+  static const jint BI_BITFIELDS = 3;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_BMPInfoHeader__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeBF16.h b/libjava/gnu/javax/imageio/bmp/DecodeBF16.h
new file mode 100644
index 000000000..3051f0bcc
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeBF16.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeBF16__
+#define __gnu_javax_imageio_bmp_DecodeBF16__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeBF16;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeBF16 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeBF16(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *, jboolean);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+private:
+  JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPDecoder)))) bitmasks;
+  jboolean useDefaultMasks;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeBF16__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeBF32.h b/libjava/gnu/javax/imageio/bmp/DecodeBF32.h
new file mode 100644
index 000000000..ac4f03507
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeBF32.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeBF32__
+#define __gnu_javax_imageio_bmp_DecodeBF32__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeBF32;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeBF32 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeBF32(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *, jboolean);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+private:
+  JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPDecoder)))) bitmasks;
+  jboolean useDefaultMasks;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeBF32__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h
new file mode 100644
index 000000000..ec4acf80f
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB1.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRGB1__
+#define __gnu_javax_imageio_bmp_DecodeRGB1__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRGB1;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRGB1 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRGB1(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRGB1__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h
new file mode 100644
index 000000000..da0e4dff1
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB24.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRGB24__
+#define __gnu_javax_imageio_bmp_DecodeRGB24__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRGB24;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRGB24 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRGB24(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRGB24__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h
new file mode 100644
index 000000000..d0b7e08ca
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB4.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRGB4__
+#define __gnu_javax_imageio_bmp_DecodeRGB4__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRGB4;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRGB4 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRGB4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRGB4__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h b/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h
new file mode 100644
index 000000000..e8a6300fb
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRGB8.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRGB8__
+#define __gnu_javax_imageio_bmp_DecodeRGB8__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRGB8;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRGB8 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRGB8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRGB8__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h b/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h
new file mode 100644
index 000000000..f70a21bfa
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRLE4.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRLE4__
+#define __gnu_javax_imageio_bmp_DecodeRLE4__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRLE4;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRLE4 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRLE4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+private:
+  JArray< jbyte > * uncompress(jint, jint, ::javax::imageio::stream::ImageInputStream *);
+  static const jbyte ESCAPE = 0;
+  static const jbyte EOL = 0;
+  static const jbyte EOB = 1;
+  static const jbyte DELTA = 2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRLE4__
diff --git a/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h b/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h
new file mode 100644
index 000000000..bb23187c3
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/DecodeRLE8.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_DecodeRLE8__
+#define __gnu_javax_imageio_bmp_DecodeRLE8__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPDecoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class DecodeRLE8;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::DecodeRLE8 : public ::gnu::javax::imageio::bmp::BMPDecoder
+{
+
+public:
+  DecodeRLE8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual ::java::awt::image::BufferedImage * decode(::javax::imageio::stream::ImageInputStream *);
+private:
+  JArray< jbyte > * uncompress(jint, jint, ::javax::imageio::stream::ImageInputStream *);
+  static const jbyte ESCAPE = 0;
+  static const jbyte EOL = 0;
+  static const jbyte EOB = 1;
+  static const jbyte DELTA = 2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_DecodeRLE8__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h
new file mode 100644
index 000000000..55f4f8296
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB1.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB1__
+#define __gnu_javax_imageio_bmp_EncodeRGB1__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB1;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB1 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB1(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB1__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h
new file mode 100644
index 000000000..ff3d78247
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB16.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB16__
+#define __gnu_javax_imageio_bmp_EncodeRGB16__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB16;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB16 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB16(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB16__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h
new file mode 100644
index 000000000..a40226c10
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB24.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB24__
+#define __gnu_javax_imageio_bmp_EncodeRGB24__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB24;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB24 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB24(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB24__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h
new file mode 100644
index 000000000..7d170f73f
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB32.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB32__
+#define __gnu_javax_imageio_bmp_EncodeRGB32__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB32;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB32 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB32(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB32__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h
new file mode 100644
index 000000000..15fe12432
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB4.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB4__
+#define __gnu_javax_imageio_bmp_EncodeRGB4__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB4;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB4 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB4__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h b/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h
new file mode 100644
index 000000000..f01e35f76
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRGB8.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRGB8__
+#define __gnu_javax_imageio_bmp_EncodeRGB8__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRGB8;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRGB8 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRGB8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRGB8__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h b/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h
new file mode 100644
index 000000000..3b9c0f7d0
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRLE4.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRLE4__
+#define __gnu_javax_imageio_bmp_EncodeRLE4__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRLE4;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRLE4 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRLE4(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+private:
+  JArray< jbyte > * uncompress(jint, jint, ::java::nio::ByteBuffer *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+private:
+  static const jbyte ESCAPE = 0;
+  static const jbyte EOL = 0;
+  static const jbyte EOB = 1;
+  static const jbyte DELTA = 2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRLE4__
diff --git a/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h b/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h
new file mode 100644
index 000000000..d6e6e450f
--- /dev/null
+++ b/libjava/gnu/javax/imageio/bmp/EncodeRLE8.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_bmp_EncodeRLE8__
+#define __gnu_javax_imageio_bmp_EncodeRLE8__
+
+#pragma interface
+
+#include <gnu/javax/imageio/bmp/BMPEncoder.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace bmp
+        {
+            class BMPFileHeader;
+            class BMPInfoHeader;
+            class EncodeRLE8;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class IIOImage;
+        class ImageWriteParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace stream
+      {
+          class ImageOutputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::bmp::EncodeRLE8 : public ::gnu::javax::imageio::bmp::BMPEncoder
+{
+
+public:
+  EncodeRLE8(::gnu::javax::imageio::bmp::BMPFileHeader *, ::gnu::javax::imageio::bmp::BMPInfoHeader *);
+  virtual void encode(::javax::imageio::stream::ImageOutputStream *, ::javax::imageio::metadata::IIOMetadata *, ::javax::imageio::IIOImage *, ::javax::imageio::ImageWriteParam *);
+private:
+  JArray< jbyte > * uncompress(jint, jint, ::java::nio::ByteBuffer *);
+public: // actually protected
+  ::gnu::javax::imageio::bmp::BMPInfoHeader * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::bmp::BMPEncoder)))) infoHeader;
+  ::gnu::javax::imageio::bmp::BMPFileHeader * fileHeader;
+  jlong offset;
+private:
+  static const jbyte ESCAPE = 0;
+  static const jbyte EOL = 0;
+  static const jbyte EOB = 1;
+  static const jbyte DELTA = 2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_bmp_EncodeRLE8__
diff --git a/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h b/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h
new file mode 100644
index 000000000..d4468b958
--- /dev/null
+++ b/libjava/gnu/javax/imageio/gif/GIFFile$GIFException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_gif_GIFFile$GIFException__
+#define __gnu_javax_imageio_gif_GIFFile$GIFException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace gif
+        {
+            class GIFFile$GIFException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::gif::GIFFile$GIFException : public ::java::lang::Exception
+{
+
+public:
+  GIFFile$GIFException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_gif_GIFFile$GIFException__
diff --git a/libjava/gnu/javax/imageio/gif/GIFFile.h b/libjava/gnu/javax/imageio/gif/GIFFile.h
new file mode 100644
index 000000000..b574276fd
--- /dev/null
+++ b/libjava/gnu/javax/imageio/gif/GIFFile.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_gif_GIFFile__
+#define __gnu_javax_imageio_gif_GIFFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace gif
+        {
+            class GIFFile;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::gif::GIFFile : public ::java::lang::Object
+{
+
+public:
+  GIFFile(::java::io::InputStream *);
+private:
+  GIFFile(::gnu::javax::imageio::gif::GIFFile *, ::java::io::InputStream *, jint);
+public:
+  static jboolean readSignature(::java::io::InputStream *);
+private:
+  void loadImage(::java::io::InputStream *);
+  void packPixels();
+public:
+  virtual jint getWidth();
+  virtual jint getHeight();
+  virtual jint getNColors();
+  virtual jboolean hasTransparency();
+  virtual jint getTransparentIndex();
+  virtual ::java::lang::String * getComment();
+  virtual jint getDuration();
+private:
+  void deinterlace();
+  void readLocal(::java::io::InputStream *);
+public:
+  virtual JArray< jbyte > * getRawPalette();
+  virtual ::gnu::javax::imageio::gif::GIFFile * getImage(jint);
+  virtual JArray< jbyte > * getRawImage();
+  virtual jint nImages();
+private:
+  void readExtension(::java::io::InputStream *);
+  JArray< jbyte > * readData(::java::io::InputStream *);
+  void decodeRaster(::java::io::InputStream *);
+  jint getBits(jint);
+  static JArray< jbyte > * nsBlock;
+  static const jint EXTENSION = 33;
+  static const jint LOCAL = 44;
+  static const jint TERMINATOR = 59;
+  static const jint EXTENSION_COMMENT = 254;
+  static const jint EXTENSION_GCONTROL = 249;
+  static const jint EXTENSION_APPLICATION = 255;
+  static const jint UNDRAW_OVERWRITE = 1;
+  static const jint UNDRAW_RESTORE_BACKGROUND = 2;
+  static const jint UNDRAW_RESTORE_PREVIOUS = 3;
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) x;
+  jint y;
+  jint width;
+  jint height;
+  jint globalWidth;
+  jint globalHeight;
+  jbyte bgIndex;
+  jint nColors;
+  JArray< jbyte > * globalPalette;
+  jboolean hasGlobalColorMap;
+  JArray< jbyte > * localPalette;
+  jboolean interlaced;
+  jboolean hasTransparency__;
+  jint undraw;
+  jint transparentIndex;
+  JArray< jbyte > * raster;
+  JArray< jbyte > * compressedData;
+  jint duration;
+  jint dataBlockIndex;
+  ::java::lang::String * comment;
+  jint remainingBits;
+  jint currentBits;
+  jboolean isLooped;
+  jint loops;
+  ::java::util::Vector * animationFrames;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_gif_GIFFile__
diff --git a/libjava/gnu/javax/imageio/gif/GIFImageReader.h b/libjava/gnu/javax/imageio/gif/GIFImageReader.h
new file mode 100644
index 000000000..4fc8c7b93
--- /dev/null
+++ b/libjava/gnu/javax/imageio/gif/GIFImageReader.h
@@ -0,0 +1,83 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_gif_GIFImageReader__
+#define __gnu_javax_imageio_gif_GIFImageReader__
+
+#pragma interface
+
+#include <javax/imageio/ImageReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace gif
+        {
+            class GIFFile;
+            class GIFImageReader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+          class IndexColorModel;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReadParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace spi
+      {
+          class ImageReaderSpi;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::gif::GIFImageReader : public ::javax::imageio::ImageReader
+{
+
+public: // actually protected
+  GIFImageReader(::javax::imageio::spi::ImageReaderSpi *);
+private:
+  void readImage();
+  ::java::awt::image::IndexColorModel * getPalette(jint);
+  void validateIndex(jint);
+public:
+  virtual void setInput(::java::lang::Object *);
+  virtual void setInput(::java::lang::Object *, jboolean, jboolean);
+  virtual void setInput(::java::lang::Object *, jboolean);
+private:
+  void checkStream();
+public:
+  virtual jint getWidth(jint);
+  virtual jint getHeight(jint);
+  virtual ::java::util::Iterator * getImageTypes(jint);
+  virtual jint getNumImages(jboolean);
+  virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint);
+  virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata();
+  virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *);
+private:
+  ::gnu::javax::imageio::gif::GIFFile * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) file;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_gif_GIFImageReader__
diff --git a/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h b/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h
new file mode 100644
index 000000000..027faea80
--- /dev/null
+++ b/libjava/gnu/javax/imageio/gif/GIFImageReaderSpi.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_gif_GIFImageReaderSpi__
+#define __gnu_javax_imageio_gif_GIFImageReaderSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageReaderSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace gif
+        {
+            class GIFImageReaderSpi;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReader;
+    }
+  }
+}
+
+class gnu::javax::imageio::gif::GIFImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi
+{
+
+public:
+  GIFImageReaderSpi();
+  virtual ::java::lang::String * getDescription(::java::util::Locale *);
+  virtual jboolean canDecodeInput(::java::lang::Object *);
+  virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *);
+public: // actually package-private
+  static ::java::lang::String * vendorName;
+  static ::java::lang::String * version;
+  static ::java::lang::String * readerClassName;
+  static JArray< ::java::lang::String * > * names;
+  static JArray< ::java::lang::String * > * suffixes;
+  static JArray< ::java::lang::String * > * MIMETypes;
+  static JArray< ::java::lang::String * > * writerSpiNames;
+  static const jboolean supportsStandardStreamMetadataFormat = 0;
+  static ::java::lang::String * nativeStreamMetadataFormatName;
+  static ::java::lang::String * nativeStreamMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames;
+  static const jboolean supportsStandardImageMetadataFormat = 0;
+  static ::java::lang::String * nativeImageMetadataFormatName;
+  static ::java::lang::String * nativeImageMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_gif_GIFImageReaderSpi__
diff --git a/libjava/gnu/javax/imageio/jpeg/DCT.h b/libjava/gnu/javax/imageio/jpeg/DCT.h
new file mode 100644
index 000000000..16636be2d
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/DCT.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_DCT__
+#define __gnu_javax_imageio_jpeg_DCT__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class DCT;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::DCT : public ::java::lang::Object
+{
+
+public:
+  DCT();
+  static jdouble C(jint);
+private:
+  void initMatrix();
+public:
+  static JArray< JArray< jdouble > * > * slow_idct(JArray< JArray< jdouble > * > *);
+  static JArray< JArray< jfloat > * > * slow_fdct(JArray< JArray< jfloat > * > *);
+  virtual JArray< JArray< jfloat > * > * fast_fdct(JArray< JArray< jfloat > * > *);
+  virtual JArray< JArray< jdouble > * > * fast_idct(JArray< JArray< jdouble > * > *);
+  virtual JArray< JArray< jdouble > * > * idj_fast_fdct(JArray< JArray< jfloat > * > *);
+  JArray< JArray< jdouble > * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) c;
+  JArray< JArray< jdouble > * > * cT;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_DCT__
diff --git a/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h b/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h
new file mode 100644
index 000000000..794b2624d
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/HuffmanTable.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_HuffmanTable__
+#define __gnu_javax_imageio_jpeg_HuffmanTable__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class HuffmanTable;
+            class JPEGImageInputStream;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace plugins
+      {
+        namespace jpeg
+        {
+            class JPEGHuffmanTable;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::HuffmanTable : public ::java::lang::Object
+{
+
+public:
+  HuffmanTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *);
+private:
+  void generateSizeTable();
+  void generateCodeTable();
+  void generateDecoderTables();
+public:
+  virtual void orderCodes(jboolean);
+  static jint extend(jint, jint);
+  virtual jint decode(::gnu::javax::imageio::jpeg::JPEGImageInputStream *);
+  static const jint HUFFMAN_MAX_TABLES = 4;
+private:
+  JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) huffcode;
+  JArray< jshort > * huffsize;
+  JArray< jshort > * EHUFCO;
+  JArray< jshort > * EHUFSI;
+  JArray< jshort > * valptr;
+  JArray< jshort > * mincode;
+  JArray< jshort > * maxcode;
+  JArray< jshort > * huffval;
+  JArray< jshort > * bits;
+public: // actually package-private
+  static jbyte JPEG_DC_TABLE;
+  static jbyte JPEG_AC_TABLE;
+private:
+  jshort lastk;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_HuffmanTable__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h b/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h
new file mode 100644
index 000000000..36ff5f647
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGComponent.h
@@ -0,0 +1,91 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGComponent__
+#define __gnu_javax_imageio_jpeg_JPEGComponent__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class DCT;
+            class HuffmanTable;
+            class JPEGComponent;
+            class JPEGImageInputStream;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class WritableRaster;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace plugins
+      {
+        namespace jpeg
+        {
+            class JPEGHuffmanTable;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGComponent : public ::java::lang::Object
+{
+
+public:
+  JPEGComponent(jbyte, jbyte, jbyte, jbyte);
+  virtual void padMCU(jint, jint);
+  virtual void resetInterval();
+  virtual void quantitizeData();
+  virtual void setDCTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *);
+  virtual void setACTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *);
+  virtual void idctData(::gnu::javax::imageio::jpeg::DCT *);
+  virtual void scaleByFactors();
+  virtual void writeBlock(::java::awt::image::WritableRaster *, JArray< JArray< jdouble > * > *, jint, jint, jint);
+  virtual void writeData(::java::awt::image::WritableRaster *, jint);
+  virtual void setQuantizationTable(JArray< jint > *);
+  virtual void readComponentMCU(::gnu::javax::imageio::jpeg::JPEGImageInputStream *);
+  virtual jdouble decode_dc_coefficient(::gnu::javax::imageio::jpeg::JPEGImageInputStream *);
+  virtual JArray< jdouble > * decode_ac_coefficients(::gnu::javax::imageio::jpeg::JPEGImageInputStream *);
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) factorH;
+  jbyte factorV;
+  jbyte component_id;
+  jbyte quant_id;
+  jint width;
+  jint height;
+  jint maxV;
+  jint maxH;
+  ::gnu::javax::imageio::jpeg::HuffmanTable * ACTable;
+  ::gnu::javax::imageio::jpeg::HuffmanTable * DCTable;
+  JArray< jint > * quantizationTable;
+  jdouble previousDC;
+public: // actually package-private
+  ::java::util::ArrayList * data;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGComponent__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h b/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h
new file mode 100644
index 000000000..4eef890fe
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGDecoder.h
@@ -0,0 +1,99 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGDecoder__
+#define __gnu_javax_imageio_jpeg_JPEGDecoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGDecoder;
+            class JPEGImageInputStream;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace plugins
+      {
+        namespace jpeg
+        {
+            class JPEGHuffmanTable;
+            class JPEGQTable;
+        }
+      }
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGDecoder : public ::java::lang::Object
+{
+
+public:
+  virtual jint getHeight();
+  virtual jint getWidth();
+  JPEGDecoder(::javax::imageio::stream::ImageInputStream *);
+  virtual void decode();
+private:
+  void decodeJFIFExtension();
+public:
+  virtual ::java::awt::image::BufferedImage * getImage();
+public: // actually package-private
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) majorVersion;
+  jbyte minorVersion;
+  jbyte units;
+  jshort Xdensity;
+  jshort Ydensity;
+  jbyte Xthumbnail;
+  jbyte Ythumbnail;
+  JArray< jbyte > * thumbnail;
+  ::java::awt::image::BufferedImage * image;
+  jint width;
+  jint height;
+  jbyte marker;
+public:
+  static const jbyte MAJOR_VERSION = 1;
+  static const jbyte MINOR_VERSION = 2;
+  static const jshort JFIF_FIXED_LENGTH = 16;
+  static const jshort JFXX_FIXED_LENGTH = 8;
+private:
+  ::gnu::javax::imageio::jpeg::JPEGImageInputStream * jpegStream;
+public: // actually package-private
+  ::java::util::ArrayList * jpegFrames;
+  JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * dcTables;
+  JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * acTables;
+  JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * qTables;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGDecoder__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGException.h b/libjava/gnu/javax/imageio/jpeg/JPEGException.h
new file mode 100644
index 000000000..b2a9d5a65
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGException__
+#define __gnu_javax_imageio_jpeg_JPEGException__
+
+#pragma interface
+
+#include <javax/imageio/IIOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGException : public ::javax::imageio::IIOException
+{
+
+public:
+  JPEGException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGException__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h b/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h
new file mode 100644
index 000000000..5aad0a200
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGFrame.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGFrame__
+#define __gnu_javax_imageio_jpeg_JPEGFrame__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGFrame;
+            class JPEGScan;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace plugins
+      {
+        namespace jpeg
+        {
+            class JPEGHuffmanTable;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGFrame : public ::java::lang::Object
+{
+
+public:
+  JPEGFrame();
+  virtual void addComponent(jbyte, jbyte, jbyte);
+  virtual void setPrecision(jbyte);
+  virtual void setScanLines(jshort);
+  virtual void setSamplesPerLine(jshort);
+  virtual void setColorMode(jbyte);
+  virtual void setComponentCount(jbyte);
+  virtual jbyte getComponentCount();
+  virtual void setHuffmanTables(jbyte, ::javax::imageio::plugins::jpeg::JPEGHuffmanTable *, ::javax::imageio::plugins::jpeg::JPEGHuffmanTable *);
+  static const jbyte JPEG_COLOR_GRAY = 1;
+  static const jbyte JPEG_COLOR_RGB = 2;
+  static const jbyte JPEG_COLOR_YCbCr = 3;
+  static const jbyte JPEG_COLOR_CMYK = 4;
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) precision;
+  jbyte colorMode;
+  jbyte componentCount;
+  jshort width;
+  jshort height;
+  ::gnu::javax::imageio::jpeg::JPEGScan * components;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGFrame__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h
new file mode 100644
index 000000000..19304c07d
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageInputStream.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGImageInputStream__
+#define __gnu_javax_imageio_jpeg_JPEGImageInputStream__
+
+#pragma interface
+
+#include <javax/imageio/stream/ImageInputStreamImpl.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGImageInputStream;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+      namespace stream
+      {
+          class ImageInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGImageInputStream : public ::javax::imageio::stream::ImageInputStreamImpl
+{
+
+public:
+  JPEGImageInputStream(::javax::imageio::stream::ImageInputStream *);
+  virtual jint read();
+  virtual jint read(JArray< jbyte > *, jint, jint);
+private:
+  jbyte pullByte();
+public:
+  virtual jbyte getMarker();
+  virtual jint readBit();
+  virtual jbyte findNextMarker();
+private:
+  ::javax::imageio::stream::ImageInputStream * __attribute__((aligned(__alignof__( ::javax::imageio::stream::ImageInputStreamImpl)))) in;
+public: // actually package-private
+  jbyte marker;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGImageInputStream__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h
new file mode 100644
index 000000000..f7deeb840
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageReader.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGImageReader__
+#define __gnu_javax_imageio_jpeg_JPEGImageReader__
+
+#pragma interface
+
+#include <javax/imageio/ImageReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGDecoder;
+            class JPEGImageReader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReadParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+      namespace spi
+      {
+          class ImageReaderSpi;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGImageReader : public ::javax::imageio::ImageReader
+{
+
+public: // actually protected
+  JPEGImageReader(::javax::imageio::spi::ImageReaderSpi *);
+public:
+  virtual jint getHeight(jint);
+  virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint);
+  virtual ::java::util::Iterator * getImageTypes(jint);
+  virtual jint getNumImages(jboolean);
+  virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata();
+  virtual jint getWidth(jint);
+  virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *);
+private:
+  void checkIndex(jint);
+  void checkStream();
+  void decodeStream();
+public: // actually package-private
+  ::gnu::javax::imageio::jpeg::JPEGDecoder * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) decoder;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGImageReader__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h b/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h
new file mode 100644
index 000000000..6cb33fea0
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGImageReaderSpi.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__
+#define __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageReaderSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGImageReaderSpi;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReader;
+      namespace spi
+      {
+          class IIORegistry;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi
+{
+
+public:
+  JPEGImageReaderSpi();
+  virtual ::java::lang::String * getDescription(::java::util::Locale *);
+  virtual jboolean canDecodeInput(::java::lang::Object *);
+  virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *);
+  static void registerSpis(::javax::imageio::spi::IIORegistry *);
+  static ::gnu::javax::imageio::jpeg::JPEGImageReaderSpi * getReaderSpi();
+public: // actually package-private
+  static ::java::lang::String * vendorName;
+  static ::java::lang::String * version;
+  static ::java::lang::String * readerClassName;
+  static JArray< ::java::lang::String * > * names;
+  static JArray< ::java::lang::String * > * suffixes;
+  static JArray< ::java::lang::String * > * MIMETypes;
+  static JArray< ::java::lang::String * > * writerSpiNames;
+  static const jboolean supportsStandardStreamMetadataFormat = 0;
+  static ::java::lang::String * nativeStreamMetadataFormatName;
+  static ::java::lang::String * nativeStreamMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraStreamMetadataFormatClassNames;
+  static const jboolean supportsStandardImageMetadataFormat = 0;
+  static ::java::lang::String * nativeImageMetadataFormatName;
+  static ::java::lang::String * nativeImageMetadataFormatClassName;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatNames;
+  static JArray< ::java::lang::String * > * extraImageMetadataFormatClassNames;
+private:
+  static ::gnu::javax::imageio::jpeg::JPEGImageReaderSpi * readerSpi;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGImageReaderSpi__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h b/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h
new file mode 100644
index 000000000..bbfb11e67
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGMarker.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGMarker__
+#define __gnu_javax_imageio_jpeg_JPEGMarker__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGMarker;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGMarker : public ::java::lang::Object
+{
+
+public:
+  JPEGMarker();
+  static const jbyte JFIF_J = 74;
+  static const jbyte JFIF_F = 70;
+  static const jbyte JFIF_I = 73;
+  static const jbyte JFIF_X = 70;
+  static const jbyte JFXX_JPEG = 16;
+  static const jbyte JFXX_ONE_BPP = 17;
+  static const jbyte JFXX_THREE_BPP = 19;
+  static const jbyte XFF = -1;
+  static const jbyte X00 = 0;
+  static const jbyte APP0 = -32;
+  static const jbyte APP1 = -31;
+  static const jbyte APP2 = -30;
+  static const jbyte APP3 = -29;
+  static const jbyte APP4 = -28;
+  static const jbyte APP5 = -27;
+  static const jbyte APP6 = -26;
+  static const jbyte APP7 = -25;
+  static const jbyte APP8 = -24;
+  static const jbyte APP9 = -23;
+  static const jbyte APP10 = -22;
+  static const jbyte APP11 = -21;
+  static const jbyte APP12 = -20;
+  static const jbyte APP13 = -19;
+  static const jbyte APP14 = -18;
+  static const jbyte APP15 = -17;
+  static const jbyte RST0 = -48;
+  static const jbyte RST1 = -47;
+  static const jbyte RST2 = -46;
+  static const jbyte RST3 = -45;
+  static const jbyte RST4 = -44;
+  static const jbyte RST5 = -43;
+  static const jbyte RST6 = -42;
+  static const jbyte RST7 = -41;
+  static const jbyte SOF0 = -64;
+  static const jbyte SOF1 = -63;
+  static const jbyte SOF2 = -62;
+  static const jbyte SOF3 = -61;
+  static const jbyte SOF5 = -59;
+  static const jbyte SOF6 = -58;
+  static const jbyte SOF7 = -57;
+  static const jbyte SOF9 = -55;
+  static const jbyte SOF10 = -54;
+  static const jbyte SOF11 = -53;
+  static const jbyte SOF13 = -51;
+  static const jbyte SOF14 = -50;
+  static const jbyte SOF15 = -49;
+  static const jbyte DHT = -60;
+  static const jbyte DQT = -37;
+  static const jbyte SOS = -38;
+  static const jbyte DRI = -35;
+  static const jbyte COM = -2;
+  static const jbyte SOI = -40;
+  static const jbyte EOI = -39;
+  static const jbyte DNL = -36;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGMarker__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h b/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h
new file mode 100644
index 000000000..d7c376cf8
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGMarkerFoundException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__
+#define __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGMarkerFoundException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGMarkerFoundException : public ::java::io::IOException
+{
+
+public:
+  JPEGMarkerFoundException();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGMarkerFoundException__
diff --git a/libjava/gnu/javax/imageio/jpeg/JPEGScan.h b/libjava/gnu/javax/imageio/jpeg/JPEGScan.h
new file mode 100644
index 000000000..502328656
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/JPEGScan.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_JPEGScan__
+#define __gnu_javax_imageio_jpeg_JPEGScan__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class JPEGComponent;
+            class JPEGScan;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::JPEGScan : public ::java::lang::Object
+{
+
+public:
+  JPEGScan();
+  JPEGScan(jint, jint);
+private:
+  void recalculateDimensions();
+public:
+  virtual void addComponent(jbyte, jbyte, jbyte, jbyte);
+  virtual ::gnu::javax::imageio::jpeg::JPEGComponent * getComponentByID(jbyte);
+  virtual ::gnu::javax::imageio::jpeg::JPEGComponent * get(jint);
+  virtual jint getX(jbyte);
+  virtual jint getY(jbyte);
+  virtual jint getMaxV();
+  virtual jint getMaxH();
+  virtual void setWidth(jint);
+  virtual void setHeight(jint);
+  virtual jint size();
+  virtual jint sizeComponentBlocks();
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) maxHeight;
+  jint maxWidth;
+  jint maxV;
+  jint maxH;
+  jint numOfComponents;
+  jint numOfComponentBlocks;
+  ::java::util::ArrayList * components;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_JPEGScan__
diff --git a/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h b/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h
new file mode 100644
index 000000000..0d107f2bb
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/YCbCr_ColorSpace.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__
+#define __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__
+
+#pragma interface
+
+#include <java/awt/color/ColorSpace.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class YCbCr_ColorSpace;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::YCbCr_ColorSpace : public ::java::awt::color::ColorSpace
+{
+
+public:
+  YCbCr_ColorSpace();
+  virtual JArray< jfloat > * fromCIEXYZ(JArray< jfloat > *);
+  virtual JArray< jfloat > * toCIEXYZ(JArray< jfloat > *);
+  virtual JArray< jfloat > * fromRGB(JArray< jfloat > *);
+  virtual JArray< jfloat > * toRGB(JArray< jfloat > *);
+  static JArray< jfloat > * toYCbCr(JArray< jfloat > *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_YCbCr_ColorSpace__
diff --git a/libjava/gnu/javax/imageio/jpeg/ZigZag.h b/libjava/gnu/javax/imageio/jpeg/ZigZag.h
new file mode 100644
index 000000000..611108857
--- /dev/null
+++ b/libjava/gnu/javax/imageio/jpeg/ZigZag.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_jpeg_ZigZag__
+#define __gnu_javax_imageio_jpeg_ZigZag__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace jpeg
+        {
+            class ZigZag;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::jpeg::ZigZag : public ::java::lang::Object
+{
+
+public:
+  ZigZag();
+  static JArray< jbyte > * encode(JArray< JArray< jbyte > * > *);
+  static JArray< jdouble > * encode(JArray< JArray< jdouble > * > *);
+  static JArray< jfloat > * encode(JArray< JArray< jfloat > * > *);
+  static JArray< jshort > * encode(JArray< JArray< jshort > * > *);
+  static JArray< JArray< jdouble > * > * decode(JArray< jdouble > *);
+  static JArray< JArray< jbyte > * > * decode(JArray< jbyte > *);
+  static JArray< JArray< jint > * > * decode(JArray< jint > *);
+  static JArray< JArray< jbyte > * > * decode(JArray< jbyte > *, jint, jint);
+  static JArray< JArray< jdouble > * > * decode(JArray< jdouble > *, jint, jint);
+  static JArray< JArray< jfloat > * > * decode(JArray< jfloat > *, jint, jint);
+  static JArray< JArray< jint > * > * decode(JArray< jint > *, jint, jint);
+  static JArray< JArray< jdouble > * > * decode8x8_map(JArray< jdouble > *);
+  static const jboolean ZIGZAG_FORWARD = 1;
+  static const jboolean ZIGZAG_BACKWARD = 0;
+  static JArray< jint > * ZIGZAG_8X8_MAP;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_jpeg_ZigZag__
diff --git a/libjava/gnu/javax/imageio/png/PNGChunk.h b/libjava/gnu/javax/imageio/png/PNGChunk.h
new file mode 100644
index 000000000..849b43632
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGChunk.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGChunk__
+#define __gnu_javax_imageio_png_PNGChunk__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGChunk;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGChunk : public ::java::lang::Object
+{
+
+public: // actually protected
+  PNGChunk(jint, JArray< jbyte > *, jint);
+  PNGChunk(jint);
+public:
+  static ::gnu::javax::imageio::png::PNGChunk * readChunk(::java::io::InputStream *, jboolean);
+private:
+  static ::gnu::javax::imageio::png::PNGChunk * getChunk(jint, JArray< jbyte > *, jint);
+  static jboolean isEssentialChunk(jint);
+public:
+  virtual jboolean isValidChunk();
+  virtual jint getType();
+  virtual void writeChunk(::java::io::OutputStream *);
+  virtual jboolean isEmpty();
+  static JArray< jbyte > * getInt(jint);
+private:
+  jint calcCRC();
+public:
+  virtual ::java::lang::String * toString();
+private:
+  static JArray< jlong > * crcTable;
+public:
+  static const jint TYPE_HEADER = 1229472850;
+  static const jint TYPE_PALETTE = 1347179589;
+  static const jint TYPE_DATA = 1229209940;
+  static const jint TYPE_TIME = 1950960965;
+  static const jint TYPE_END = 1229278788;
+  static const jint TYPE_PHYS = 1883789683;
+  static const jint TYPE_GAMMA = 1732332865;
+  static const jint TYPE_PROFILE = 1766015824;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) type;
+public: // actually protected
+  JArray< jbyte > * data;
+private:
+  jint crc;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGChunk__
diff --git a/libjava/gnu/javax/imageio/png/PNGData.h b/libjava/gnu/javax/imageio/png/PNGData.h
new file mode 100644
index 000000000..16a04a2c4
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGData.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGData__
+#define __gnu_javax_imageio_png_PNGData__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGData;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGData : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGData(jint, JArray< jbyte > *, jint);
+  PNGData(jint);
+public:
+  virtual void deflateToChunk(::java::util::zip::Deflater *);
+  virtual jboolean chunkFull();
+  virtual void shrink();
+  virtual void feedToInflater(::java::util::zip::Inflater *);
+  virtual ::java::lang::String * toString();
+private:
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) offset;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGData__
diff --git a/libjava/gnu/javax/imageio/png/PNGDecoder.h b/libjava/gnu/javax/imageio/png/PNGDecoder.h
new file mode 100644
index 000000000..70e6f3944
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGDecoder.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGDecoder__
+#define __gnu_javax_imageio_png_PNGDecoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGData;
+            class PNGDecoder;
+            class PNGHeader;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace color
+      {
+          class ColorSpace;
+      }
+      namespace image
+      {
+          class ColorModel;
+          class DataBuffer;
+          class IndexColorModel;
+          class WritableRaster;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGDecoder : public ::java::lang::Object
+{
+
+public:
+  PNGDecoder(::gnu::javax::imageio::png::PNGHeader *);
+private:
+  jint getBytes(JArray< jbyte > *, jint);
+public:
+  virtual void addData(::gnu::javax::imageio::png::PNGData *);
+  virtual ::java::awt::image::WritableRaster * getRaster(::gnu::javax::imageio::png::PNGHeader *);
+private:
+  ::java::awt::image::DataBuffer * getShortBuffer();
+  ::java::awt::image::DataBuffer * getByteBuffer();
+public:
+  virtual ::java::awt::image::ColorModel * getColorModel(::java::awt::color::ColorSpace *, jint, jint);
+private:
+  ::java::awt::image::IndexColorModel * grayPalette(jint);
+public:
+  virtual JArray< jbyte > * getRaster();
+  virtual jboolean isFinished();
+private:
+  ::gnu::javax::imageio::png::PNGHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header;
+  JArray< jbyte > * raster;
+  JArray< jbyte > * scanline;
+  JArray< jbyte > * lastScanline;
+  JArray< jbyte > * filterType;
+  jint offset;
+  jint length;
+  jint currentScanline;
+  jint stride;
+  ::java::util::zip::Inflater * inflater;
+  jboolean readFilter;
+  jint bpp;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGDecoder__
diff --git a/libjava/gnu/javax/imageio/png/PNGEncoder.h b/libjava/gnu/javax/imageio/png/PNGEncoder.h
new file mode 100644
index 000000000..e985ee10b
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGEncoder.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGEncoder__
+#define __gnu_javax_imageio_png_PNGEncoder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGEncoder;
+            class PNGHeader;
+            class PNGICCProfile;
+            class PNGPalette;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGEncoder : public ::java::lang::Object
+{
+
+public:
+  PNGEncoder(::java::awt::image::BufferedImage *);
+  virtual ::gnu::javax::imageio::png::PNGHeader * getHeader();
+  virtual ::gnu::javax::imageio::png::PNGPalette * getPalette();
+  virtual ::gnu::javax::imageio::png::PNGICCProfile * getProfile();
+  virtual ::java::util::Vector * encodeImage();
+private:
+  void getRawData(::java::awt::image::BufferedImage *);
+  static const jint defaultChunkSize = 8192;
+  ::gnu::javax::imageio::png::PNGHeader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) header;
+  ::gnu::javax::imageio::png::PNGPalette * palette;
+  jint stride;
+  jint bpp;
+  JArray< jbyte > * rawData;
+  ::gnu::javax::imageio::png::PNGICCProfile * profile;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGEncoder__
diff --git a/libjava/gnu/javax/imageio/png/PNGException.h b/libjava/gnu/javax/imageio/png/PNGException.h
new file mode 100644
index 000000000..d02406961
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGException.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGException__
+#define __gnu_javax_imageio_png_PNGException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGException : public ::java::io::IOException
+{
+
+public:
+  PNGException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGException__
diff --git a/libjava/gnu/javax/imageio/png/PNGFile.h b/libjava/gnu/javax/imageio/png/PNGFile.h
new file mode 100644
index 000000000..a1b5fdfb6
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGFile.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGFile__
+#define __gnu_javax_imageio_png_PNGFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGDecoder;
+            class PNGEncoder;
+            class PNGFile;
+            class PNGHeader;
+            class PNGPalette;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace color
+      {
+          class ColorSpace;
+      }
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGFile : public ::java::lang::Object
+{
+
+public:
+  PNGFile(::java::io::InputStream *);
+  PNGFile(::java::awt::image::BufferedImage *);
+  virtual void writePNG(::java::io::OutputStream *);
+private:
+  jboolean validateHeader(JArray< jbyte > *);
+public:
+  virtual ::java::awt::image::BufferedImage * getBufferedImage();
+private:
+  ::gnu::javax::imageio::png::PNGPalette * getPalette();
+  ::java::awt::color::ColorSpace * getColorSpace();
+  static JArray< jbyte > * signature;
+  static JArray< jbyte > * endChunk;
+  ::java::util::Vector * __attribute__((aligned(__alignof__( ::java::lang::Object)))) chunks;
+  ::gnu::javax::imageio::png::PNGHeader * header;
+  jboolean hasPalette;
+  jint width;
+  jint height;
+  ::gnu::javax::imageio::png::PNGDecoder * decoder;
+  ::gnu::javax::imageio::png::PNGEncoder * encoder;
+  ::java::awt::image::BufferedImage * sourceImage;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGFile__
diff --git a/libjava/gnu/javax/imageio/png/PNGFilter.h b/libjava/gnu/javax/imageio/png/PNGFilter.h
new file mode 100644
index 000000000..c461f59a2
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGFilter.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGFilter__
+#define __gnu_javax_imageio_png_PNGFilter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGFilter;
+            class PNGHeader;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGFilter : public ::java::lang::Object
+{
+
+public:
+  PNGFilter();
+  static jboolean useFilter(::gnu::javax::imageio::png::PNGHeader *);
+  static jbyte chooseFilter(JArray< jbyte > *, JArray< jbyte > *, jint);
+  static JArray< jbyte > * filterScanline(jbyte, JArray< jbyte > *, JArray< jbyte > *, jint);
+  static JArray< jbyte > * unFilterScanline(jint, JArray< jbyte > *, JArray< jbyte > *, jint);
+  static const jbyte FILTER_NONE = 0;
+  static const jbyte FILTER_SUB = 1;
+  static const jbyte FILTER_UP = 2;
+  static const jbyte FILTER_AVERAGE = 3;
+  static const jbyte FILTER_PAETH = 4;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGFilter__
diff --git a/libjava/gnu/javax/imageio/png/PNGGamma.h b/libjava/gnu/javax/imageio/png/PNGGamma.h
new file mode 100644
index 000000000..e6458f43c
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGGamma.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGGamma__
+#define __gnu_javax_imageio_png_PNGGamma__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGGamma;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace color
+      {
+          class ColorSpace;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGGamma : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGGamma(jint, JArray< jbyte > *, jint);
+public:
+  PNGGamma(jdouble);
+  virtual ::java::awt::color::ColorSpace * getColorSpace(jboolean);
+  virtual ::java::lang::String * toString();
+private:
+  jdouble __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) gamma;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGGamma__
diff --git a/libjava/gnu/javax/imageio/png/PNGHeader.h b/libjava/gnu/javax/imageio/png/PNGHeader.h
new file mode 100644
index 000000000..190268003
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGHeader.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGHeader__
+#define __gnu_javax_imageio_png_PNGHeader__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGHeader;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGHeader : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGHeader(jint, JArray< jbyte > *, jint);
+public:
+  PNGHeader(jint, jint, jint, jint, jboolean);
+  virtual jboolean isValidChunk();
+  virtual jboolean isIndexed();
+  virtual jboolean isGrayscale();
+  virtual jint getColorType();
+  virtual jboolean isInterlaced();
+  virtual jint bytesPerPixel();
+  virtual jint getScanlineStride();
+  virtual jint getWidth();
+  virtual jint getHeight();
+  virtual jint getDepth();
+  virtual ::java::lang::String * toString();
+private:
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) width;
+  jint height;
+  jint depth;
+  jint colorType;
+  jint compression;
+  jint filter;
+  jint interlace;
+public:
+  static const jint INTERLACE_NONE = 0;
+  static const jint INTERLACE_ADAM7 = 1;
+  static const jint GRAYSCALE = 0;
+  static const jint RGB = 2;
+  static const jint INDEXED = 3;
+  static const jint GRAYSCALE_WITH_ALPHA = 4;
+  static const jint RGB_WITH_ALPHA = 6;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGHeader__
diff --git a/libjava/gnu/javax/imageio/png/PNGICCProfile.h b/libjava/gnu/javax/imageio/png/PNGICCProfile.h
new file mode 100644
index 000000000..1495ded5d
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGICCProfile.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGICCProfile__
+#define __gnu_javax_imageio_png_PNGICCProfile__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGICCProfile;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace color
+      {
+          class ColorSpace;
+          class ICC_Profile;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGICCProfile : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGICCProfile(jint, JArray< jbyte > *, jint);
+public:
+  PNGICCProfile(::java::awt::color::ICC_Profile *);
+  virtual ::java::awt::color::ColorSpace * getColorSpace();
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) name;
+  ::java::awt::color::ICC_Profile * profile;
+  static JArray< jbyte > * genericName;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGICCProfile__
diff --git a/libjava/gnu/javax/imageio/png/PNGImageReader.h b/libjava/gnu/javax/imageio/png/PNGImageReader.h
new file mode 100644
index 000000000..5ef99a738
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGImageReader.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGImageReader__
+#define __gnu_javax_imageio_png_PNGImageReader__
+
+#pragma interface
+
+#include <javax/imageio/ImageReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGFile;
+            class PNGImageReader;
+            class PNGImageReaderSpi;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace image
+      {
+          class BufferedImage;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReadParam;
+      namespace metadata
+      {
+          class IIOMetadata;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGImageReader : public ::javax::imageio::ImageReader
+{
+
+public:
+  PNGImageReader(::gnu::javax::imageio::png::PNGImageReaderSpi *);
+  virtual jint getHeight(jint);
+  virtual jint getWidth(jint);
+  virtual ::java::util::Iterator * getImageTypes(jint);
+  virtual jint getNumImages(jboolean);
+  virtual ::java::awt::image::BufferedImage * read(jint, ::javax::imageio::ImageReadParam *);
+  virtual void setInput(::java::lang::Object *, jboolean, jboolean);
+  virtual ::javax::imageio::metadata::IIOMetadata * getImageMetadata(jint);
+  virtual ::javax::imageio::metadata::IIOMetadata * getStreamMetadata();
+private:
+  void checkIndex(jint);
+  void readImage();
+  ::gnu::javax::imageio::png::PNGFile * __attribute__((aligned(__alignof__( ::javax::imageio::ImageReader)))) pngFile;
+  ::java::awt::image::BufferedImage * image;
+  ::java::util::ArrayList * imageTypes;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGImageReader__
diff --git a/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h b/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h
new file mode 100644
index 000000000..61b6b3f73
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGImageReaderSpi.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGImageReaderSpi__
+#define __gnu_javax_imageio_png_PNGImageReaderSpi__
+
+#pragma interface
+
+#include <javax/imageio/spi/ImageReaderSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGImageReaderSpi;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace imageio
+    {
+        class ImageReader;
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGImageReaderSpi : public ::javax::imageio::spi::ImageReaderSpi
+{
+
+public:
+  PNGImageReaderSpi();
+  virtual jboolean canDecodeInput(::java::lang::Object *);
+  virtual ::javax::imageio::ImageReader * createReaderInstance(::java::lang::Object *);
+  virtual ::java::lang::String * getDescription(::java::util::Locale *);
+private:
+  static JArray< jbyte > * SIGNATURE;
+  static ::java::lang::String * VENDOR_NAME;
+public: // actually package-private
+  static ::java::lang::String * VERSION;
+  static ::java::lang::String * READER_CLASSNAME;
+  static JArray< ::java::lang::String * > * NAMES;
+  static JArray< ::java::lang::String * > * SUFFIXES;
+  static JArray< ::java::lang::String * > * MIME_TYPES;
+  static JArray< ::java::lang::String * > * WRITER_SPI_NAMES;
+  static JArray< ::java::lang::Class * > * INPUT_TYPES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGImageReaderSpi__
diff --git a/libjava/gnu/javax/imageio/png/PNGPalette.h b/libjava/gnu/javax/imageio/png/PNGPalette.h
new file mode 100644
index 000000000..d216b1b5e
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGPalette.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGPalette__
+#define __gnu_javax_imageio_png_PNGPalette__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGPalette;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace color
+      {
+          class ColorSpace;
+      }
+      namespace image
+      {
+          class IndexColorModel;
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGPalette : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGPalette(jint, JArray< jbyte > *, jint);
+public:
+  PNGPalette(::java::awt::image::IndexColorModel *);
+  virtual ::java::awt::image::IndexColorModel * getPalette(::java::awt::color::ColorSpace *);
+  virtual ::java::lang::String * toString();
+private:
+  JArray< jint > * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) red;
+  JArray< jint > * green;
+  JArray< jint > * blue;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGPalette__
diff --git a/libjava/gnu/javax/imageio/png/PNGPhys.h b/libjava/gnu/javax/imageio/png/PNGPhys.h
new file mode 100644
index 000000000..fa4476de8
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGPhys.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGPhys__
+#define __gnu_javax_imageio_png_PNGPhys__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGPhys;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGPhys : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGPhys(jint, JArray< jbyte > *, jint);
+public:
+  PNGPhys(jdouble);
+  PNGPhys(jint, jint);
+private:
+  void makeData();
+public:
+  virtual ::java::lang::String * toString();
+public: // actually package-private
+  jlong __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) x;
+  jlong y;
+  jdouble ratio;
+  jboolean usesRatio;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGPhys__
diff --git a/libjava/gnu/javax/imageio/png/PNGTime.h b/libjava/gnu/javax/imageio/png/PNGTime.h
new file mode 100644
index 000000000..1e07099b1
--- /dev/null
+++ b/libjava/gnu/javax/imageio/png/PNGTime.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_imageio_png_PNGTime__
+#define __gnu_javax_imageio_png_PNGTime__
+
+#pragma interface
+
+#include <gnu/javax/imageio/png/PNGChunk.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace imageio
+      {
+        namespace png
+        {
+            class PNGTime;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::imageio::png::PNGTime : public ::gnu::javax::imageio::png::PNGChunk
+{
+
+public: // actually protected
+  PNGTime(jint, JArray< jbyte > *, jint);
+public:
+  PNGTime(::java::util::Date *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::util::Date * __attribute__((aligned(__alignof__( ::gnu::javax::imageio::png::PNGChunk)))) date;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_imageio_png_PNGTime__
diff --git a/libjava/gnu/javax/management/ListenerData.h b/libjava/gnu/javax/management/ListenerData.h
new file mode 100644
index 000000000..ff1b8f0d4
--- /dev/null
+++ b/libjava/gnu/javax/management/ListenerData.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_ListenerData__
+#define __gnu_javax_management_ListenerData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class ListenerData;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+        class NotificationFilter;
+        class NotificationListener;
+    }
+  }
+}
+
+class gnu::javax::management::ListenerData : public ::java::lang::Object
+{
+
+public:
+  ListenerData(::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual ::javax::management::NotificationListener * getListener();
+  virtual ::javax::management::NotificationFilter * getFilter();
+  virtual ::java::lang::Object * getPassback();
+  virtual jboolean equals(::java::lang::Object *);
+private:
+  ::javax::management::NotificationListener * __attribute__((aligned(__alignof__( ::java::lang::Object)))) listener;
+  ::javax::management::NotificationFilter * filter;
+  ::java::lang::Object * passback;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_ListenerData__
diff --git a/libjava/gnu/javax/management/Server$LazyListenersHolder.h b/libjava/gnu/javax/management/Server$LazyListenersHolder.h
new file mode 100644
index 000000000..dfe86187b
--- /dev/null
+++ b/libjava/gnu/javax/management/Server$LazyListenersHolder.h
@@ -0,0 +1,36 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Server$LazyListenersHolder__
+#define __gnu_javax_management_Server$LazyListenersHolder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Server$LazyListenersHolder;
+      }
+    }
+  }
+}
+
+class gnu::javax::management::Server$LazyListenersHolder : public ::java::lang::Object
+{
+
+  Server$LazyListenersHolder();
+public: // actually package-private
+  static ::java::util::Map * access$0();
+private:
+  static ::java::util::Map * listeners;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Server$LazyListenersHolder__
diff --git a/libjava/gnu/javax/management/Server$ServerInfo.h b/libjava/gnu/javax/management/Server$ServerInfo.h
new file mode 100644
index 000000000..da1eb3bb0
--- /dev/null
+++ b/libjava/gnu/javax/management/Server$ServerInfo.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Server$ServerInfo__
+#define __gnu_javax_management_Server$ServerInfo__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Server;
+          class Server$ServerInfo;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+        class ObjectInstance;
+    }
+  }
+}
+
+class gnu::javax::management::Server$ServerInfo : public ::java::lang::Object
+{
+
+public:
+  Server$ServerInfo(::gnu::javax::management::Server *, ::javax::management::ObjectInstance *, ::java::lang::Object *);
+  virtual ::java::lang::Object * getObject();
+  virtual ::javax::management::ObjectInstance * getInstance();
+private:
+  ::javax::management::ObjectInstance * __attribute__((aligned(__alignof__( ::java::lang::Object)))) instance;
+  ::java::lang::Object * object;
+public: // actually package-private
+  ::gnu::javax::management::Server * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Server$ServerInfo__
diff --git a/libjava/gnu/javax/management/Server$ServerInputStream.h b/libjava/gnu/javax/management/Server$ServerInputStream.h
new file mode 100644
index 000000000..1b2bc0e76
--- /dev/null
+++ b/libjava/gnu/javax/management/Server$ServerInputStream.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Server$ServerInputStream__
+#define __gnu_javax_management_Server$ServerInputStream__
+
+#pragma interface
+
+#include <java/io/ObjectInputStream.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Server;
+          class Server$ServerInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::management::Server$ServerInputStream : public ::java::io::ObjectInputStream
+{
+
+public:
+  Server$ServerInputStream(::gnu::javax::management::Server *, ::java::io::InputStream *, ::java::lang::ClassLoader *);
+public: // actually protected
+  virtual ::java::lang::Class * resolveClass(::java::io::ObjectStreamClass *);
+private:
+  ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) cl;
+public: // actually package-private
+  ::gnu::javax::management::Server * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Server$ServerInputStream__
diff --git a/libjava/gnu/javax/management/Server$ServerNotificationListener.h b/libjava/gnu/javax/management/Server$ServerNotificationListener.h
new file mode 100644
index 000000000..a699261b9
--- /dev/null
+++ b/libjava/gnu/javax/management/Server$ServerNotificationListener.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Server$ServerNotificationListener__
+#define __gnu_javax_management_Server$ServerNotificationListener__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Server;
+          class Server$ServerNotificationListener;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+        class Notification;
+        class NotificationListener;
+        class ObjectName;
+    }
+  }
+}
+
+class gnu::javax::management::Server$ServerNotificationListener : public ::java::lang::Object
+{
+
+public:
+  Server$ServerNotificationListener(::gnu::javax::management::Server *, ::java::lang::Object *, ::javax::management::ObjectName *, ::javax::management::NotificationListener *);
+  virtual void handleNotification(::javax::management::Notification *, ::java::lang::Object *);
+public: // actually package-private
+  ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) bean;
+  ::javax::management::ObjectName * name;
+  ::javax::management::NotificationListener * listener;
+  ::gnu::javax::management::Server * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Server$ServerNotificationListener__
diff --git a/libjava/gnu/javax/management/Server.h b/libjava/gnu/javax/management/Server.h
new file mode 100644
index 000000000..e23fe0216
--- /dev/null
+++ b/libjava/gnu/javax/management/Server.h
@@ -0,0 +1,104 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Server__
+#define __gnu_javax_management_Server__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Server;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+        class Attribute;
+        class AttributeList;
+        class MBeanInfo;
+        class MBeanServer;
+        class MBeanServerDelegate;
+        class NotificationFilter;
+        class NotificationListener;
+        class ObjectInstance;
+        class ObjectName;
+        class QueryExp;
+      namespace loading
+      {
+          class ClassLoaderRepository;
+      }
+    }
+  }
+}
+
+class gnu::javax::management::Server : public ::java::lang::Object
+{
+
+public:
+  Server(::java::lang::String *, ::javax::management::MBeanServer *, ::javax::management::MBeanServerDelegate *);
+private:
+  void checkSecurity(::javax::management::ObjectName *, ::java::lang::String *, ::java::lang::String *);
+  ::java::lang::Object * getBean(::javax::management::ObjectName *);
+public:
+  virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual void addNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *);
+  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *);
+  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *);
+  virtual ::javax::management::ObjectInstance * createMBean(::java::lang::String *, ::javax::management::ObjectName *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *);
+  virtual ::java::io::ObjectInputStream * deserialize(::javax::management::ObjectName *, JArray< jbyte > *);
+  virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, JArray< jbyte > *);
+  virtual ::java::io::ObjectInputStream * deserialize(::java::lang::String *, ::javax::management::ObjectName *, JArray< jbyte > *);
+  virtual ::java::lang::Object * getAttribute(::javax::management::ObjectName *, ::java::lang::String *);
+  virtual ::javax::management::AttributeList * getAttributes(::javax::management::ObjectName *, JArray< ::java::lang::String * > *);
+  virtual ::java::lang::ClassLoader * getClassLoader(::javax::management::ObjectName *);
+  virtual ::java::lang::ClassLoader * getClassLoaderFor(::javax::management::ObjectName *);
+  virtual ::javax::management::loading::ClassLoaderRepository * getClassLoaderRepository();
+  virtual ::java::lang::String * getDefaultDomain();
+  virtual JArray< ::java::lang::String * > * getDomains();
+  virtual ::java::lang::Integer * getMBeanCount();
+  virtual ::javax::management::MBeanInfo * getMBeanInfo(::javax::management::ObjectName *);
+  virtual ::javax::management::ObjectInstance * getObjectInstance(::javax::management::ObjectName *);
+  virtual ::java::lang::Object * instantiate(::java::lang::String *);
+  virtual ::java::lang::Object * instantiate(::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *);
+  virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *);
+  virtual ::java::lang::Object * instantiate(::java::lang::String *, ::javax::management::ObjectName *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *);
+  virtual ::java::lang::Object * invoke(::javax::management::ObjectName *, ::java::lang::String *, JArray< ::java::lang::Object * > *, JArray< ::java::lang::String * > *);
+  virtual jboolean isInstanceOf(::javax::management::ObjectName *, ::java::lang::String *);
+  virtual jboolean isRegistered(::javax::management::ObjectName *);
+  virtual ::java::util::Set * queryMBeans(::javax::management::ObjectName *, ::javax::management::QueryExp *);
+  virtual ::java::util::Set * queryNames(::javax::management::ObjectName *, ::javax::management::QueryExp *);
+  virtual ::javax::management::ObjectInstance * registerMBean(::java::lang::Object *, ::javax::management::ObjectName *);
+  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *);
+  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::NotificationListener *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *);
+  virtual void removeNotificationListener(::javax::management::ObjectName *, ::javax::management::ObjectName *, ::javax::management::NotificationFilter *, ::java::lang::Object *);
+  virtual void setAttribute(::javax::management::ObjectName *, ::javax::management::Attribute *);
+  virtual ::javax::management::AttributeList * setAttributes(::javax::management::ObjectName *, ::javax::management::AttributeList *);
+  virtual void unregisterMBean(::javax::management::ObjectName *);
+private:
+  void notify(::javax::management::ObjectName *, ::java::lang::String *);
+  static ::javax::management::ObjectName * DELEGATE_NAME;
+  ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) beans;
+  ::java::lang::String * defaultDomain;
+  ::javax::management::MBeanServer * outer;
+  ::javax::management::loading::ClassLoaderRepository * repository;
+  ::javax::management::MBeanServerDelegate * delegate;
+  static ::java::util::concurrent::atomic::AtomicLong * sequenceNumber;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Server__
diff --git a/libjava/gnu/javax/management/Translator.h b/libjava/gnu/javax/management/Translator.h
new file mode 100644
index 000000000..dce01658d
--- /dev/null
+++ b/libjava/gnu/javax/management/Translator.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_management_Translator__
+#define __gnu_javax_management_Translator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace management
+      {
+          class Translator;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace management
+    {
+      namespace openmbean
+      {
+          class OpenMBeanParameterInfo;
+          class OpenType;
+      }
+    }
+  }
+}
+
+class gnu::javax::management::Translator : public ::java::lang::Object
+{
+
+public:
+  Translator();
+  static JArray< ::java::lang::Object * > * fromJava(JArray< ::java::lang::Object * > *, ::java::lang::reflect::Method *);
+  static ::java::lang::Object * fromJava(::java::lang::Object *, ::java::lang::reflect::Type *);
+  static ::java::lang::Object * toJava(::java::lang::Object *, ::java::lang::reflect::Method *);
+private:
+  static JArray< ::java::lang::Object * > * makeArraySpecific(JArray< ::java::lang::Object * > *);
+public:
+  static ::javax::management::openmbean::OpenMBeanParameterInfo * translate(::java::lang::String *);
+private:
+  static ::javax::management::openmbean::OpenType * getTypeFromClass(::java::lang::Class *);
+  static ::java::lang::String * getTypeName(::java::lang::reflect::Type *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_management_Translator__
diff --git a/libjava/gnu/javax/naming/giop/ContextContinuation.h b/libjava/gnu/javax/naming/giop/ContextContinuation.h
new file mode 100644
index 000000000..546a2564a
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/ContextContinuation.h
@@ -0,0 +1,111 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_ContextContinuation__
+#define __gnu_javax_naming_giop_ContextContinuation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace CORBA
+    {
+      namespace NamingService
+      {
+          class NameTransformer;
+      }
+    }
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class ContextContinuation;
+            class GiopNamingServiceFactory;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+        class NameParser;
+        class NamingEnumeration;
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+          class Object;
+      }
+      namespace CosNaming
+      {
+          class NameComponent;
+          class NamingContextExt;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::ContextContinuation : public ::java::lang::Object
+{
+
+public:
+  ContextContinuation(::org::omg::CORBA::Object *, ::java::util::Hashtable *, ::org::omg::CORBA::ORB *, ::gnu::javax::naming::giop::GiopNamingServiceFactory *);
+  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void bind(::java::lang::String *, ::java::lang::Object *);
+  virtual void close();
+  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
+  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
+  virtual void destroySubcontext(::javax::naming::Name *);
+  virtual void destroySubcontext(::java::lang::String *);
+  virtual ::java::lang::String * getNameInNamespace();
+  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
+  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
+  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookup(::java::lang::String *);
+  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
+  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
+  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual void rename(::java::lang::String *, ::java::lang::String *);
+  virtual void unbind(::javax::naming::Name *);
+  virtual void unbind(::java::lang::String *);
+  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::util::Hashtable * getEnvironment();
+  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
+  virtual JArray< ::org::omg::CosNaming::NameComponent * > * toGiop(::javax::naming::Name *);
+  virtual jint getBatchSize();
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) DEFAULT_BATCH_SIZE;
+public: // actually package-private
+  ::org::omg::CosNaming::NamingContextExt * service;
+  ::org::omg::CORBA::ORB * orb;
+  ::java::util::Hashtable * properties;
+  ::gnu::javax::naming::giop::GiopNamingServiceFactory * factory;
+  static ::gnu::CORBA::NamingService::NameTransformer * transformer;
+public:
+  jint howMany;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_ContextContinuation__
diff --git a/libjava/gnu/javax/naming/giop/CorbalocParser.h b/libjava/gnu/javax/naming/giop/CorbalocParser.h
new file mode 100644
index 000000000..cad411dab
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/CorbalocParser.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_CorbalocParser__
+#define __gnu_javax_naming_giop_CorbalocParser__
+
+#pragma interface
+
+#include <gnu/CORBA/NamingService/NameTransformer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace CORBA
+    {
+      namespace NamingService
+      {
+          class NameTransformer;
+      }
+    }
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class CorbalocParser;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::CorbalocParser : public ::gnu::CORBA::NamingService::NameTransformer
+{
+
+public:
+  CorbalocParser();
+  virtual JArray< ::java::lang::String * > * corbaloc(::java::lang::String *, ::org::omg::CORBA::ORB *);
+private:
+  JArray< ::java::lang::String * > * corbaloc(::java::lang::String *, ::org::omg::CORBA::ORB *, jint);
+public: // actually package-private
+  virtual ::java::lang::String * readFile(::java::lang::String *);
+  virtual ::java::lang::String * readUrl(::java::lang::String *);
+private:
+  JArray< ::java::lang::String * > * resolve(::java::lang::String *);
+  ::java::lang::String * readKey(::java::lang::String *);
+public:
+  static ::java::lang::String * pxCORBALOC;
+  static ::java::lang::String * pxCORBANAME;
+  static ::java::lang::String * pxIOR;
+  static ::java::lang::String * pxFILE;
+  static ::java::lang::String * pxFTP;
+  static ::java::lang::String * pxHTTP;
+  static ::java::lang::String * IIOP;
+  static ::java::lang::String * RIR;
+  static const jint DEFAULT_PORT = 2809;
+  static ::java::lang::String * DEFAULT_NAME;
+public: // actually package-private
+  static ::gnu::CORBA::NamingService::NameTransformer * converter;
+  jint __attribute__((aligned(__alignof__( ::gnu::CORBA::NamingService::NameTransformer)))) p;
+  JArray< ::java::lang::String * > * t;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_CorbalocParser__
diff --git a/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h b/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h
new file mode 100644
index 000000000..409975cec
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/GiopNamingEnumeration.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_GiopNamingEnumeration__
+#define __gnu_javax_naming_giop_GiopNamingEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class GiopNamingEnumeration;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CosNaming
+      {
+          class Binding;
+          class BindingIterator;
+          class BindingIteratorHolder;
+          class BindingListHolder;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::GiopNamingEnumeration : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GiopNamingEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint);
+public:
+  virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *) = 0;
+  virtual void close();
+  virtual jboolean hasMore();
+  virtual ::java::lang::Object * next();
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  virtual jboolean getMore();
+  JArray< ::org::omg::CosNaming::Binding * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list;
+  ::org::omg::CosNaming::BindingIterator * iterator;
+  jint batch;
+  jint p;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_GiopNamingEnumeration__
diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h
new file mode 100644
index 000000000..f51db7562
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory$1.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_GiopNamingServiceFactory$1__
+#define __gnu_javax_naming_giop_GiopNamingServiceFactory$1__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class GiopNamingServiceFactory;
+            class GiopNamingServiceFactory$1;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::GiopNamingServiceFactory$1 : public ::java::lang::Thread
+{
+
+public: // actually package-private
+  GiopNamingServiceFactory$1(::gnu::javax::naming::giop::GiopNamingServiceFactory *, ::org::omg::CORBA::ORB *);
+public:
+  virtual void run();
+public: // actually package-private
+  ::gnu::javax::naming::giop::GiopNamingServiceFactory * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0;
+private:
+  ::org::omg::CORBA::ORB * val$runIt;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_GiopNamingServiceFactory$1__
diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h
new file mode 100644
index 000000000..d3afb0d66
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceFactory.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_GiopNamingServiceFactory__
+#define __gnu_javax_naming_giop_GiopNamingServiceFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class GiopNamingServiceFactory;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::GiopNamingServiceFactory : public ::java::lang::Object
+{
+
+public:
+  GiopNamingServiceFactory();
+  virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *);
+  virtual void checkIfReferenced(::org::omg::CORBA::ORB *);
+  virtual ::java::lang::String * getOrbSignature(::java::util::Map *);
+  static ::java::lang::String * DEFAULT_PROVIDER;
+  static ::java::util::Hashtable * orbs;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_GiopNamingServiceFactory__
diff --git a/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h b/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h
new file mode 100644
index 000000000..ae1544c5a
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/GiopNamingServiceURLContext.h
@@ -0,0 +1,111 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_GiopNamingServiceURLContext__
+#define __gnu_javax_naming_giop_GiopNamingServiceURLContext__
+
+#pragma interface
+
+#include <gnu/javax/naming/giop/CorbalocParser.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace CORBA
+    {
+      namespace NamingService
+      {
+          class NameTransformer;
+      }
+    }
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class GiopNamingServiceFactory;
+            class GiopNamingServiceURLContext;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+        class NameParser;
+        class NamingEnumeration;
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+      }
+      namespace CosNaming
+      {
+          class NameComponent;
+          class NamingContextExt;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::GiopNamingServiceURLContext : public ::gnu::javax::naming::giop::CorbalocParser
+{
+
+public:
+  GiopNamingServiceURLContext(::java::util::Hashtable *, ::gnu::javax::naming::giop::GiopNamingServiceFactory *, ::org::omg::CORBA::ORB *);
+  virtual ::org::omg::CosNaming::NamingContextExt * getService(::java::lang::String *);
+  virtual JArray< ::java::lang::String * > * split(::java::lang::String *);
+  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void bind(::java::lang::String *, ::java::lang::Object *);
+  virtual void close();
+  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
+  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
+  virtual void destroySubcontext(::javax::naming::Name *);
+  virtual void destroySubcontext(::java::lang::String *);
+  virtual ::java::lang::String * getNameInNamespace();
+  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
+  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
+  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookup(::java::lang::String *);
+  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
+  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
+  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual void rename(::java::lang::String *, ::java::lang::String *);
+  virtual void unbind(::javax::naming::Name *);
+  virtual void unbind(::java::lang::String *);
+  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::util::Hashtable * getEnvironment();
+  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
+  virtual JArray< ::org::omg::CosNaming::NameComponent * > * toGiop(::javax::naming::Name *);
+  virtual jint getBatchSize();
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::naming::giop::CorbalocParser)))) DEFAULT_BATCH_SIZE;
+public: // actually package-private
+  ::org::omg::CORBA::ORB * orb;
+  ::java::util::Hashtable * properties;
+  ::gnu::javax::naming::giop::GiopNamingServiceFactory * factory;
+  static ::gnu::CORBA::NamingService::NameTransformer * transformer;
+public:
+  jint howMany;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_GiopNamingServiceURLContext__
diff --git a/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h b/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h
new file mode 100644
index 000000000..325f19a14
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/ListBindingsEnumeration.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_ListBindingsEnumeration__
+#define __gnu_javax_naming_giop_ListBindingsEnumeration__
+
+#pragma interface
+
+#include <gnu/javax/naming/giop/GiopNamingEnumeration.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class ListBindingsEnumeration;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CosNaming
+      {
+          class Binding;
+          class BindingIteratorHolder;
+          class BindingListHolder;
+          class NamingContext;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::ListBindingsEnumeration : public ::gnu::javax::naming::giop::GiopNamingEnumeration
+{
+
+public:
+  ListBindingsEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint, ::org::omg::CosNaming::NamingContext *);
+  virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *);
+public: // actually package-private
+  ::org::omg::CosNaming::NamingContext * __attribute__((aligned(__alignof__( ::gnu::javax::naming::giop::GiopNamingEnumeration)))) service;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_ListBindingsEnumeration__
diff --git a/libjava/gnu/javax/naming/giop/ListEnumeration.h b/libjava/gnu/javax/naming/giop/ListEnumeration.h
new file mode 100644
index 000000000..5ed2c7f9f
--- /dev/null
+++ b/libjava/gnu/javax/naming/giop/ListEnumeration.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_giop_ListEnumeration__
+#define __gnu_javax_naming_giop_ListEnumeration__
+
+#pragma interface
+
+#include <gnu/javax/naming/giop/GiopNamingEnumeration.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace giop
+        {
+            class ListEnumeration;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CosNaming
+      {
+          class Binding;
+          class BindingIteratorHolder;
+          class BindingListHolder;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::giop::ListEnumeration : public ::gnu::javax::naming::giop::GiopNamingEnumeration
+{
+
+public:
+  ListEnumeration(::org::omg::CosNaming::BindingListHolder *, ::org::omg::CosNaming::BindingIteratorHolder *, jint);
+  virtual ::java::lang::Object * convert(::org::omg::CosNaming::Binding *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_giop_ListEnumeration__
diff --git a/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h
new file mode 100644
index 000000000..138c63af7
--- /dev/null
+++ b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName$GnuNameEnum.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__
+#define __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace ictxImpl
+        {
+          namespace trans
+          {
+              class GnuName;
+              class GnuName$GnuNameEnum;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::ictxImpl::trans::GnuName$GnuNameEnum : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GnuName$GnuNameEnum(::gnu::javax::naming::ictxImpl::trans::GnuName *, jint);
+public:
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nxt;
+  ::gnu::javax::naming::ictxImpl::trans::GnuName * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_ictxImpl_trans_GnuName$GnuNameEnum__
diff --git a/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h
new file mode 100644
index 000000000..dd2b2d64b
--- /dev/null
+++ b/libjava/gnu/javax/naming/ictxImpl/trans/GnuName.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_ictxImpl_trans_GnuName__
+#define __gnu_javax_naming_ictxImpl_trans_GnuName__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace ictxImpl
+        {
+          namespace trans
+          {
+              class GnuName;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Name;
+    }
+  }
+}
+
+class gnu::javax::naming::ictxImpl::trans::GnuName : public ::java::lang::Object
+{
+
+public: // actually protected
+  GnuName();
+public:
+  GnuName(JArray< ::java::lang::String * > *);
+  GnuName(JArray< ::java::lang::String * > *, jint, jint);
+  virtual ::javax::naming::Name * add(jint, ::java::lang::String *);
+  virtual ::javax::naming::Name * add(::java::lang::String *);
+  virtual ::javax::naming::Name * addAll(jint, ::javax::naming::Name *);
+  virtual ::javax::naming::Name * addAll(::javax::naming::Name *);
+  virtual jint compareTo(::java::lang::Object *);
+  virtual jboolean endsWith(::javax::naming::Name *);
+  virtual ::java::lang::String * get(jint);
+  virtual ::java::util::Enumeration * getAll();
+  virtual ::javax::naming::Name * getPrefix(jint);
+  virtual ::javax::naming::Name * getSuffix(jint);
+  virtual jboolean isEmpty();
+  virtual ::java::lang::Object * remove(jint);
+  virtual jint size();
+  virtual jboolean startsWith(::javax::naming::Name *);
+  virtual ::java::lang::Object * clone();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual jint hashCode();
+  virtual ::java::lang::String * toString();
+private:
+  static const jlong serialVersionUID = -3617482732056931635LL;
+public: // actually package-private
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) hash;
+  JArray< ::java::lang::String * > * content;
+  jint from;
+  jint length;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_ictxImpl_trans_GnuName__
diff --git a/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h b/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h
new file mode 100644
index 000000000..f1e3844c3
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/corbaname/corbanameURLContextFactory.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__
+#define __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__
+
+#pragma interface
+
+#include <gnu/javax/naming/giop/GiopNamingServiceFactory.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace corbaname
+            {
+                class corbanameURLContextFactory;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::corbaname::corbanameURLContextFactory : public ::gnu::javax::naming::giop::GiopNamingServiceFactory
+{
+
+public:
+  corbanameURLContextFactory();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_corbaname_corbanameURLContextFactory__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h b/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h
new file mode 100644
index 000000000..87f6699d1
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/ContextContinuation.h
@@ -0,0 +1,98 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_ContextContinuation__
+#define __gnu_javax_naming_jndi_url_rmi_ContextContinuation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class ContextContinuation;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+      namespace registry
+      {
+          class Registry;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+        class NameParser;
+        class NamingEnumeration;
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::ContextContinuation : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::util::Hashtable * getEnvironment();
+  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
+  virtual void removeRegistry();
+  virtual ::java::rmi::registry::Registry * getRegistry();
+  ContextContinuation(::java::util::Map *, ::java::rmi::registry::Registry *);
+  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void bind(::java::lang::String *, ::java::lang::Object *);
+  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
+  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
+  virtual void destroySubcontext(::javax::naming::Name *);
+  virtual void destroySubcontext(::java::lang::String *);
+  virtual ::java::lang::String * getNameInNamespace();
+  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
+  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
+  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
+  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
+  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual void rename(::java::lang::String *, ::java::lang::String *);
+  virtual void unbind(::javax::naming::Name *);
+  virtual void unbind(::java::lang::String *);
+  virtual void close();
+  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookup(::java::lang::String *);
+  static ::java::lang::String * DEFAULT_REGISTRY_LOCATION;
+public: // actually package-private
+  ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) registry;
+  ::java::util::Properties * properties;
+  jboolean lookupCalled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_ContextContinuation__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h
new file mode 100644
index 000000000..96b173aba
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/ListBindingsEnumeration.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__
+#define __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__
+
+#pragma interface
+
+#include <gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class ListBindingsEnumeration;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+      namespace registry
+      {
+          class Registry;
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::ListBindingsEnumeration : public ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration
+{
+
+public:
+  ListBindingsEnumeration(JArray< ::java::lang::String * > *, ::java::rmi::registry::Registry *);
+  virtual ::java::lang::Object * convert(::java::lang::String *);
+public: // actually package-private
+  ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration)))) service;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_ListBindingsEnumeration__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h
new file mode 100644
index 000000000..a09dc1913
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/ListEnumeration.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_ListEnumeration__
+#define __gnu_javax_naming_jndi_url_rmi_ListEnumeration__
+
+#pragma interface
+
+#include <gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class ListEnumeration;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::ListEnumeration : public ::gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration
+{
+
+public:
+  ListEnumeration(JArray< ::java::lang::String * > *);
+  virtual ::java::lang::Object * convert(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_ListEnumeration__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h b/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h
new file mode 100644
index 000000000..756fa0584
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/RmiContinuation.h
@@ -0,0 +1,98 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_RmiContinuation__
+#define __gnu_javax_naming_jndi_url_rmi_RmiContinuation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class RmiContinuation;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+      namespace registry
+      {
+          class Registry;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+        class NameParser;
+        class NamingEnumeration;
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::RmiContinuation : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::util::Hashtable * getEnvironment();
+  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
+  virtual void removeRegistry();
+  virtual ::java::rmi::registry::Registry * getRegistry();
+  RmiContinuation(::java::util::Map *);
+  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void bind(::java::lang::String *, ::java::lang::Object *);
+  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
+  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
+  virtual void destroySubcontext(::javax::naming::Name *);
+  virtual void destroySubcontext(::java::lang::String *);
+  virtual ::java::lang::String * getNameInNamespace();
+  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
+  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
+  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
+  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
+  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual void rename(::java::lang::String *, ::java::lang::String *);
+  virtual void unbind(::javax::naming::Name *);
+  virtual void unbind(::java::lang::String *);
+  virtual void close();
+  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookup(::java::lang::String *);
+  static ::java::lang::String * DEFAULT_REGISTRY_LOCATION;
+public: // actually package-private
+  ::java::rmi::registry::Registry * __attribute__((aligned(__alignof__( ::java::lang::Object)))) registry;
+  ::java::util::Properties * properties;
+  jboolean lookupCalled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_RmiContinuation__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h b/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h
new file mode 100644
index 000000000..27447c73f
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/RmiNamingEnumeration.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__
+#define __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class RmiNamingEnumeration;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::RmiNamingEnumeration : public ::java::lang::Object
+{
+
+public: // actually package-private
+  RmiNamingEnumeration(JArray< ::java::lang::String * > *);
+public:
+  virtual ::java::lang::Object * convert(::java::lang::String *) = 0;
+  virtual jboolean hasMore();
+  virtual ::java::lang::Object * next();
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+  virtual void close();
+public: // actually package-private
+  JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) list;
+  jint p;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_RmiNamingEnumeration__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h
new file mode 100644
index 000000000..732295d5f
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContext.h
@@ -0,0 +1,100 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_rmiURLContext__
+#define __gnu_javax_naming_jndi_url_rmi_rmiURLContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class rmiURLContext;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+      namespace registry
+      {
+          class Registry;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+        class NameParser;
+        class NamingEnumeration;
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::rmiURLContext : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::lang::Object * addToEnvironment(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::util::Hashtable * getEnvironment();
+  virtual ::java::lang::Object * removeFromEnvironment(::java::lang::String *);
+  virtual ::java::rmi::registry::Registry * getRegistry(::java::lang::String *);
+  rmiURLContext(::java::util::Map *);
+  virtual void bind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void bind(::java::lang::String *, ::java::lang::Object *);
+  virtual ::javax::naming::Name * composeName(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual ::java::lang::String * composeName(::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::naming::Context * createSubcontext(::javax::naming::Name *);
+  virtual ::javax::naming::Context * createSubcontext(::java::lang::String *);
+  virtual void destroySubcontext(::javax::naming::Name *);
+  virtual void destroySubcontext(::java::lang::String *);
+  virtual ::java::lang::String * getNameInNamespace();
+  virtual ::javax::naming::NameParser * getNameParser(::javax::naming::Name *);
+  virtual ::javax::naming::NameParser * getNameParser(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * list(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * list(::java::lang::String *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::javax::naming::Name *);
+  virtual ::javax::naming::NamingEnumeration * listBindings(::java::lang::String *);
+  virtual ::java::lang::Object * lookupLink(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookupLink(::java::lang::String *);
+  virtual void rebind(::javax::naming::Name *, ::java::lang::Object *);
+  virtual void rebind(::java::lang::String *, ::java::lang::Object *);
+  virtual void rename(::javax::naming::Name *, ::javax::naming::Name *);
+  virtual void rename(::java::lang::String *, ::java::lang::String *);
+  virtual void unbind(::javax::naming::Name *);
+  virtual void unbind(::java::lang::String *);
+  virtual void close();
+  virtual ::java::lang::Object * lookup(::javax::naming::Name *);
+  virtual ::java::lang::Object * lookup(::java::lang::String *);
+  virtual JArray< ::java::lang::String * > * split(::java::lang::String *);
+  static ::java::lang::String * DEFAULT_REGISTRY_LOCATION;
+public: // actually package-private
+  static ::java::util::WeakHashMap * registryCache;
+  ::java::util::Properties * __attribute__((aligned(__alignof__( ::java::lang::Object)))) properties;
+  jboolean lookupCalled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_rmiURLContext__
diff --git a/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h
new file mode 100644
index 000000000..d29e51cb9
--- /dev/null
+++ b/libjava/gnu/javax/naming/jndi/url/rmi/rmiURLContextFactory.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__
+#define __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace naming
+      {
+        namespace jndi
+        {
+          namespace url
+          {
+            namespace rmi
+            {
+                class rmiURLContextFactory;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace naming
+    {
+        class Context;
+        class Name;
+    }
+  }
+}
+
+class gnu::javax::naming::jndi::url::rmi::rmiURLContextFactory : public ::java::lang::Object
+{
+
+public:
+  rmiURLContextFactory();
+  virtual ::java::lang::Object * getObjectInstance(::java::lang::Object *, ::javax::naming::Name *, ::javax::naming::Context *, ::java::util::Hashtable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_naming_jndi_url_rmi_rmiURLContextFactory__
diff --git a/libjava/gnu/javax/net/ssl/AbstractSessionContext.h b/libjava/gnu/javax/net/ssl/AbstractSessionContext.h
new file mode 100644
index 000000000..06d145e7b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/AbstractSessionContext.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_AbstractSessionContext__
+#define __gnu_javax_net_ssl_AbstractSessionContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class AbstractSessionContext;
+            class Session;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLSession;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::AbstractSessionContext : public ::java::lang::Object
+{
+
+public:
+  static ::gnu::javax::net::ssl::AbstractSessionContext * newInstance();
+  static void setImplClass(::java::lang::Class *);
+public: // actually protected
+  AbstractSessionContext(jint);
+public:
+  virtual ::javax::net::ssl::SSLSession * getSession(JArray< jbyte > *);
+  virtual ::javax::net::ssl::SSLSession * getSession(::java::lang::String *, jint);
+public: // actually protected
+  virtual ::gnu::javax::net::ssl::Session * implGet(JArray< jbyte > *) = 0;
+public:
+  virtual jint getSessionTimeout();
+  virtual void load(JArray< jchar > *) = 0;
+  virtual void put(::gnu::javax::net::ssl::Session *) = 0;
+  virtual void remove(JArray< jbyte > *) = 0;
+  virtual void setSessionTimeout(jint);
+  virtual void store(JArray< jchar > *) = 0;
+  virtual ::java::util::Enumeration * getIds() = 0;
+  virtual jint getSessionCacheSize() = 0;
+  virtual void setSessionCacheSize(jint) = 0;
+public: // actually protected
+  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) timeout;
+private:
+  static ::java::lang::Class * implClass;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_AbstractSessionContext__
diff --git a/libjava/gnu/javax/net/ssl/EntropySource.h b/libjava/gnu/javax/net/ssl/EntropySource.h
new file mode 100644
index 000000000..d44398c4c
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/EntropySource.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_EntropySource__
+#define __gnu_javax_net_ssl_EntropySource__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class EntropySource;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::EntropySource : public ::java::lang::Object
+{
+
+public:
+  virtual jdouble quality() = 0;
+  virtual JArray< jbyte > * nextBytes() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_EntropySource__
diff --git a/libjava/gnu/javax/net/ssl/NullManagerParameters.h b/libjava/gnu/javax/net/ssl/NullManagerParameters.h
new file mode 100644
index 000000000..519138e6e
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/NullManagerParameters.h
@@ -0,0 +1,35 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_NullManagerParameters__
+#define __gnu_javax_net_ssl_NullManagerParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class NullManagerParameters;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::NullManagerParameters : public ::java::lang::Object
+{
+
+public:
+  NullManagerParameters();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_NullManagerParameters__
diff --git a/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h b/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h
new file mode 100644
index 000000000..8ced9ef53
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/PreSharedKeyManager.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_PreSharedKeyManager__
+#define __gnu_javax_net_ssl_PreSharedKeyManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class PreSharedKeyManager;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::PreSharedKeyManager : public ::java::lang::Object
+{
+
+public:
+  virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *) = 0;
+  virtual ::java::lang::String * chooseIdentityHint() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_PreSharedKeyManager__
diff --git a/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h b/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h
new file mode 100644
index 000000000..5f2e23bc6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/PreSharedKeyManagerParameters.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_PreSharedKeyManagerParameters__
+#define __gnu_javax_net_ssl_PreSharedKeyManagerParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class PreSharedKeyManagerParameters;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::PreSharedKeyManagerParameters : public ::java::lang::Object
+{
+
+public:
+  PreSharedKeyManagerParameters();
+  virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *);
+  virtual void putKey(::java::lang::String *, ::javax::crypto::SecretKey *);
+  virtual jboolean removeKey(::java::lang::String *);
+  virtual ::java::util::Iterator * identities();
+private:
+  ::java::util::LinkedHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_PreSharedKeyManagerParameters__
diff --git a/libjava/gnu/javax/net/ssl/PrivateCredentials.h b/libjava/gnu/javax/net/ssl/PrivateCredentials.h
new file mode 100644
index 000000000..ab47f4fdd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/PrivateCredentials.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_PrivateCredentials__
+#define __gnu_javax_net_ssl_PrivateCredentials__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class PrivateCredentials;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::PrivateCredentials : public ::java::lang::Object
+{
+
+public:
+  PrivateCredentials();
+  virtual void add(::java::io::InputStream *, ::java::io::InputStream *);
+  virtual ::java::util::List * getPrivateKeys();
+  virtual ::java::util::List * getCertChains();
+  virtual void destroy();
+  virtual jboolean isDestroyed();
+private:
+  ::java::lang::String * readLine(::java::io::InputStream *);
+  JArray< jbyte > * decryptKey(JArray< jbyte > *, ::java::lang::String *, JArray< jbyte > *);
+  JArray< jbyte > * deriveKey(JArray< jbyte > *, jint);
+  JArray< jbyte > * toByteArray(::java::lang::String *);
+public:
+  static ::java::lang::String * BEGIN_DSA;
+  static ::java::lang::String * END_DSA;
+  static ::java::lang::String * BEGIN_RSA;
+  static ::java::lang::String * END_RSA;
+private:
+  ::java::util::List * __attribute__((aligned(__alignof__( ::java::lang::Object)))) privateKeys;
+  ::java::util::List * certChains;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_PrivateCredentials__
diff --git a/libjava/gnu/javax/net/ssl/SRPManagerParameters.h b/libjava/gnu/javax/net/ssl/SRPManagerParameters.h
new file mode 100644
index 000000000..16a617bdd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SRPManagerParameters.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SRPManagerParameters__
+#define __gnu_javax_net_ssl_SRPManagerParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class PasswordFile;
+          }
+        }
+      }
+      namespace net
+      {
+        namespace ssl
+        {
+            class SRPManagerParameters;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SRPManagerParameters : public ::java::lang::Object
+{
+
+public:
+  SRPManagerParameters(::gnu::javax::crypto::sasl::srp::PasswordFile *);
+  virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile();
+private:
+  ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) file;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_SRPManagerParameters__
diff --git a/libjava/gnu/javax/net/ssl/SRPTrustManager.h b/libjava/gnu/javax/net/ssl/SRPTrustManager.h
new file mode 100644
index 000000000..740ae3bc1
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SRPTrustManager.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SRPTrustManager__
+#define __gnu_javax_net_ssl_SRPTrustManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class PasswordFile;
+          }
+        }
+      }
+      namespace net
+      {
+        namespace ssl
+        {
+            class SRPTrustManager;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SRPTrustManager : public ::java::lang::Object
+{
+
+public:
+  virtual jboolean contains(::java::lang::String *) = 0;
+  virtual ::java::security::KeyPair * getKeyPair(::java::lang::String *) = 0;
+  virtual JArray< jbyte > * getSalt(::java::lang::String *) = 0;
+  virtual ::java::math::BigInteger * getVerifier(::java::lang::String *) = 0;
+  virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_SRPTrustManager__
diff --git a/libjava/gnu/javax/net/ssl/SSLCipherSuite.h b/libjava/gnu/javax/net/ssl/SSLCipherSuite.h
new file mode 100644
index 000000000..de863b703
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SSLCipherSuite.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SSLCipherSuite__
+#define __gnu_javax_net_ssl_SSLCipherSuite__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class SSLCipherSuite;
+            class SSLProtocolVersion;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+    namespace security
+    {
+        class Provider;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SSLCipherSuite : public ::java::lang::Object
+{
+
+public: // actually protected
+  SSLCipherSuite(::java::lang::String *, JArray< jbyte > *, ::gnu::javax::net::ssl::SSLProtocolVersion *);
+public:
+  static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::gnu::javax::net::ssl::SSLProtocolVersion *, JArray< jbyte > *);
+  static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::gnu::javax::net::ssl::SSLProtocolVersion *, JArray< jbyte > *, ::java::security::Provider *);
+  static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::java::lang::String *);
+  static ::gnu::javax::net::ssl::SSLCipherSuite * getInstance(::java::lang::String *, ::java::security::Provider *);
+  virtual ::java::lang::String * getAlgorithm();
+  virtual JArray< jbyte > * getId();
+  virtual ::java::security::Provider * getProvider();
+  virtual ::gnu::javax::net::ssl::SSLProtocolVersion * getProtocolVersion();
+  virtual void encipher(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *) = 0;
+private:
+  static ::java::lang::String * SERVICE;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) algorithm;
+  JArray< jbyte > * id;
+  ::gnu::javax::net::ssl::SSLProtocolVersion * version;
+  ::java::security::Provider * provider;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_SSLCipherSuite__
diff --git a/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h b/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h
new file mode 100644
index 000000000..f7feac96d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SSLProtocolVersion.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SSLProtocolVersion__
+#define __gnu_javax_net_ssl_SSLProtocolVersion__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class SSLProtocolVersion;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SSLProtocolVersion : public ::java::lang::Enum
+{
+
+  SSLProtocolVersion(::java::lang::String *, jint, jint, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::SSLProtocolVersion * > * values();
+  static ::gnu::javax::net::ssl::SSLProtocolVersion * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::SSLProtocolVersion * SSLv3;
+  static ::gnu::javax::net::ssl::SSLProtocolVersion * TLSv1;
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) major;
+  jint minor;
+private:
+  static JArray< ::gnu::javax::net::ssl::SSLProtocolVersion * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_SSLProtocolVersion__
diff --git a/libjava/gnu/javax/net/ssl/SSLRecordHandler.h b/libjava/gnu/javax/net/ssl/SSLRecordHandler.h
new file mode 100644
index 000000000..f4fab1509
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SSLRecordHandler.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SSLRecordHandler__
+#define __gnu_javax_net_ssl_SSLRecordHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class SSLRecordHandler;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SSLRecordHandler : public ::java::lang::Object
+{
+
+public: // actually protected
+  SSLRecordHandler(jbyte);
+public:
+  virtual void handle(::java::nio::ByteBuffer *, ::java::nio::ByteBuffer *) = 0;
+  virtual jbyte contentType();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual jint hashCode();
+private:
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) contentType__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_SSLRecordHandler__
diff --git a/libjava/gnu/javax/net/ssl/Session$ID.h b/libjava/gnu/javax/net/ssl/Session$ID.h
new file mode 100644
index 000000000..cccfb0254
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/Session$ID.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_Session$ID__
+#define __gnu_javax_net_ssl_Session$ID__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class Session$ID;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::Session$ID : public ::java::lang::Object
+{
+
+public:
+  Session$ID(JArray< jbyte > *);
+  JArray< jbyte > * id();
+  jboolean equals(::java::lang::Object *);
+  jint hashCode();
+  jint compareTo(::java::lang::Object *);
+  ::java::lang::String * toString();
+public: // actually package-private
+  static const jlong serialVersionUID = 7887036954666565936LL;
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) id__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_Session$ID__
diff --git a/libjava/gnu/javax/net/ssl/Session.h b/libjava/gnu/javax/net/ssl/Session.h
new file mode 100644
index 000000000..1061db226
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/Session.h
@@ -0,0 +1,117 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_Session__
+#define __gnu_javax_net_ssl_Session__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class Session;
+            class Session$ID;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Principal;
+        class SecureRandom;
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SealedObject;
+    }
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLSessionContext;
+      }
+    }
+    namespace security
+    {
+      namespace cert
+      {
+          class X509Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::Session : public ::java::lang::Object
+{
+
+public: // actually protected
+  Session();
+public:
+  virtual void access();
+  virtual jint getApplicationBufferSize();
+  virtual ::java::lang::String * getCipherSuite();
+  virtual jlong getCreationTime();
+  virtual JArray< jbyte > * getId();
+  virtual ::gnu::javax::net::ssl::Session$ID * id();
+  virtual jlong getLastAccessedTime();
+  virtual JArray< ::java::security::cert::Certificate * > * getLocalCertificates();
+  virtual ::java::security::Principal * getLocalPrincipal();
+  virtual jint getPacketBufferSize();
+  virtual JArray< ::java::security::cert::Certificate * > * getPeerCertificates();
+  virtual JArray< ::javax::security::cert::X509Certificate * > * getPeerCertificateChain();
+  virtual ::java::lang::String * getPeerHost();
+  virtual jint getPeerPort();
+  virtual ::java::security::Principal * getPeerPrincipal();
+  virtual ::javax::net::ssl::SSLSessionContext * getSessionContext();
+  virtual JArray< ::java::lang::String * > * getValueNames();
+  virtual ::java::lang::Object * getValue(::java::lang::String *);
+  virtual void invalidate();
+  virtual jboolean isValid();
+  virtual void putValue(::java::lang::String *, ::java::lang::Object *);
+  virtual void removeValue(::java::lang::String *);
+  virtual jboolean isTruncatedMac();
+  virtual void prepare(JArray< jchar > *) = 0;
+  virtual void repair(JArray< jchar > *) = 0;
+  virtual ::javax::crypto::SealedObject * privateData() = 0;
+  virtual void setPrivateData(::javax::crypto::SealedObject *) = 0;
+  virtual ::java::lang::String * getProtocol() = 0;
+public: // actually protected
+  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) creationTime;
+  jlong lastAccessedTime;
+  jint applicationBufferSize;
+  ::gnu::javax::net::ssl::Session$ID * sessionId;
+  JArray< ::java::security::cert::Certificate * > * localCerts;
+  JArray< ::java::security::cert::Certificate * > * peerCerts;
+  JArray< ::javax::security::cert::X509Certificate * > * peerCertChain;
+  ::java::lang::String * peerHost;
+  jint peerPort;
+  jboolean peerVerified;
+  ::java::util::HashMap * values;
+  jboolean valid;
+  jboolean truncatedMac;
+  ::java::security::SecureRandom * random;
+  ::javax::net::ssl::SSLSessionContext * context;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_Session__
diff --git a/libjava/gnu/javax/net/ssl/SessionStoreException.h b/libjava/gnu/javax/net/ssl/SessionStoreException.h
new file mode 100644
index 000000000..50049b7a9
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/SessionStoreException.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_SessionStoreException__
+#define __gnu_javax_net_ssl_SessionStoreException__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class SessionStoreException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::SessionStoreException : public ::javax::net::ssl::SSLException
+{
+
+public:
+  SessionStoreException(::java::lang::String *);
+  SessionStoreException(::java::lang::String *, ::java::lang::Throwable *);
+  SessionStoreException(::java::lang::Throwable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_SessionStoreException__
diff --git a/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h b/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h
new file mode 100644
index 000000000..ac00c8151
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/StaticTrustAnchors.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_StaticTrustAnchors__
+#define __gnu_javax_net_ssl_StaticTrustAnchors__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class StaticTrustAnchors;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class CertificateFactory;
+          class X509Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::StaticTrustAnchors : public ::java::lang::Object
+{
+
+public:
+  StaticTrustAnchors(JArray< ::java::security::cert::X509Certificate * > *);
+  static ::java::security::cert::X509Certificate * generate(::java::security::cert::CertificateFactory *, ::java::lang::String *);
+  virtual JArray< ::java::security::cert::X509Certificate * > * getCertificates();
+private:
+  JArray< ::java::security::cert::X509Certificate * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) certs;
+public:
+  static ::gnu::javax::net::ssl::StaticTrustAnchors * CA_CERTS;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_StaticTrustAnchors__
diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h
new file mode 100644
index 000000000..d0eaad2ce
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$1.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$1__
+#define __gnu_javax_net_ssl_provider_AbstractHandshake$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake$1;
+              class AbstractHandshake$CertVerifier;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AbstractHandshake$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  AbstractHandshake$1(::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier *);
+public:
+  virtual ::java::lang::ClassLoader * AbstractHandshake$1$run();
+  virtual ::java::lang::Object * run();
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$1__
diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h
new file mode 100644
index 000000000..56b6f9ce2
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$CertVerifier.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__
+#define __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake;
+              class AbstractHandshake$CertVerifier;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class X509Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually protected
+  AbstractHandshake$CertVerifier(::gnu::javax::net::ssl::provider::AbstractHandshake *, jboolean, JArray< ::java::security::cert::X509Certificate * > *);
+public: // actually package-private
+  virtual jboolean verified();
+public: // actually protected
+  virtual void implRun();
+private:
+  jboolean __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) clientSide;
+  JArray< ::java::security::cert::X509Certificate * > * chain;
+  jboolean verified__;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$CertVerifier__
diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h
new file mode 100644
index 000000000..d5f0278a7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHE_PSKGen.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__
+#define __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake;
+              class AbstractHandshake$DHE_PSKGen;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+      namespace interfaces
+      {
+          class DHPublicKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AbstractHandshake$DHE_PSKGen : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually protected
+  AbstractHandshake$DHE_PSKGen(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *, ::javax::crypto::SecretKey *, jboolean);
+  virtual void implRun();
+private:
+  ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) dhKey;
+  ::javax::crypto::SecretKey * psKey;
+  jboolean isClient;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$DHE_PSKGen__
diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h
new file mode 100644
index 000000000..a344f39e5
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake$DHPhase.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__
+#define __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake;
+              class AbstractHandshake$DHPhase;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class DHPublicKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AbstractHandshake$DHPhase : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually protected
+  AbstractHandshake$DHPhase(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *);
+  AbstractHandshake$DHPhase(::gnu::javax::net::ssl::provider::AbstractHandshake *, ::javax::crypto::interfaces::DHPublicKey *, jboolean);
+  virtual void implRun();
+private:
+  ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) key;
+  jboolean full;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::AbstractHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AbstractHandshake$DHPhase__
diff --git a/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h
new file mode 100644
index 000000000..c0501a7da
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AbstractHandshake.h
@@ -0,0 +1,142 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AbstractHandshake__
+#define __gnu_javax_net_ssl_provider_AbstractHandshake__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake;
+              class CompressionMethod;
+              class InputSecurityParameters;
+              class OutputSecurityParameters;
+              class Random;
+              class SSLEngineImpl;
+              class SessionImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+    namespace security
+    {
+        class MessageDigest;
+        class SecureRandom;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class KeyAgreement;
+      namespace interfaces
+      {
+          class DHPrivateKey;
+      }
+    }
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLEngineResult$HandshakeStatus;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AbstractHandshake : public ::java::lang::Object
+{
+
+public: // actually protected
+  AbstractHandshake(::gnu::javax::net::ssl::provider::SSLEngineImpl *);
+public:
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleInput(::java::nio::ByteBuffer *);
+public: // actually protected
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput() = 0;
+public:
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handleOutput(::java::nio::ByteBuffer *);
+public: // actually protected
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *) = 0;
+public: // actually package-private
+  virtual ::gnu::javax::net::ssl::provider::InputSecurityParameters * getInputParams();
+  virtual ::gnu::javax::net::ssl::provider::OutputSecurityParameters * getOutputParams();
+  virtual ::java::lang::Runnable * getTask();
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status() = 0;
+  virtual void checkKeyExchange() = 0;
+  virtual void handleV2Hello(::java::nio::ByteBuffer *) = 0;
+public: // actually protected
+  virtual jboolean pollHandshake(::java::nio::ByteBuffer *);
+  virtual jboolean doHash();
+  virtual jboolean hasMessage();
+private:
+  void reallocateBuffer(jint);
+public: // actually protected
+  virtual JArray< jbyte > * genV3CertificateVerify(::java::security::MessageDigest *, ::java::security::MessageDigest *, ::gnu::javax::net::ssl::provider::SessionImpl *);
+  virtual JArray< JArray< jbyte > * > * generateKeys(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *);
+  virtual ::java::nio::ByteBuffer * generateFinished(::java::security::MessageDigest *, ::java::security::MessageDigest *, jboolean, ::gnu::javax::net::ssl::provider::SessionImpl *);
+  virtual void initDiffieHellman(::javax::crypto::interfaces::DHPrivateKey *, ::java::security::SecureRandom *);
+  virtual void generateMasterSecret(::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::Random *, ::gnu::javax::net::ssl::provider::SessionImpl *);
+  virtual void setupSecurityParameters(JArray< JArray< jbyte > * > *, jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *, ::gnu::javax::net::ssl::provider::CompressionMethod *);
+  virtual void generatePSKSecret(::java::lang::String *, JArray< jbyte > *, jboolean);
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  static JArray< jbyte > * SERVER_FINISHED;
+  static JArray< jbyte > * CLIENT_FINISHED;
+private:
+  static JArray< jbyte > * KEY_EXPANSION;
+  static JArray< jbyte > * MASTER_SECRET;
+  static JArray< jbyte > * CLIENT_WRITE_KEY;
+  static JArray< jbyte > * SERVER_WRITE_KEY;
+  static JArray< jbyte > * IV_BLOCK;
+  static JArray< jbyte > * SENDER_CLIENT;
+  static JArray< jbyte > * SENDER_SERVER;
+public: // actually protected
+  static JArray< jbyte > * PAD1;
+  static JArray< jbyte > * PAD2;
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) handshakeBuffer;
+  jint handshakeOffset;
+  ::java::security::MessageDigest * sha;
+  ::java::security::MessageDigest * md5;
+  ::gnu::javax::net::ssl::provider::SSLEngineImpl * engine;
+  ::javax::crypto::KeyAgreement * keyAgreement;
+  JArray< jbyte > * preMasterSecret;
+  ::gnu::javax::net::ssl::provider::InputSecurityParameters * inParams;
+  ::gnu::javax::net::ssl::provider::OutputSecurityParameters * outParams;
+  ::java::util::LinkedList * tasks;
+  ::gnu::javax::net::ssl::provider::Random * serverRandom;
+  ::gnu::javax::net::ssl::provider::Random * clientRandom;
+  ::gnu::javax::net::ssl::provider::CompressionMethod * compression;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AbstractHandshake__
diff --git a/libjava/gnu/javax/net/ssl/provider/Alert$Description.h b/libjava/gnu/javax/net/ssl/provider/Alert$Description.h
new file mode 100644
index 000000000..90a652672
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Alert$Description.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Alert$Description__
+#define __gnu_javax_net_ssl_provider_Alert$Description__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Alert$Description;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Alert$Description : public ::java::lang::Enum
+{
+
+  Alert$Description(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::Alert$Description * forInteger(jint);
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::Alert$Description * > * values();
+  static ::gnu::javax::net::ssl::provider::Alert$Description * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::Alert$Description * CLOSE_NOTIFY;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNEXPECTED_MESSAGE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_RECORD_MAC;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * DECRYPTION_FAILED;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * RECORD_OVERFLOW;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * DECOMPRESSION_FAILURE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * HANDSHAKE_FAILURE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * NO_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNSUPPORTED_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_REVOKED;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_EXPIRED;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_UNKNOWN;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * ILLEGAL_PARAMETER;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNKNOWN_CA;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * ACCESS_DENIED;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * DECODE_ERROR;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * DECRYPT_ERROR;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * EXPORT_RESTRICTION;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * PROTOCOL_VERSION;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * INSUFFICIENT_SECURITY;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * INTERNAL_ERROR;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * USER_CANCELED;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * NO_RENEGOTIATION;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNSUPPORTED_EXTENSION;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * CERTIFICATE_UNOBTAINABLE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNRECOGNIZED_NAME;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE_STATUS_RESPONSE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * BAD_CERTIFICATE_HASH_VALUE;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * UNKNOWN_SRP_USERNAME;
+  static ::gnu::javax::net::ssl::provider::Alert$Description * MISSING_SRP_USERNAME;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::Alert$Description * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Alert$Description__
diff --git a/libjava/gnu/javax/net/ssl/provider/Alert$Level.h b/libjava/gnu/javax/net/ssl/provider/Alert$Level.h
new file mode 100644
index 000000000..6c31c4e5f
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Alert$Level.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Alert$Level__
+#define __gnu_javax_net_ssl_provider_Alert$Level__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Alert$Level;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Alert$Level : public ::java::lang::Enum
+{
+
+  Alert$Level(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::Alert$Level * forInteger(jint);
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::Alert$Level * > * values();
+  static ::gnu::javax::net::ssl::provider::Alert$Level * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::Alert$Level * WARNING;
+  static ::gnu::javax::net::ssl::provider::Alert$Level * FATAL;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::Alert$Level * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Alert$Level__
diff --git a/libjava/gnu/javax/net/ssl/provider/Alert.h b/libjava/gnu/javax/net/ssl/provider/Alert.h
new file mode 100644
index 000000000..02a437193
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Alert.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Alert__
+#define __gnu_javax_net_ssl_provider_Alert__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Alert;
+              class Alert$Description;
+              class Alert$Level;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Alert : public ::java::lang::Object
+{
+
+public:
+  Alert(::java::nio::ByteBuffer *);
+  Alert(::gnu::javax::net::ssl::provider::Alert$Level *, ::gnu::javax::net::ssl::provider::Alert$Description *);
+  jint length();
+public: // actually package-private
+  JArray< jbyte > * getEncoded();
+public:
+  ::gnu::javax::net::ssl::provider::Alert$Level * level();
+  ::gnu::javax::net::ssl::provider::Alert$Description * description();
+  void setLevel(::gnu::javax::net::ssl::provider::Alert$Level *);
+  void setDescription(::gnu::javax::net::ssl::provider::Alert$Description *);
+  jboolean equals(::java::lang::Object *);
+  jint hashCode();
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Alert__
diff --git a/libjava/gnu/javax/net/ssl/provider/AlertException.h b/libjava/gnu/javax/net/ssl/provider/AlertException.h
new file mode 100644
index 000000000..bb335b873
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/AlertException.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_AlertException__
+#define __gnu_javax_net_ssl_provider_AlertException__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Alert;
+              class AlertException;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::AlertException : public ::javax::net::ssl::SSLException
+{
+
+public:
+  AlertException(::gnu::javax::net::ssl::provider::Alert *, jboolean);
+  AlertException(::gnu::javax::net::ssl::provider::Alert *);
+  AlertException(::gnu::javax::net::ssl::provider::Alert *, jboolean, ::java::lang::Throwable *);
+  AlertException(::gnu::javax::net::ssl::provider::Alert *, ::java::lang::Throwable *);
+  virtual ::java::lang::String * getMessage();
+  virtual ::gnu::javax::net::ssl::provider::Alert * alert();
+  virtual jboolean isLocal();
+private:
+  ::gnu::javax::net::ssl::provider::Alert * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLException)))) alert__;
+  jboolean isLocal__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_AlertException__
diff --git a/libjava/gnu/javax/net/ssl/provider/Builder.h b/libjava/gnu/javax/net/ssl/provider/Builder.h
new file mode 100644
index 000000000..4c6b795c7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Builder.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Builder__
+#define __gnu_javax_net_ssl_provider_Builder__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Builder;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Builder : public ::java::lang::Object
+{
+
+public:
+  virtual ::java::nio::ByteBuffer * buffer() = 0;
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_provider_Builder__
diff --git a/libjava/gnu/javax/net/ssl/provider/Certificate.h b/libjava/gnu/javax/net/ssl/provider/Certificate.h
new file mode 100644
index 000000000..2ad08db55
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Certificate.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Certificate__
+#define __gnu_javax_net_ssl_provider_Certificate__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Certificate;
+              class CertificateType;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Certificate : public ::java::lang::Object
+{
+
+public:
+  Certificate(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CertificateType *);
+  virtual jint length();
+  virtual ::java::util::List * certificates();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::CertificateType * type;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Certificate__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h b/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h
new file mode 100644
index 000000000..136fd69ad
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateBuilder.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateBuilder__
+#define __gnu_javax_net_ssl_provider_CertificateBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Certificate.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateBuilder;
+              class CertificateType;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateBuilder : public ::gnu::javax::net::ssl::provider::Certificate
+{
+
+public:
+  CertificateBuilder(::gnu::javax::net::ssl::provider::CertificateType *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setCertificates(::java::util::List *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h
new file mode 100644
index 000000000..b6e51c839
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequest$ClientCertificateType.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__
+#define __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateRequest$ClientCertificateType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType : public ::java::lang::Enum
+{
+
+  CertificateRequest$ClientCertificateType(::java::lang::String *, jint, jint);
+public: // actually package-private
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * forValue(jint);
+public:
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * > * values();
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * RSA_SIGN;
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * DSS_SIGN;
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * RSA_FIXED_DH;
+  static ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * DSS_FIXED_DH;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateRequest$ClientCertificateType__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h
new file mode 100644
index 000000000..08e7f193d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequest.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateRequest__
+#define __gnu_javax_net_ssl_provider_CertificateRequest__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateRequest;
+              class ClientCertificateTypeList;
+              class X500PrincipalList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateRequest : public ::java::lang::Object
+{
+
+public:
+  CertificateRequest(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ClientCertificateTypeList * types();
+  virtual ::gnu::javax::net::ssl::provider::X500PrincipalList * authorities();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateRequest__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h b/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h
new file mode 100644
index 000000000..3be6ceac1
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateRequestBuilder.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateRequestBuilder__
+#define __gnu_javax_net_ssl_provider_CertificateRequestBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/CertificateRequest.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateRequestBuilder;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateRequestBuilder : public ::gnu::javax::net::ssl::provider::CertificateRequest
+{
+
+public:
+  CertificateRequestBuilder();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setTypes(::java::util::List *);
+  virtual void setAuthorities(::java::util::List *);
+  virtual void ensureCapacity(jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateRequestBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h
new file mode 100644
index 000000000..b19a13f22
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest$ResponderIdIterator.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__
+#define __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateStatusRequest;
+              class CertificateStatusRequest$ResponderIdIterator;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateStatusRequest$ResponderIdIterator : public ::java::lang::Object
+{
+
+public:
+  CertificateStatusRequest$ResponderIdIterator(::gnu::javax::net::ssl::provider::CertificateStatusRequest *);
+  virtual JArray< jbyte > * CertificateStatusRequest$ResponderIdIterator$next();
+  virtual jboolean hasNext();
+  virtual void remove();
+  virtual ::java::lang::Object * next();
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::CertificateStatusRequest * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateStatusRequest$ResponderIdIterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h
new file mode 100644
index 000000000..3d9ee96c1
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusRequest.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateStatusRequest__
+#define __gnu_javax_net_ssl_provider_CertificateStatusRequest__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateStatusRequest;
+              class CertificateStatusType;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateStatusRequest : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  CertificateStatusRequest(::java::nio::ByteBuffer *);
+  CertificateStatusRequest(::gnu::javax::net::ssl::provider::CertificateStatusType *, ::java::util::List *, JArray< jbyte > *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::gnu::javax::net::ssl::provider::CertificateStatusType * statusType();
+  virtual jint size();
+  virtual JArray< jbyte > * responderId(jint);
+  virtual JArray< jbyte > * requestExtensions();
+  virtual void setStatusType(::gnu::javax::net::ssl::provider::CertificateStatusType *);
+  virtual void setRequestIdListLength(jint);
+  virtual void putRequestId(jint, JArray< jbyte > *);
+  virtual void setRequestExtensions(jint, JArray< jbyte > *);
+  virtual ::java::util::Iterator * iterator();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateStatusRequest__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h b/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h
new file mode 100644
index 000000000..fedeebe16
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateStatusType.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateStatusType__
+#define __gnu_javax_net_ssl_provider_CertificateStatusType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateStatusType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateStatusType : public ::java::lang::Enum
+{
+
+  CertificateStatusType(::java::lang::String *, jint, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateStatusType * > * values();
+  static ::gnu::javax::net::ssl::provider::CertificateStatusType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CertificateStatusType * OCSP;
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+private:
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateStatusType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateStatusType__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateType.h b/libjava/gnu/javax/net/ssl/provider/CertificateType.h
new file mode 100644
index 000000000..e7cc0f62d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateType.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateType__
+#define __gnu_javax_net_ssl_provider_CertificateType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateType : public ::java::lang::Enum
+{
+
+  CertificateType(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::CertificateType * forValue(jint);
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateType * > * values();
+  static ::gnu::javax::net::ssl::provider::CertificateType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CertificateType * X509;
+  static ::gnu::javax::net::ssl::provider::CertificateType * OPEN_PGP;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateType__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h
new file mode 100644
index 000000000..ea65ea445
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$CertChainType.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__
+#define __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateURL$CertChainType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateURL$CertChainType : public ::java::lang::Enum
+{
+
+  CertificateURL$CertChainType(::java::lang::String *, jint, jint);
+public:
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * > * values();
+  static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * INDIVIDUAL_CERTS;
+  static ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * PKIPATH;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateURL$CertChainType__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h
new file mode 100644
index 000000000..059ea01ed
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$Iterator.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateURL$Iterator__
+#define __gnu_javax_net_ssl_provider_CertificateURL$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateURL;
+              class CertificateURL$Iterator;
+              class CertificateURL$URLAndOptionalHash;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateURL$Iterator : public ::java::lang::Object
+{
+
+public:
+  CertificateURL$Iterator(::gnu::javax::net::ssl::provider::CertificateURL *);
+  virtual ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash * CertificateURL$Iterator$next();
+  virtual jboolean hasNext();
+  virtual void remove();
+  virtual ::java::lang::Object * next();
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::CertificateURL * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateURL$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h
new file mode 100644
index 000000000..4cc2a8e23
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL$URLAndOptionalHash.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__
+#define __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateURL$URLAndOptionalHash;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash : public ::java::lang::Object
+{
+
+public:
+  CertificateURL$URLAndOptionalHash(::java::nio::ByteBuffer *);
+  CertificateURL$URLAndOptionalHash(::java::lang::String *);
+  CertificateURL$URLAndOptionalHash(::java::lang::String *, JArray< jbyte > *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::lang::String * url();
+  virtual jint urlLength();
+  virtual ::java::nio::ByteBuffer * urlBuffer();
+  virtual jboolean hashPresent();
+  virtual JArray< jbyte > * sha1Hash();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateURL$URLAndOptionalHash__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateURL.h b/libjava/gnu/javax/net/ssl/provider/CertificateURL.h
new file mode 100644
index 000000000..d2eab4870
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateURL.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateURL__
+#define __gnu_javax_net_ssl_provider_CertificateURL__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateURL;
+              class CertificateURL$CertChainType;
+              class CertificateURL$URLAndOptionalHash;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateURL : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  CertificateURL(::java::nio::ByteBuffer *);
+  CertificateURL(::gnu::javax::net::ssl::provider::CertificateURL$CertChainType *, ::java::util::List *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::gnu::javax::net::ssl::provider::CertificateURL$CertChainType * type();
+  virtual jint size();
+  virtual ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash * get(jint);
+  virtual void set(jint, ::gnu::javax::net::ssl::provider::CertificateURL$URLAndOptionalHash *);
+  virtual void setLength(jint);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  virtual ::java::util::Iterator * iterator();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateURL__
diff --git a/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h b/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h
new file mode 100644
index 000000000..e130b5c4b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CertificateVerify.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CertificateVerify__
+#define __gnu_javax_net_ssl_provider_CertificateVerify__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Signature.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateVerify;
+              class SignatureAlgorithm;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CertificateVerify : public ::gnu::javax::net::ssl::provider::Signature
+{
+
+public:
+  CertificateVerify(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *);
+  CertificateVerify(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CertificateVerify__
diff --git a/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h
new file mode 100644
index 000000000..54395bdb6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CipherAlgorithm.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CipherAlgorithm__
+#define __gnu_javax_net_ssl_provider_CipherAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherAlgorithm;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CipherAlgorithm : public ::java::lang::Enum
+{
+
+  CipherAlgorithm(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::CipherAlgorithm * > * values();
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * NULL;
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * RC4;
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * DES;
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * DESede;
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * CAST5;
+  static ::gnu::javax::net::ssl::provider::CipherAlgorithm * AES;
+private:
+  static JArray< ::gnu::javax::net::ssl::provider::CipherAlgorithm * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CipherAlgorithm__
diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuite.h b/libjava/gnu/javax/net/ssl/provider/CipherSuite.h
new file mode 100644
index 000000000..511b6de65
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CipherSuite.h
@@ -0,0 +1,145 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CipherSuite__
+#define __gnu_javax_net_ssl_provider_CipherSuite__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherAlgorithm;
+              class CipherSuite;
+              class KeyExchangeAlgorithm;
+              class MacAlgorithm;
+              class ProtocolVersion;
+              class SignatureAlgorithm;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class Cipher;
+        class Mac;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CipherSuite : public ::java::lang::Object
+{
+
+  CipherSuite(::gnu::javax::net::ssl::provider::CipherAlgorithm *, ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *, ::gnu::javax::net::ssl::provider::MacAlgorithm *, jint, jint, jint, ::java::lang::String *);
+  CipherSuite(::gnu::javax::net::ssl::provider::CipherAlgorithm *, ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm *, jboolean, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *, ::gnu::javax::net::ssl::provider::MacAlgorithm *, jint, jint, jint, ::java::lang::String *);
+  CipherSuite(JArray< jbyte > *);
+public:
+  static ::gnu::javax::net::ssl::provider::CipherSuite * forName(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CipherSuite * forValue(jshort);
+  static ::java::util::List * availableSuiteNames();
+  ::gnu::javax::net::ssl::provider::CipherAlgorithm * cipherAlgorithm();
+  ::javax::crypto::Cipher * cipher();
+  ::gnu::javax::net::ssl::provider::MacAlgorithm * macAlgorithm();
+  ::javax::crypto::Mac * mac(::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  ::gnu::javax::net::ssl::provider::SignatureAlgorithm * signatureAlgorithm();
+  ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * keyExchangeAlgorithm();
+  jboolean isEphemeralDH();
+  jint length();
+  void write(::java::io::OutputStream *);
+  void put(::java::nio::ByteBuffer *);
+  ::gnu::javax::net::ssl::provider::CipherSuite * resolve();
+  jboolean isResolved();
+  jint keyLength();
+  jboolean isExportable();
+  jboolean isStreamCipher();
+  JArray< jbyte > * id();
+  jboolean equals(::java::lang::Object *);
+  jint hashCode();
+  ::java::lang::String * toString(::java::lang::String *);
+  ::java::lang::String * toString();
+private:
+  static ::java::util::List * tlsSuiteNames;
+  static ::java::util::HashMap * namesToSuites;
+public:
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_NULL_WITH_NULL_NULL;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_NULL_MD5;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_NULL_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_EXPORT_WITH_RC4_40_MD5;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_RC4_128_MD5;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_RC4_128_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_EXPORT_WITH_DES40_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_DES_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_DES_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_DES_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_DES_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_DES_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_DSS_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DH_RSA_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_DSS_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_RSA_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_RC4_128_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_PSK_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_RC4_128_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_DHE_PSK_WITH_AES_256_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_RC4_128_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_AES_128_CBC_SHA;
+  static ::gnu::javax::net::ssl::provider::CipherSuite * TLS_RSA_PSK_WITH_AES_256_CBC_SHA;
+private:
+  ::gnu::javax::net::ssl::provider::CipherAlgorithm * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipherAlgorithm__;
+  ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * keyExchangeAlgorithm__;
+  ::gnu::javax::net::ssl::provider::SignatureAlgorithm * signatureAlgorithm__;
+  ::gnu::javax::net::ssl::provider::MacAlgorithm * macAlgorithm__;
+  jboolean ephemeralDH;
+  jboolean exportable;
+  jboolean isStream;
+  jint keyLength__;
+  JArray< jbyte > * id__;
+  ::java::lang::String * name;
+  jboolean isResolved__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CipherSuite__
diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h
new file mode 100644
index 000000000..2cf1f2fa6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList$Iterator.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__
+#define __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class CipherSuiteList;
+              class CipherSuiteList$Iterator;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CipherSuiteList$Iterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CipherSuiteList$Iterator(::gnu::javax::net::ssl::provider::CipherSuiteList *);
+public:
+  virtual void CipherSuiteList$Iterator$add(::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual jboolean hasNext();
+  virtual jboolean hasPrevious();
+  virtual ::gnu::javax::net::ssl::provider::CipherSuite * CipherSuiteList$Iterator$next();
+  virtual jint nextIndex();
+  virtual ::gnu::javax::net::ssl::provider::CipherSuite * CipherSuiteList$Iterator$previous();
+  virtual jint previousIndex();
+  virtual void remove();
+  virtual void CipherSuiteList$Iterator$set(::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual ::java::lang::Object * next();
+  virtual ::java::lang::Object * previous();
+  virtual void add(::java::lang::Object *);
+  virtual void set(::java::lang::Object *);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount;
+  jint index;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::CipherSuiteList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CipherSuiteList$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h
new file mode 100644
index 000000000..3262080aa
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CipherSuiteList.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CipherSuiteList__
+#define __gnu_javax_net_ssl_provider_CipherSuiteList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class CipherSuiteList;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CipherSuiteList : public ::java::lang::Object
+{
+
+public:
+  CipherSuiteList(::java::nio::ByteBuffer *);
+  CipherSuiteList(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  jint size();
+  ::gnu::javax::net::ssl::provider::CipherSuite * get(jint);
+  void put(jint, ::gnu::javax::net::ssl::provider::CipherSuite *);
+  void setSize(jint);
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+  jboolean equals(::java::lang::Object *);
+  ::java::util::Iterator * iterator();
+public: // actually package-private
+  static jint access$0(::gnu::javax::net::ssl::provider::CipherSuiteList *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * version;
+  jint modCount;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CipherSuiteList__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h
new file mode 100644
index 000000000..7d9d7ad34
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList$Iterator.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__
+#define __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateRequest$ClientCertificateType;
+              class ClientCertificateTypeList;
+              class ClientCertificateTypeList$Iterator;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientCertificateTypeList$Iterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+  ClientCertificateTypeList$Iterator(::gnu::javax::net::ssl::provider::ClientCertificateTypeList *);
+public:
+  virtual void ClientCertificateTypeList$Iterator$add(::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *);
+  virtual jboolean hasNext();
+  virtual jboolean hasPrevious();
+  virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * ClientCertificateTypeList$Iterator$next();
+  virtual jint nextIndex();
+  virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * ClientCertificateTypeList$Iterator$previous();
+  virtual jint previousIndex();
+  virtual void remove();
+  virtual void ClientCertificateTypeList$Iterator$set(::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *);
+  virtual ::java::lang::Object * next();
+  virtual ::java::lang::Object * previous();
+  virtual void add(::java::lang::Object *);
+  virtual void set(::java::lang::Object *);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+  jint modCount;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientCertificateTypeList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientCertificateTypeList$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h
new file mode 100644
index 000000000..975b22778
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientCertificateTypeList.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientCertificateTypeList__
+#define __gnu_javax_net_ssl_provider_ClientCertificateTypeList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CertificateRequest$ClientCertificateType;
+              class ClientCertificateTypeList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientCertificateTypeList : public ::java::lang::Object
+{
+
+public:
+  ClientCertificateTypeList(::java::nio::ByteBuffer *);
+  virtual jint size();
+  virtual ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType * get(jint);
+  virtual ::java::util::Iterator * iterator();
+  virtual void put(jint, ::gnu::javax::net::ssl::provider::CertificateRequest$ClientCertificateType *);
+  virtual void setSize(jint);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  virtual jboolean equals(::java::lang::Object *);
+public: // actually package-private
+  static jint access$0(::gnu::javax::net::ssl::provider::ClientCertificateTypeList *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  jint modCount;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientCertificateTypeList__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h
new file mode 100644
index 000000000..bd4fd8827
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientDHE_PSKParameters.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__
+#define __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientDHE_PSKParameters;
+              class ClientDiffieHellmanPublic;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientDHE_PSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  ClientDHE_PSKParameters(::java::nio::ByteBuffer *);
+  ClientDHE_PSKParameters(::java::lang::String *, ::gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic *);
+  virtual ::java::nio::ByteBuffer * buffer();
+private:
+  jint identityLength();
+public:
+  virtual ::java::lang::String * identity();
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic * params();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientDHE_PSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h b/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h
new file mode 100644
index 000000000..77bd040bd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientDiffieHellmanPublic.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__
+#define __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientDiffieHellmanPublic;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientDiffieHellmanPublic : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  ClientDiffieHellmanPublic(::java::nio::ByteBuffer *);
+  ClientDiffieHellmanPublic(::java::math::BigInteger *);
+private:
+  static ::java::nio::ByteBuffer * wrap(::java::math::BigInteger *);
+public:
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::math::BigInteger * publicValue();
+  virtual void setPublicValue(::java::math::BigInteger *);
+  virtual jint length();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientDiffieHellmanPublic__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h
new file mode 100644
index 000000000..dc42fab4f
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$CertLoader.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake;
+              class ClientHandshake$CertLoader;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$CertLoader : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ClientHandshake$CertLoader(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::util::List *, ::java::util::List *);
+public:
+  virtual void implRun();
+private:
+  ::java::util::List * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) keyTypes;
+  ::java::util::List * issuers;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$CertLoader__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h
new file mode 100644
index 000000000..8f33e96dd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ClientDHGen.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake;
+              class ClientHandshake$ClientDHGen;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+      namespace interfaces
+      {
+          class DHPublicKey;
+      }
+      namespace spec
+      {
+          class DHParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$ClientDHGen : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ClientHandshake$ClientDHGen(::gnu::javax::net::ssl::provider::ClientHandshake *, ::javax::crypto::interfaces::DHPublicKey *, ::javax::crypto::spec::DHParameterSpec *, jboolean);
+public:
+  virtual void implRun();
+public: // actually package-private
+  virtual ::javax::crypto::interfaces::DHPublicKey * serverKey();
+private:
+  ::javax::crypto::interfaces::DHPublicKey * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) serverKey__;
+  ::javax::crypto::spec::DHParameterSpec * params;
+  jboolean full;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$ClientDHGen__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h
new file mode 100644
index 000000000..4c4e8f18b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$GenCertVerify.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake;
+              class ClientHandshake$GenCertVerify;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class MessageDigest;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$GenCertVerify : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ClientHandshake$GenCertVerify(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::MessageDigest *, ::java::security::MessageDigest *);
+public:
+  virtual void implRun();
+public: // actually package-private
+  virtual JArray< jbyte > * signed$();
+private:
+  ::java::security::MessageDigest * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) md5;
+  ::java::security::MessageDigest * sha;
+  JArray< jbyte > * signed$__;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$GenCertVerify__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h
new file mode 100644
index 000000000..d1830a03b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$ParamsVerifier.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake;
+              class ClientHandshake$ParamsVerifier;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ClientHandshake$ParamsVerifier(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::nio::ByteBuffer *, JArray< jbyte > *);
+public:
+  virtual void implRun();
+public: // actually package-private
+  virtual jboolean verified();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) paramsBuffer;
+  JArray< jbyte > * signature;
+  jboolean verified__;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$ParamsVerifier__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h
new file mode 100644
index 000000000..02cde17b3
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$RSAGen.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake;
+              class ClientHandshake$RSAGen;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$RSAGen : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ClientHandshake$RSAGen(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  ClientHandshake$RSAGen(::gnu::javax::net::ssl::provider::ClientHandshake *, jboolean);
+public:
+  virtual void implRun();
+public: // actually package-private
+  virtual JArray< jbyte > * encryptedSecret();
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret;
+  jboolean full;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ClientHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$RSAGen__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h
new file mode 100644
index 000000000..26e934690
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake$State.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake$State__
+#define __gnu_javax_net_ssl_provider_ClientHandshake$State__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHandshake$State;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake$State : public ::java::lang::Enum
+{
+
+  ClientHandshake$State(::java::lang::String *, jint, jboolean, jboolean);
+public: // actually package-private
+  jboolean isReadState();
+  jboolean isWriteState();
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::ClientHandshake$State * > * values();
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CLIENT_HELLO;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_HELLO;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_CERTIFICATE_REQUEST;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_SERVER_HELLO_DONE;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CLIENT_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_CERTIFICATE_VERIFY;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * WRITE_FINISHED;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * READ_FINISHED;
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$State * DONE;
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Enum)))) isWriteState__;
+  jboolean isReadState__;
+  static JArray< ::gnu::javax::net::ssl::provider::ClientHandshake$State * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake$State__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h b/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h
new file mode 100644
index 000000000..ad331b85d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHandshake.h
@@ -0,0 +1,120 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHandshake__
+#define __gnu_javax_net_ssl_provider_ClientHandshake__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/AbstractHandshake.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake$CertVerifier;
+              class ClientHandshake;
+              class ClientHandshake$CertLoader;
+              class ClientHandshake$GenCertVerify;
+              class ClientHandshake$ParamsVerifier;
+              class ClientHandshake$State;
+              class DelegatedTask;
+              class MaxFragmentLength;
+              class ProtocolVersion;
+              class SSLEngineImpl;
+              class SessionImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+    namespace security
+    {
+        class KeyPair;
+        class PrivateKey;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLEngineResult$HandshakeStatus;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHandshake : public ::gnu::javax::net::ssl::provider::AbstractHandshake
+{
+
+public:
+  ClientHandshake(::gnu::javax::net::ssl::provider::SSLEngineImpl *);
+public: // actually protected
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput();
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *);
+public: // actually package-private
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status();
+  virtual void checkKeyExchange();
+  virtual void handleV2Hello(::java::nio::ByteBuffer *);
+private:
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * chooseVersion();
+  ::java::util::List * getSuites();
+  ::java::util::List * getCompressionMethods();
+  jboolean enableExtensions();
+  ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxFragmentLength();
+  jboolean truncatedHMac();
+  ::java::lang::String * getPSKIdentity();
+public: // actually package-private
+  static ::gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier * access$0(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static void access$1(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::KeyPair *);
+  static ::java::security::KeyPair * access$2(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static void access$3(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::lang::String *);
+  static ::java::lang::String * access$4(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static void access$5(::gnu::javax::net::ssl::provider::ClientHandshake *, ::java::security::PrivateKey *);
+  static ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * access$6(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * access$7(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static ::java::security::PrivateKey * access$8(::gnu::javax::net::ssl::provider::ClientHandshake *);
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type();
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ClientHandshake$State();
+private:
+  ::gnu::javax::net::ssl::provider::ClientHandshake$State * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::AbstractHandshake)))) state;
+  ::java::nio::ByteBuffer * outBuffer;
+  jboolean continuedSession;
+  ::gnu::javax::net::ssl::provider::SessionImpl * continued;
+  ::java::security::KeyPair * dhPair;
+  ::java::lang::String * keyAlias;
+  ::java::security::PrivateKey * privateKey;
+  ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxFragmentLengthSent;
+  jboolean truncatedHMacSent;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * sentVersion;
+  ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * certVerifier;
+  ::gnu::javax::net::ssl::provider::ClientHandshake$ParamsVerifier * paramsVerifier;
+  ::gnu::javax::net::ssl::provider::DelegatedTask * keyExchange;
+  ::gnu::javax::net::ssl::provider::ClientHandshake$CertLoader * certLoader;
+  ::gnu::javax::net::ssl::provider::ClientHandshake$GenCertVerify * genCertVerify;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ClientHandshake$State__;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHandshake__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHello.h b/libjava/gnu/javax/net/ssl/provider/ClientHello.h
new file mode 100644
index 000000000..a13e88264
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHello.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHello__
+#define __gnu_javax_net_ssl_provider_ClientHello__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuiteList;
+              class ClientHello;
+              class CompressionMethodList;
+              class ExtensionList;
+              class ProtocolVersion;
+              class Random;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHello : public ::java::lang::Object
+{
+
+public:
+  ClientHello(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version();
+  virtual ::gnu::javax::net::ssl::provider::Random * random();
+  virtual JArray< jbyte > * sessionId();
+  virtual ::gnu::javax::net::ssl::provider::CipherSuiteList * cipherSuites();
+  virtual ::gnu::javax::net::ssl::provider::CompressionMethodList * compressionMethods();
+  virtual jboolean hasExtensions();
+  virtual ::gnu::javax::net::ssl::provider::ExtensionList * extensions();
+  virtual jint extensionsLength();
+public: // actually protected
+  virtual jint getCipherSuitesOffset();
+  virtual jint getCompressionMethodsOffset();
+  virtual jint getExtensionsOffset();
+public:
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  static const jint RANDOM_OFFSET = 2;
+  static const jint SESSID_OFFSET = 34;
+  static const jint SESSID_OFFSET2 = 35;
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  jboolean disableExtensions;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHello__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h b/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h
new file mode 100644
index 000000000..cfc33f19b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHelloBuilder.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHelloBuilder__
+#define __gnu_javax_net_ssl_provider_ClientHelloBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ClientHello.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHelloBuilder;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHelloBuilder : public ::gnu::javax::net::ssl::provider::ClientHello
+{
+
+public:
+  ClientHelloBuilder();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  virtual void setSessionId(JArray< jbyte > *);
+  virtual void setSessionId(JArray< jbyte > *, jint, jint);
+  virtual void setCipherSuites(::java::util::List *);
+  virtual void setCompressionMethods(::java::util::List *);
+  virtual void setExtensionsLength(jint);
+  virtual void setExtensions(::java::nio::ByteBuffer *);
+  virtual void setDisableExtensions(jboolean);
+  virtual void ensureCapacity(jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHelloBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h b/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h
new file mode 100644
index 000000000..75831abbd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientHelloV2.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientHelloV2__
+#define __gnu_javax_net_ssl_provider_ClientHelloV2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientHelloV2;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientHelloV2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  ClientHelloV2(::java::nio::ByteBuffer *);
+public:
+  virtual jint length();
+public: // actually package-private
+  virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version();
+  virtual jint cipherSpecsLength();
+  virtual jint sessionIdLength();
+  virtual jint challengeLength();
+public:
+  virtual ::java::util::List * cipherSpecs();
+public: // actually package-private
+  virtual JArray< jbyte > * sessionId();
+  virtual JArray< jbyte > * challenge();
+public:
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientHelloV2__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h
new file mode 100644
index 000000000..1ab6b2e40
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchange.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientKeyExchange__
+#define __gnu_javax_net_ssl_provider_ClientKeyExchange__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class ClientKeyExchange;
+              class ExchangeKeys;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientKeyExchange : public ::java::lang::Object
+{
+
+public:
+  ClientKeyExchange(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  virtual ::gnu::javax::net::ssl::provider::ExchangeKeys * exchangeKeys();
+  virtual jint length();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::CipherSuite * suite;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * version;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientKeyExchange__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h
new file mode 100644
index 000000000..eb2b8f3e0
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientKeyExchangeBuilder.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__
+#define __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ClientKeyExchange.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class ClientKeyExchangeBuilder;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientKeyExchangeBuilder : public ::gnu::javax::net::ssl::provider::ClientKeyExchange
+{
+
+public:
+  ClientKeyExchangeBuilder(::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setExchangeKeys(::java::nio::ByteBuffer *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientKeyExchangeBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h
new file mode 100644
index 000000000..539743240
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientPSKParameters.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientPSKParameters__
+#define __gnu_javax_net_ssl_provider_ClientPSKParameters__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientPSKParameters;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientPSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  ClientPSKParameters(::java::nio::ByteBuffer *);
+  ClientPSKParameters(::java::lang::String *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint length();
+  virtual ::java::lang::String * identity();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientPSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h
new file mode 100644
index 000000000..653143117
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ClientRSA_PSKParameters.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__
+#define __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ClientRSA_PSKParameters;
+              class EncryptedPreMasterSecret;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ClientRSA_PSKParameters : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  ClientRSA_PSKParameters(::java::nio::ByteBuffer *);
+  ClientRSA_PSKParameters(::java::lang::String *, ::java::nio::ByteBuffer *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::lang::String * identity();
+private:
+  jint identityLength();
+public:
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::EncryptedPreMasterSecret * secret();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ClientRSA_PSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h
new file mode 100644
index 000000000..c8a2c1e37
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethod.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CompressionMethod__
+#define __gnu_javax_net_ssl_provider_CompressionMethod__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CompressionMethod;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CompressionMethod : public ::java::lang::Enum
+{
+
+  CompressionMethod(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::CompressionMethod * getInstance(jint);
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::CompressionMethod * > * values();
+  static ::gnu::javax::net::ssl::provider::CompressionMethod * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::CompressionMethod * NULL;
+  static ::gnu::javax::net::ssl::provider::CompressionMethod * ZLIB;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::CompressionMethod * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CompressionMethod__
diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h
new file mode 100644
index 000000000..6eff62df8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList$Iterator.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__
+#define __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CompressionMethod;
+              class CompressionMethodList;
+              class CompressionMethodList$Iterator;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CompressionMethodList$Iterator : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CompressionMethodList$Iterator(::gnu::javax::net::ssl::provider::CompressionMethodList *);
+public:
+  virtual void CompressionMethodList$Iterator$add(::gnu::javax::net::ssl::provider::CompressionMethod *);
+  virtual jboolean hasNext();
+  virtual jboolean hasPrevious();
+  virtual ::gnu::javax::net::ssl::provider::CompressionMethod * CompressionMethodList$Iterator$next();
+  virtual jint nextIndex();
+  virtual ::gnu::javax::net::ssl::provider::CompressionMethod * CompressionMethodList$Iterator$previous();
+  virtual jint previousIndex();
+  virtual void remove();
+  virtual void CompressionMethodList$Iterator$set(::gnu::javax::net::ssl::provider::CompressionMethod *);
+  virtual ::java::lang::Object * next();
+  virtual ::java::lang::Object * previous();
+  virtual void add(::java::lang::Object *);
+  virtual void set(::java::lang::Object *);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+  jint modCount;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::CompressionMethodList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CompressionMethodList$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h
new file mode 100644
index 000000000..5e1addba4
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/CompressionMethodList.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_CompressionMethodList__
+#define __gnu_javax_net_ssl_provider_CompressionMethodList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CompressionMethod;
+              class CompressionMethodList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::CompressionMethodList : public ::java::lang::Object
+{
+
+public:
+  CompressionMethodList(::java::nio::ByteBuffer *);
+  jint size();
+  ::gnu::javax::net::ssl::provider::CompressionMethod * get(jint);
+  void put(jint, ::gnu::javax::net::ssl::provider::CompressionMethod *);
+  void setSize(jint);
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+  jboolean equals(::java::lang::Object *);
+  ::java::util::Iterator * iterator();
+public: // actually package-private
+  static jint access$0(::gnu::javax::net::ssl::provider::CompressionMethodList *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  jint modCount;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_CompressionMethodList__
diff --git a/libjava/gnu/javax/net/ssl/provider/Constructed.h b/libjava/gnu/javax/net/ssl/provider/Constructed.h
new file mode 100644
index 000000000..d5b527fc9
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Constructed.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Constructed__
+#define __gnu_javax_net_ssl_provider_Constructed__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Constructed;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Constructed : public ::java::lang::Object
+{
+
+public:
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_provider_Constructed__
diff --git a/libjava/gnu/javax/net/ssl/provider/ContentType.h b/libjava/gnu/javax/net/ssl/provider/ContentType.h
new file mode 100644
index 000000000..4f3067b71
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ContentType.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ContentType__
+#define __gnu_javax_net_ssl_provider_ContentType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ContentType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ContentType : public ::java::lang::Enum
+{
+
+  ContentType(::java::lang::String *, jint, jint);
+public: // actually package-private
+  static ::gnu::javax::net::ssl::provider::ContentType * forInteger(jint);
+public:
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::ContentType * > * values();
+  static ::gnu::javax::net::ssl::provider::ContentType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::ContentType * CLIENT_HELLO_V2;
+  static ::gnu::javax::net::ssl::provider::ContentType * CHANGE_CIPHER_SPEC;
+  static ::gnu::javax::net::ssl::provider::ContentType * ALERT;
+  static ::gnu::javax::net::ssl::provider::ContentType * HANDSHAKE;
+  static ::gnu::javax::net::ssl::provider::ContentType * APPLICATION_DATA;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::ContentType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ContentType__
diff --git a/libjava/gnu/javax/net/ssl/provider/Debug.h b/libjava/gnu/javax/net/ssl/provider/Debug.h
new file mode 100644
index 000000000..6421a6748
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Debug.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Debug__
+#define __gnu_javax_net_ssl_provider_Debug__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Debug;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Debug : public ::java::lang::Object
+{
+
+public:
+  Debug();
+  static const jboolean DEBUG = 1;
+  static const jboolean DEBUG_KEY_EXCHANGE = 1;
+  static const jboolean DEBUG_DECRYPTION = 0;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Debug__
diff --git a/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h b/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h
new file mode 100644
index 000000000..72debfc8a
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/DelegatedTask.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_DelegatedTask__
+#define __gnu_javax_net_ssl_provider_DelegatedTask__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class DelegatedTask;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::DelegatedTask : public ::java::lang::Object
+{
+
+public: // actually protected
+  DelegatedTask();
+public:
+  virtual void run();
+  virtual jboolean hasRun();
+  virtual ::java::lang::Throwable * thrown();
+public: // actually protected
+  virtual void implRun() = 0;
+private:
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) hasRun__;
+public: // actually protected
+  ::java::lang::Throwable * thrown__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_DelegatedTask__
diff --git a/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h b/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h
new file mode 100644
index 000000000..6f85801b8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/DiffieHellman.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_DiffieHellman__
+#define __gnu_javax_net_ssl_provider_DiffieHellman__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace key
+        {
+          namespace dh
+          {
+              class GnuDHPrivateKey;
+          }
+        }
+      }
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class DiffieHellman;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::DiffieHellman : public ::java::lang::Object
+{
+
+public: // actually package-private
+  DiffieHellman();
+  static ::gnu::javax::crypto::key::dh::GnuDHPrivateKey * getParams();
+  static ::java::math::BigInteger * DH_G;
+  static ::java::math::BigInteger * GROUP_1;
+  static ::java::math::BigInteger * GROUP_2;
+  static ::java::math::BigInteger * GROUP_5;
+  static ::java::math::BigInteger * GROUP_14;
+  static ::java::math::BigInteger * GROUP_15;
+  static ::java::math::BigInteger * GROUP_16;
+  static ::java::math::BigInteger * GROUP_17;
+  static ::java::math::BigInteger * GROUP_18;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_DiffieHellman__
diff --git a/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h b/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h
new file mode 100644
index 000000000..5459775ab
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/EmptyExchangeKeys.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_EmptyExchangeKeys__
+#define __gnu_javax_net_ssl_provider_EmptyExchangeKeys__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class EmptyExchangeKeys;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::EmptyExchangeKeys : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  EmptyExchangeKeys();
+  virtual jint length();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_EmptyExchangeKeys__
diff --git a/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h b/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h
new file mode 100644
index 000000000..ae9382142
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/EncryptedPreMasterSecret.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__
+#define __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ExchangeKeys.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class EncryptedPreMasterSecret;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::EncryptedPreMasterSecret : public ::gnu::javax::net::ssl::provider::ExchangeKeys
+{
+
+public:
+  EncryptedPreMasterSecret(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  EncryptedPreMasterSecret(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  ::java::nio::ByteBuffer * buffer();
+  JArray< jbyte > * encryptedSecret();
+  void setEncryptedSecret(JArray< jbyte > *, jint, jint);
+  jint length();
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::ExchangeKeys)))) version;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_EncryptedPreMasterSecret__
diff --git a/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h b/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h
new file mode 100644
index 000000000..8d3bbb8d6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ExchangeKeys.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ExchangeKeys__
+#define __gnu_javax_net_ssl_provider_ExchangeKeys__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ExchangeKeys;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ExchangeKeys : public ::java::lang::Object
+{
+
+public:
+  ExchangeKeys(::java::nio::ByteBuffer *);
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+public: // actually protected
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ExchangeKeys__
diff --git a/libjava/gnu/javax/net/ssl/provider/Extension$Type.h b/libjava/gnu/javax/net/ssl/provider/Extension$Type.h
new file mode 100644
index 000000000..dfefe3f50
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Extension$Type.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Extension$Type__
+#define __gnu_javax_net_ssl_provider_Extension$Type__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Extension$Type;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Extension$Type : public ::java::lang::Enum
+{
+
+  Extension$Type(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::Extension$Type * forValue(jint);
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::Extension$Type * > * values();
+  static ::gnu::javax::net::ssl::provider::Extension$Type * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::Extension$Type * SERVER_NAME;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * MAX_FRAGMENT_LENGTH;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * CLIENT_CERTIFICATE_URL;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * TRUSTED_CA_KEYS;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * TRUNCATED_HMAC;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * STATUS_REQUEST;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * SRP;
+  static ::gnu::javax::net::ssl::provider::Extension$Type * CERT_TYPE;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::Extension$Type * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Extension$Type__
diff --git a/libjava/gnu/javax/net/ssl/provider/Extension$Value.h b/libjava/gnu/javax/net/ssl/provider/Extension$Value.h
new file mode 100644
index 000000000..f00248aff
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Extension$Value.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Extension$Value__
+#define __gnu_javax_net_ssl_provider_Extension$Value__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Extension$Value;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Extension$Value : public ::java::lang::Object
+{
+
+public:
+  Extension$Value();
+  virtual ::java::nio::ByteBuffer * buffer() = 0;
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Extension$Value__
diff --git a/libjava/gnu/javax/net/ssl/provider/Extension.h b/libjava/gnu/javax/net/ssl/provider/Extension.h
new file mode 100644
index 000000000..540754261
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Extension.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Extension__
+#define __gnu_javax_net_ssl_provider_Extension__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Extension;
+              class Extension$Type;
+              class Extension$Value;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Extension : public ::java::lang::Object
+{
+
+public:
+  Extension(::java::nio::ByteBuffer *);
+  Extension(::gnu::javax::net::ssl::provider::Extension$Type *, ::gnu::javax::net::ssl::provider::Extension$Value *);
+  jint length();
+  ::java::nio::ByteBuffer * buffer();
+  ::gnu::javax::net::ssl::provider::Extension$Type * type();
+  JArray< jbyte > * valueBytes();
+  ::java::nio::ByteBuffer * valueBuffer();
+  ::gnu::javax::net::ssl::provider::Extension$Value * value();
+  void setLength(jint);
+  void setType(::gnu::javax::net::ssl::provider::Extension$Type *);
+  void setValue(JArray< jbyte > *);
+  void setValue(JArray< jbyte > *, jint, jint);
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+public: // actually package-private
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Extension__
diff --git a/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h b/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h
new file mode 100644
index 000000000..d65857822
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ExtensionList$ExtensionsIterator.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__
+#define __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Extension;
+              class ExtensionList;
+              class ExtensionList$ExtensionsIterator;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ExtensionList$ExtensionsIterator : public ::java::lang::Object
+{
+
+public:
+  ExtensionList$ExtensionsIterator(::gnu::javax::net::ssl::provider::ExtensionList *);
+  jboolean hasNext();
+  jboolean hasPrevious();
+  ::gnu::javax::net::ssl::provider::Extension * ExtensionList$ExtensionsIterator$next();
+  ::gnu::javax::net::ssl::provider::Extension * ExtensionList$ExtensionsIterator$previous();
+  jint nextIndex();
+  jint previousIndex();
+  void ExtensionList$ExtensionsIterator$add(::gnu::javax::net::ssl::provider::Extension *);
+  void remove();
+  void ExtensionList$ExtensionsIterator$set(::gnu::javax::net::ssl::provider::Extension *);
+  ::java::lang::Object * next();
+  ::java::lang::Object * previous();
+  void add(::java::lang::Object *);
+  void set(::java::lang::Object *);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount;
+  jint index;
+  jint size;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ExtensionList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ExtensionList$ExtensionsIterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/ExtensionList.h b/libjava/gnu/javax/net/ssl/provider/ExtensionList.h
new file mode 100644
index 000000000..c4235f366
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ExtensionList.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ExtensionList__
+#define __gnu_javax_net_ssl_provider_ExtensionList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Extension;
+              class Extension$Type;
+              class ExtensionList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ExtensionList : public ::java::lang::Object
+{
+
+public:
+  ExtensionList(::java::nio::ByteBuffer *);
+  ExtensionList(::java::util::List *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::gnu::javax::net::ssl::provider::Extension * get(jint);
+  virtual jint size();
+  virtual jint length();
+  virtual void set(jint, ::gnu::javax::net::ssl::provider::Extension *);
+  virtual void set(jint, ::gnu::javax::net::ssl::provider::Extension$Type *, jint);
+  virtual void setLength(jint);
+  virtual ::java::util::Iterator * iterator();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually package-private
+  static jint access$0(::gnu::javax::net::ssl::provider::ExtensionList *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+  jint modCount;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ExtensionList__
diff --git a/libjava/gnu/javax/net/ssl/provider/Finished.h b/libjava/gnu/javax/net/ssl/provider/Finished.h
new file mode 100644
index 000000000..37e01c4c7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Finished.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Finished__
+#define __gnu_javax_net_ssl_provider_Finished__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Finished;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Finished : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Finished(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+public:
+  jint length();
+public: // actually package-private
+  JArray< jbyte > * verifyData();
+  JArray< jbyte > * md5Hash();
+  JArray< jbyte > * shaHash();
+  void setVerifyData(JArray< jbyte > *, jint);
+  void setMD5Hash(JArray< jbyte > *, jint);
+  void setShaHash(JArray< jbyte > *, jint);
+public:
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * version;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Finished__
diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h b/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h
new file mode 100644
index 000000000..8fe4e8515
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Handshake$Body.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Handshake$Body__
+#define __gnu_javax_net_ssl_provider_Handshake$Body__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Handshake$Body;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Handshake$Body : public ::java::lang::Object
+{
+
+public:
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_provider_Handshake$Body__
diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h b/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h
new file mode 100644
index 000000000..1296e2462
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Handshake$Type.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Handshake$Type__
+#define __gnu_javax_net_ssl_provider_Handshake$Type__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Handshake$Type;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Handshake$Type : public ::java::lang::Enum
+{
+
+  Handshake$Type(::java::lang::String *, jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * forInteger(jint);
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::Handshake$Type * > * values();
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * HELLO_REQUEST;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CLIENT_HELLO;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_HELLO;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_REQUEST;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * SERVER_HELLO_DONE;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_VERIFY;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CLIENT_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * FINISHED;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_URL;
+  static ::gnu::javax::net::ssl::provider::Handshake$Type * CERTIFICATE_STATUS;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::Handshake$Type * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Handshake$Type__
diff --git a/libjava/gnu/javax/net/ssl/provider/Handshake.h b/libjava/gnu/javax/net/ssl/provider/Handshake.h
new file mode 100644
index 000000000..498e377c7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Handshake.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Handshake__
+#define __gnu_javax_net_ssl_provider_Handshake__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class Handshake;
+              class Handshake$Body;
+              class Handshake$Type;
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Handshake : public ::java::lang::Object
+{
+
+public:
+  Handshake(::java::nio::ByteBuffer *);
+  Handshake(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  ::gnu::javax::net::ssl::provider::Handshake$Type * type();
+  jint length();
+  ::gnu::javax::net::ssl::provider::Handshake$Body * body();
+  ::java::nio::ByteBuffer * bodyBuffer();
+  void setType(::gnu::javax::net::ssl::provider::Handshake$Type *);
+  void setLength(jint);
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+public: // actually package-private
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Handshake$Type();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::CipherSuite * suite;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * version;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Handshake$Type__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Handshake__
diff --git a/libjava/gnu/javax/net/ssl/provider/HelloRequest.h b/libjava/gnu/javax/net/ssl/provider/HelloRequest.h
new file mode 100644
index 000000000..32ff951a3
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/HelloRequest.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_HelloRequest__
+#define __gnu_javax_net_ssl_provider_HelloRequest__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class HelloRequest;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::HelloRequest : public ::java::lang::Object
+{
+
+public:
+  HelloRequest();
+  ::java::lang::String * toString(::java::lang::String *);
+  jint length();
+  ::java::lang::String * toString();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_HelloRequest__
diff --git a/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h
new file mode 100644
index 000000000..2881a0f12
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/InputSecurityParameters.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_InputSecurityParameters__
+#define __gnu_javax_net_ssl_provider_InputSecurityParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace java
+    {
+      namespace security
+      {
+        namespace util
+        {
+            class ByteBufferOutputStream;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class InputSecurityParameters;
+              class Record;
+              class SessionImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class Cipher;
+        class Mac;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::InputSecurityParameters : public ::java::lang::Object
+{
+
+public:
+  InputSecurityParameters(::javax::crypto::Cipher *, ::javax::crypto::Mac *, ::java::util::zip::Inflater *, ::gnu::javax::net::ssl::provider::SessionImpl *, ::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual jint decrypt(::gnu::javax::net::ssl::provider::Record *, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+  virtual jint decrypt(::gnu::javax::net::ssl::provider::Record *, ::gnu::java::security::util::ByteBufferOutputStream *);
+private:
+  jint decrypt(::gnu::javax::net::ssl::provider::Record *, JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::gnu::java::security::util::ByteBufferOutputStream *);
+public: // actually package-private
+  virtual ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite();
+private:
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher;
+  ::javax::crypto::Mac * mac;
+  ::java::util::zip::Inflater * inflater;
+  ::gnu::javax::net::ssl::provider::SessionImpl * session;
+  ::gnu::javax::net::ssl::provider::CipherSuite * suite;
+  jlong sequence;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_InputSecurityParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/Jessie$1.h b/libjava/gnu/javax/net/ssl/provider/Jessie$1.h
new file mode 100644
index 000000000..b42a62778
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Jessie$1.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Jessie$1__
+#define __gnu_javax_net_ssl_provider_Jessie$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Jessie;
+              class Jessie$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Jessie$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Jessie$1(::gnu::javax::net::ssl::provider::Jessie *);
+public:
+  virtual ::java::lang::Object * run();
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::Jessie * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Jessie$1__
diff --git a/libjava/gnu/javax/net/ssl/provider/Jessie.h b/libjava/gnu/javax/net/ssl/provider/Jessie.h
new file mode 100644
index 000000000..3f0cf9c7d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Jessie.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Jessie__
+#define __gnu_javax_net_ssl_provider_Jessie__
+
+#pragma interface
+
+#include <java/security/Provider.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Jessie;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Jessie : public ::java::security::Provider
+{
+
+public:
+  Jessie();
+private:
+  static const jlong serialVersionUID = -1LL;
+public:
+  static ::java::lang::String * VERSION;
+  static jdouble VERSION_DOUBLE;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Jessie__
diff --git a/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h
new file mode 100644
index 000000000..60dec2ad7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/KeyExchangeAlgorithm.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__
+#define __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::KeyExchangeAlgorithm : public ::java::lang::Enum
+{
+
+  KeyExchangeAlgorithm(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * > * values();
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * NONE;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * RSA;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_DSS;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_RSA;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DH_anon;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_DSS;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_RSA;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * PSK;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * DHE_PSK;
+  static ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * RSA_PSK;
+private:
+  static JArray< ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_KeyExchangeAlgorithm__
diff --git a/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h
new file mode 100644
index 000000000..792612185
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/MacAlgorithm.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_MacAlgorithm__
+#define __gnu_javax_net_ssl_provider_MacAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class MacAlgorithm;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::MacAlgorithm : public ::java::lang::Enum
+{
+
+  MacAlgorithm(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::MacAlgorithm * > * values();
+  static ::gnu::javax::net::ssl::provider::MacAlgorithm * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::MacAlgorithm * NULL;
+  static ::gnu::javax::net::ssl::provider::MacAlgorithm * MD5;
+  static ::gnu::javax::net::ssl::provider::MacAlgorithm * SHA;
+private:
+  static JArray< ::gnu::javax::net::ssl::provider::MacAlgorithm * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_MacAlgorithm__
diff --git a/libjava/gnu/javax/net/ssl/provider/MacException.h b/libjava/gnu/javax/net/ssl/provider/MacException.h
new file mode 100644
index 000000000..b1707eed1
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/MacException.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_MacException__
+#define __gnu_javax_net_ssl_provider_MacException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class MacException;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::MacException : public ::java::io::IOException
+{
+
+public: // actually package-private
+  MacException();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_MacException__
diff --git a/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h b/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h
new file mode 100644
index 000000000..81c1aca44
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/MaxFragmentLength.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_MaxFragmentLength__
+#define __gnu_javax_net_ssl_provider_MaxFragmentLength__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class MaxFragmentLength;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::MaxFragmentLength : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+  MaxFragmentLength(jint, jint);
+public:
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint length();
+  virtual jint getValue();
+  virtual jint maxLength();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_9;
+  static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_10;
+  static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_11;
+  static ::gnu::javax::net::ssl::provider::MaxFragmentLength * LEN_2_12;
+private:
+  jint __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) value;
+  jint length__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_MaxFragmentLength__
diff --git a/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h b/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h
new file mode 100644
index 000000000..7bb774bea
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/OutputSecurityParameters.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_OutputSecurityParameters__
+#define __gnu_javax_net_ssl_provider_OutputSecurityParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class ContentType;
+              class OutputSecurityParameters;
+              class SessionImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class Cipher;
+        class Mac;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::OutputSecurityParameters : public ::java::lang::Object
+{
+
+public:
+  OutputSecurityParameters(::javax::crypto::Cipher *, ::javax::crypto::Mac *, ::java::util::zip::Deflater *, ::gnu::javax::net::ssl::provider::SessionImpl *, ::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual JArray< jint > * encrypt(JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::gnu::javax::net::ssl::provider::ContentType *, ::java::nio::ByteBuffer *);
+public: // actually package-private
+  virtual ::gnu::javax::net::ssl::provider::CipherSuite * suite();
+private:
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  ::javax::crypto::Cipher * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cipher;
+  ::javax::crypto::Mac * mac;
+  ::java::util::zip::Deflater * deflater;
+  ::gnu::javax::net::ssl::provider::SessionImpl * session;
+  ::gnu::javax::net::ssl::provider::CipherSuite * suite__;
+  jlong sequence;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_OutputSecurityParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h
new file mode 100644
index 000000000..7c8ceace8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl$Manager.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__
+#define __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class PreSharedKeyManagerFactoryImpl;
+              class PreSharedKeyManagerFactoryImpl$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl$Manager : public ::java::lang::Object
+{
+
+public: // actually package-private
+  PreSharedKeyManagerFactoryImpl$Manager(::gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl *);
+public:
+  virtual ::javax::crypto::SecretKey * getKey(::java::lang::String *);
+  virtual ::java::lang::String * chooseIdentityHint();
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl$Manager__
diff --git a/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h
new file mode 100644
index 000000000..4e267db76
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/PreSharedKeyManagerFactoryImpl.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__
+#define __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/KeyManagerFactorySpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class PreSharedKeyManagerParameters;
+          namespace provider
+          {
+              class PreSharedKeyManagerFactoryImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyStore;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class KeyManager;
+          class ManagerFactoryParameters;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::PreSharedKeyManagerFactoryImpl : public ::javax::net::ssl::KeyManagerFactorySpi
+{
+
+public:
+  PreSharedKeyManagerFactoryImpl();
+public: // actually protected
+  virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers();
+  virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *);
+  virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *);
+public: // actually package-private
+  ::gnu::javax::net::ssl::PreSharedKeyManagerParameters * __attribute__((aligned(__alignof__( ::javax::net::ssl::KeyManagerFactorySpi)))) params;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_PreSharedKeyManagerFactoryImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h b/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h
new file mode 100644
index 000000000..79230e257
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ProtocolVersion.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ProtocolVersion__
+#define __gnu_javax_net_ssl_provider_ProtocolVersion__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ProtocolVersion;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ProtocolVersion : public ::java::lang::Object
+{
+
+  ProtocolVersion(jint, jint);
+public:
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * read(::java::io::InputStream *);
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * forName(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * getInstance(jint, jint);
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * getInstance(jshort);
+  jint length();
+  JArray< jbyte > * getEncoded();
+  jint major();
+  jint minor();
+  jint rawValue();
+  jboolean equals(::java::lang::Object *);
+  jint hashCode();
+  jint ProtocolVersion$compareTo(::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  ::java::lang::String * toString(::java::lang::String *);
+  ::java::lang::String * toString();
+  jint compareTo(::java::lang::Object *);
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * SSL_3;
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * TLS_1;
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * TLS_1_1;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) major__;
+  jint minor__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ProtocolVersion__
diff --git a/libjava/gnu/javax/net/ssl/provider/Random.h b/libjava/gnu/javax/net/ssl/provider/Random.h
new file mode 100644
index 000000000..1553624d0
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Random.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Random__
+#define __gnu_javax_net_ssl_provider_Random__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Random;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Random : public ::java::lang::Object
+{
+
+public:
+  Random(::java::nio::ByteBuffer *);
+  virtual ::gnu::javax::net::ssl::provider::Random * copy();
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint gmtUnixTime();
+  virtual JArray< jbyte > * randomBytes();
+  virtual void setGmtUnixTime(jint);
+  virtual void setRandomBytes(JArray< jbyte > *);
+  virtual void setRandomBytes(JArray< jbyte > *, jint);
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  virtual ::java::lang::String * toString();
+public: // actually package-private
+  static const jint RANDOM_LENGTH = 28;
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Random__
diff --git a/libjava/gnu/javax/net/ssl/provider/Record.h b/libjava/gnu/javax/net/ssl/provider/Record.h
new file mode 100644
index 000000000..59f904154
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Record.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Record__
+#define __gnu_javax_net_ssl_provider_Record__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ContentType;
+              class ProtocolVersion;
+              class Record;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Record : public ::java::lang::Object
+{
+
+public:
+  Record(::java::nio::ByteBuffer *);
+  virtual ::gnu::javax::net::ssl::provider::ContentType * getContentType();
+  virtual ::gnu::javax::net::ssl::provider::ContentType * contentType();
+  virtual jint fragment(::java::nio::ByteBuffer *);
+  virtual ::java::nio::ByteBuffer * fragment();
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version();
+  virtual void setContentType(::gnu::javax::net::ssl::provider::ContentType *);
+  virtual void setLength(jint);
+  virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Record__
diff --git a/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h
new file mode 100644
index 000000000..942542685
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory$Manager.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__
+#define __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace sasl
+        {
+          namespace srp
+          {
+              class PasswordFile;
+          }
+        }
+      }
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SRPTrustManagerFactory;
+              class SRPTrustManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace security
+    {
+        class KeyPair;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SRPTrustManagerFactory$Manager : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SRPTrustManagerFactory$Manager(::gnu::javax::net::ssl::provider::SRPTrustManagerFactory *, ::gnu::javax::crypto::sasl::srp::PasswordFile *);
+public:
+  virtual jboolean contains(::java::lang::String *);
+  virtual ::java::security::KeyPair * getKeyPair(::java::lang::String *);
+  virtual JArray< jbyte > * getSalt(::java::lang::String *);
+  virtual ::java::math::BigInteger * getVerifier(::java::lang::String *);
+  virtual ::gnu::javax::crypto::sasl::srp::PasswordFile * getPasswordFile();
+private:
+  ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) file;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::SRPTrustManagerFactory * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SRPTrustManagerFactory$Manager__
diff --git a/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h
new file mode 100644
index 000000000..a1f10fb44
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SRPTrustManagerFactory.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__
+#define __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__
+
+#pragma interface
+
+#include <javax/net/ssl/TrustManagerFactorySpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SRPTrustManagerFactory;
+              class SRPTrustManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyStore;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class ManagerFactoryParameters;
+          class TrustManager;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SRPTrustManagerFactory : public ::javax::net::ssl::TrustManagerFactorySpi
+{
+
+public:
+  SRPTrustManagerFactory();
+public: // actually protected
+  virtual JArray< ::javax::net::ssl::TrustManager * > * engineGetTrustManagers();
+  virtual void engineInit(::java::security::KeyStore *);
+  virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *);
+private:
+  ::gnu::javax::net::ssl::provider::SRPTrustManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::TrustManagerFactorySpi)))) current;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SRPTrustManagerFactory__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h
new file mode 100644
index 000000000..bdb7e8038
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLContextImpl.h
@@ -0,0 +1,88 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLContextImpl__
+#define __gnu_javax_net_ssl_provider_SSLContextImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLContextSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class AbstractSessionContext;
+            class PreSharedKeyManager;
+            class SRPTrustManager;
+          namespace provider
+          {
+              class SSLContextImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class SecureRandom;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class KeyManager;
+          class SSLEngine;
+          class SSLServerSocketFactory;
+          class SSLSessionContext;
+          class SSLSocketFactory;
+          class TrustManager;
+          class X509ExtendedKeyManager;
+          class X509TrustManager;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLContextImpl : public ::javax::net::ssl::SSLContextSpi
+{
+
+public:
+  SSLContextImpl();
+public: // actually protected
+  ::javax::net::ssl::SSLEngine * engineCreateSSLEngine();
+  ::javax::net::ssl::SSLEngine * engineCreateSSLEngine(::java::lang::String *, jint);
+  ::javax::net::ssl::SSLSessionContext * engineGetClientSessionContext();
+  ::javax::net::ssl::SSLSessionContext * engineGetServerSessionContext();
+  ::javax::net::ssl::SSLServerSocketFactory * engineGetServerSocketFactory();
+  ::javax::net::ssl::SSLSocketFactory * engineGetSocketFactory();
+  void engineInit(JArray< ::javax::net::ssl::KeyManager * > *, JArray< ::javax::net::ssl::TrustManager * > *, ::java::security::SecureRandom *);
+private:
+  ::javax::net::ssl::X509ExtendedKeyManager * defaultKeyManager();
+  ::javax::net::ssl::X509TrustManager * defaultTrustManager();
+  ::java::security::SecureRandom * defaultRandom();
+public: // actually package-private
+  ::gnu::javax::net::ssl::AbstractSessionContext * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLContextSpi)))) serverContext;
+  ::gnu::javax::net::ssl::AbstractSessionContext * clientContext;
+  ::gnu::javax::net::ssl::PreSharedKeyManager * pskManager;
+  ::javax::net::ssl::X509ExtendedKeyManager * keyManager;
+  ::javax::net::ssl::X509TrustManager * trustManager;
+  ::gnu::javax::net::ssl::SRPTrustManager * srpTrustManager;
+  ::java::security::SecureRandom * random;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLContextImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h
new file mode 100644
index 000000000..a2a8163b8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl$Mode.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__
+#define __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLEngineImpl$Mode;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLEngineImpl$Mode : public ::java::lang::Enum
+{
+
+  SSLEngineImpl$Mode(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * > * values();
+  static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * SERVER;
+  static ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * CLIENT;
+private:
+  static JArray< ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLEngineImpl$Mode__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h
new file mode 100644
index 000000000..f62525cc0
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLEngineImpl.h
@@ -0,0 +1,128 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLEngineImpl__
+#define __gnu_javax_net_ssl_provider_SSLEngineImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLEngine.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class SSLRecordHandler;
+          namespace provider
+          {
+              class AbstractHandshake;
+              class Alert;
+              class InputSecurityParameters;
+              class OutputSecurityParameters;
+              class SSLContextImpl;
+              class SSLEngineImpl;
+              class SSLEngineImpl$Mode;
+              class SessionImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLEngineResult;
+          class SSLEngineResult$HandshakeStatus;
+          class SSLSession;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLEngineImpl : public ::javax::net::ssl::SSLEngine
+{
+
+public: // actually package-private
+  SSLEngineImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint);
+  static JArray< ::java::lang::String * > * defaultSuites();
+public:
+  void beginHandshake();
+  void closeInbound();
+  void closeOutbound();
+  ::java::lang::Runnable * getDelegatedTask();
+  JArray< ::java::lang::String * > * getEnabledCipherSuites();
+  JArray< ::java::lang::String * > * getEnabledProtocols();
+  jboolean getEnableSessionCreation();
+  ::javax::net::ssl::SSLEngineResult$HandshakeStatus * getHandshakeStatus();
+  jboolean getNeedClientAuth();
+  ::javax::net::ssl::SSLSession * getSession();
+  jboolean getUseClientMode();
+  jboolean getWantClientAuth();
+  jboolean isInboundDone();
+  jboolean isOutboundDone();
+  void setEnableSessionCreation(jboolean);
+  void setEnabledCipherSuites(JArray< ::java::lang::String * > *);
+  void setEnabledProtocols(JArray< ::java::lang::String * > *);
+  JArray< ::java::lang::String * > * getSupportedCipherSuites();
+  JArray< ::java::lang::String * > * getSupportedProtocols();
+  void setNeedClientAuth(jboolean);
+  void setUseClientMode(jboolean);
+  void setWantClientAuth(jboolean);
+  ::javax::net::ssl::SSLEngineResult * unwrap(::java::nio::ByteBuffer *, JArray< ::java::nio::ByteBuffer * > *, jint, jint);
+  ::javax::net::ssl::SSLEngineResult * wrap(JArray< ::java::nio::ByteBuffer * > *, jint, jint, ::java::nio::ByteBuffer *);
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::SessionImpl * session();
+  void setSession(::gnu::javax::net::ssl::provider::SessionImpl *);
+  void changeCipherSpec();
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SSLEngineImpl$Mode();
+  ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLEngine)))) contextImpl;
+private:
+  JArray< ::gnu::javax::net::ssl::SSLRecordHandler * > * handlers;
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  ::gnu::javax::net::ssl::provider::SessionImpl * session__;
+  ::gnu::javax::net::ssl::provider::InputSecurityParameters * insec;
+  ::gnu::javax::net::ssl::provider::OutputSecurityParameters * outsec;
+  jboolean inClosed;
+  jboolean outClosed;
+  jboolean createSessions;
+  jboolean needClientAuth;
+  jboolean wantClientAuth;
+  jboolean initialHandshakeDone;
+  ::gnu::javax::net::ssl::provider::AbstractHandshake * handshake;
+  ::gnu::javax::net::ssl::provider::Alert * lastAlert;
+  ::javax::net::ssl::SSLEngineResult$HandshakeStatus * handshakeStatus;
+  jboolean changeCipherSpec__;
+  JArray< ::java::lang::String * > * enabledSuites;
+  JArray< ::java::lang::String * > * enabledProtocols;
+  ::java::nio::ByteBuffer * alertBuffer;
+  ::gnu::javax::net::ssl::provider::SSLEngineImpl$Mode * mode;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SSLEngineImpl$Mode__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLEngineImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLHMac.h b/libjava/gnu/javax/net/ssl/provider/SSLHMac.h
new file mode 100644
index 000000000..7e9ad36ea
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLHMac.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLHMac__
+#define __gnu_javax_net_ssl_provider_SSLHMac__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLHMac;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLHMac : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SSLHMac(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * clone();
+  virtual ::java::lang::String * name();
+  virtual jint macSize();
+  virtual void init(::java::util::Map *);
+  virtual void reset();
+  virtual JArray< jbyte > * digest();
+  virtual void update(jbyte);
+  virtual void update(JArray< jbyte > *, jint, jint);
+  virtual jboolean selfTest();
+public: // actually package-private
+  static const jbyte PAD1 = 54;
+  static const jbyte PAD2 = 92;
+public: // actually protected
+  ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) md;
+  JArray< jbyte > * key;
+  JArray< jbyte > * pad1;
+  JArray< jbyte > * pad2;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLHMac__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h
new file mode 100644
index 000000000..26da5be52
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLRSASignatureImpl.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__
+#define __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__
+
+#pragma interface
+
+#include <java/security/SignatureSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLRSASignatureImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class MessageDigest;
+        class PrivateKey;
+        class PublicKey;
+      namespace interfaces
+      {
+          class RSAPrivateKey;
+          class RSAPublicKey;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLRSASignatureImpl : public ::java::security::SignatureSpi
+{
+
+public:
+  SSLRSASignatureImpl();
+public: // actually protected
+  virtual void engineInitVerify(::java::security::PublicKey *);
+  virtual void engineInitSign(::java::security::PrivateKey *);
+  virtual void engineUpdate(jbyte);
+  virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+  virtual JArray< jbyte > * engineSign();
+  virtual jboolean engineVerify(JArray< jbyte > *);
+  virtual void engineSetParameter(::java::lang::String *, ::java::lang::Object *);
+  virtual ::java::lang::Object * engineGetParameter(::java::lang::String *);
+private:
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  ::java::security::interfaces::RSAPublicKey * __attribute__((aligned(__alignof__( ::java::security::SignatureSpi)))) pubkey;
+  ::java::security::interfaces::RSAPrivateKey * privkey;
+  ::java::security::MessageDigest * md5;
+  ::java::security::MessageDigest * sha;
+  jboolean initSign;
+  jboolean initVerify;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLRSASignatureImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLRandom.h b/libjava/gnu/javax/net/ssl/provider/SSLRandom.h
new file mode 100644
index 000000000..1a4abf1fd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLRandom.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLRandom__
+#define __gnu_javax_net_ssl_provider_SSLRandom__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLRandom;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLRandom : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SSLRandom();
+public:
+  virtual void init(::java::util::Map *);
+  virtual ::java::lang::String * name();
+  virtual ::java::lang::Object * clone();
+  virtual jbyte nextByte();
+  virtual void nextBytes(JArray< jbyte > *, jint, jint);
+  virtual jboolean selfTest();
+  virtual void addRandomByte(jbyte);
+  virtual void addRandomBytes(JArray< jbyte > *);
+  virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+private:
+  JArray< jbyte > * nextBlock();
+public: // actually package-private
+  static ::java::lang::String * SECRET;
+  static ::java::lang::String * SEED;
+private:
+  ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) md5;
+  ::gnu::java::security::hash::IMessageDigest * sha;
+  JArray< jbyte > * secret;
+  JArray< jbyte > * buffer;
+  jbyte pad;
+  JArray< jbyte > * seed;
+  jint idx;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLRandom__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h
new file mode 100644
index 000000000..411d009a5
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketFactoryImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__
+#define __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLServerSocketFactory.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLContextImpl;
+              class SSLServerSocketFactoryImpl;
+              class SSLServerSocketImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class InetAddress;
+        class ServerSocket;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLServerSocketFactoryImpl : public ::javax::net::ssl::SSLServerSocketFactory
+{
+
+public:
+  SSLServerSocketFactoryImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *);
+  virtual JArray< ::java::lang::String * > * getDefaultCipherSuites();
+  virtual JArray< ::java::lang::String * > * getSupportedCipherSuites();
+  virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * SSLServerSocketFactoryImpl$createServerSocket(jint);
+  virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * SSLServerSocketFactoryImpl$createServerSocket(jint, jint);
+  virtual ::gnu::javax::net::ssl::provider::SSLServerSocketImpl * SSLServerSocketFactoryImpl$createServerSocket(jint, jint, ::java::net::InetAddress *);
+  virtual ::java::net::ServerSocket * createServerSocket(jint, jint, ::java::net::InetAddress *);
+  virtual ::java::net::ServerSocket * createServerSocket(jint, jint);
+  virtual ::java::net::ServerSocket * createServerSocket(jint);
+private:
+  ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocketFactory)))) contextImpl;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLServerSocketFactoryImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h
new file mode 100644
index 000000000..3302defad
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLServerSocketImpl.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLServerSocketImpl__
+#define __gnu_javax_net_ssl_provider_SSLServerSocketImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLServerSocket.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLContextImpl;
+              class SSLServerSocketImpl;
+              class SSLSocketImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class Socket;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLServerSocketImpl : public ::javax::net::ssl::SSLServerSocket
+{
+
+public:
+  SSLServerSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *);
+  virtual jboolean getEnableSessionCreation();
+  virtual JArray< ::java::lang::String * > * getEnabledCipherSuites();
+  virtual JArray< ::java::lang::String * > * getEnabledProtocols();
+  virtual jboolean getNeedClientAuth();
+  virtual JArray< ::java::lang::String * > * getSupportedCipherSuites();
+  virtual JArray< ::java::lang::String * > * getSupportedProtocols();
+  virtual jboolean getUseClientMode();
+  virtual jboolean getWantClientAuth();
+  virtual void setEnableSessionCreation(jboolean);
+  virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *);
+  virtual void setEnabledProtocols(JArray< ::java::lang::String * > *);
+  virtual void setNeedClientAuth(jboolean);
+  virtual void setUseClientMode(jboolean);
+  virtual void setWantClientAuth(jboolean);
+  virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * SSLServerSocketImpl$accept();
+  virtual ::java::net::Socket * accept();
+private:
+  ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLServerSocket)))) contextImpl;
+  jboolean enableSessionCreation;
+  JArray< ::java::lang::String * > * enabledCipherSuites;
+  JArray< ::java::lang::String * > * enabledProtocols;
+  jboolean needClientAuth;
+  jboolean wantClientAuth;
+  jboolean clientMode;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLServerSocketImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h
new file mode 100644
index 000000000..c0263bea1
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketFactoryImpl.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__
+#define __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLSocketFactory.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLContextImpl;
+              class SSLSocketFactoryImpl;
+              class SSLSocketImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class InetAddress;
+        class Socket;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLSocketFactoryImpl : public ::javax::net::ssl::SSLSocketFactory
+{
+
+public:
+  SSLSocketFactoryImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *);
+  virtual ::java::net::Socket * createSocket(::java::net::Socket *, ::java::lang::String *, jint, jboolean);
+  virtual JArray< ::java::lang::String * > * getDefaultCipherSuites();
+  virtual JArray< ::java::lang::String * > * getSupportedCipherSuites();
+  virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * SSLSocketFactoryImpl$createSocket(::java::lang::String *, jint);
+  virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * SSLSocketFactoryImpl$createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint);
+  virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * SSLSocketFactoryImpl$createSocket(::java::net::InetAddress *, jint);
+  virtual ::gnu::javax::net::ssl::provider::SSLSocketImpl * SSLSocketFactoryImpl$createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint);
+  virtual ::java::net::Socket * createSocket();
+  virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint, ::java::net::InetAddress *, jint);
+  virtual ::java::net::Socket * createSocket(::java::net::InetAddress *, jint);
+  virtual ::java::net::Socket * createSocket(::java::lang::String *, jint, ::java::net::InetAddress *, jint);
+  virtual ::java::net::Socket * createSocket(::java::lang::String *, jint);
+private:
+  ::gnu::javax::net::ssl::provider::SSLContextImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocketFactory)))) contextImpl;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLSocketFactoryImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h
new file mode 100644
index 000000000..3df91212b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$1.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$1__
+#define __gnu_javax_net_ssl_provider_SSLSocketImpl$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLSocketImpl;
+              class SSLSocketImpl$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLSocketImpl$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SSLSocketImpl$1(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+public:
+  virtual void run();
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::SSLSocketImpl * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$1__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h
new file mode 100644
index 000000000..3ad9ae0da
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketInputStream.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__
+#define __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__
+
+#pragma interface
+
+#include <java/io/InputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLSocketImpl;
+              class SSLSocketImpl$SocketInputStream;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLSocketImpl$SocketInputStream : public ::java::io::InputStream
+{
+
+public: // actually package-private
+  SSLSocketImpl$SocketInputStream(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+public:
+  virtual jint read(JArray< jbyte > *, jint, jint);
+  virtual jint read();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::InputStream)))) inBuffer;
+  ::java::nio::ByteBuffer * appBuffer;
+  ::java::io::DataInputStream * in;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::SSLSocketImpl * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketInputStream__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h
new file mode 100644
index 000000000..987eaf813
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl$SocketOutputStream.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__
+#define __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__
+
+#pragma interface
+
+#include <java/io/OutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLSocketImpl;
+              class SSLSocketImpl$SocketOutputStream;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLSocketImpl$SocketOutputStream : public ::java::io::OutputStream
+{
+
+public: // actually package-private
+  SSLSocketImpl$SocketOutputStream(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+public:
+  virtual void write(JArray< jbyte > *, jint, jint);
+  virtual void write(jint);
+  virtual void close();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::io::OutputStream)))) buffer;
+  ::java::io::OutputStream * out;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::SSLSocketImpl * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl$SocketOutputStream__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h
new file mode 100644
index 000000000..309706bba
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLSocketImpl.h
@@ -0,0 +1,160 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLSocketImpl__
+#define __gnu_javax_net_ssl_provider_SSLSocketImpl__
+
+#pragma interface
+
+#include <javax/net/ssl/SSLSocket.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+      namespace debug
+      {
+          class SystemLogger;
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLContextImpl;
+              class SSLEngineImpl;
+              class SSLSocketImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class InetAddress;
+        class Socket;
+        class SocketAddress;
+    }
+    namespace nio
+    {
+      namespace channels
+      {
+          class SocketChannel;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class HandshakeCompletedListener;
+          class SSLSession;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLSocketImpl : public ::javax::net::ssl::SSLSocket
+{
+
+public:
+  SSLSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint);
+  SSLSocketImpl(::gnu::javax::net::ssl::provider::SSLContextImpl *, ::java::lang::String *, jint, ::java::net::Socket *, jboolean);
+  virtual void addHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *);
+  virtual jboolean getEnableSessionCreation();
+  virtual JArray< ::java::lang::String * > * getEnabledCipherSuites();
+  virtual JArray< ::java::lang::String * > * getEnabledProtocols();
+  virtual jboolean getNeedClientAuth();
+  virtual ::javax::net::ssl::SSLSession * getSession();
+  virtual JArray< ::java::lang::String * > * getSupportedCipherSuites();
+  virtual JArray< ::java::lang::String * > * getSupportedProtocols();
+  virtual jboolean getUseClientMode();
+  virtual jboolean getWantClientAuth();
+  virtual void removeHandshakeCompletedListener(::javax::net::ssl::HandshakeCompletedListener *);
+  virtual void setEnableSessionCreation(jboolean);
+  virtual void setEnabledCipherSuites(JArray< ::java::lang::String * > *);
+  virtual void setEnabledProtocols(JArray< ::java::lang::String * > *);
+  virtual void setNeedClientAuth(jboolean);
+  virtual void setUseClientMode(jboolean);
+  virtual void setWantClientAuth(jboolean);
+  virtual void startHandshake();
+public: // actually package-private
+  virtual void doHandshake();
+public:
+  virtual void bind(::java::net::SocketAddress *);
+  virtual void connect(::java::net::SocketAddress *);
+  virtual void connect(::java::net::SocketAddress *, jint);
+  virtual ::java::net::InetAddress * getInetAddress();
+  virtual ::java::net::InetAddress * getLocalAddress();
+  virtual jint getPort();
+  virtual jint getLocalPort();
+  virtual ::java::net::SocketAddress * getRemoteSocketAddress();
+  virtual ::java::net::SocketAddress * getLocalSocketAddress();
+  virtual ::java::nio::channels::SocketChannel * getChannel();
+  virtual ::java::io::InputStream * getInputStream();
+  virtual ::java::io::OutputStream * getOutputStream();
+  virtual void setTcpNoDelay(jboolean);
+  virtual jboolean getTcpNoDelay();
+  virtual void setSoLinger(jboolean, jint);
+  virtual jint getSoLinger();
+  virtual void sendUrgentData(jint);
+  virtual void setOOBInline(jboolean);
+  virtual jboolean getOOBInline();
+  virtual void setSoTimeout(jint);
+  virtual jint getSoTimeout();
+  virtual void setSendBufferSize(jint);
+  virtual jint getSendBufferSize();
+  virtual void setReceiveBufferSize(jint);
+  virtual jint getReceiveBufferSize();
+  virtual void setKeepAlive(jboolean);
+  virtual jboolean getKeepAlive();
+  virtual void setTrafficClass(jint);
+  virtual jint getTrafficClass();
+  virtual void setReuseAddress(jboolean);
+  virtual jboolean getReuseAddress();
+  virtual void close();
+  virtual void shutdownInput();
+  virtual void shutdownOutput();
+  virtual jboolean isConnected();
+  virtual jboolean isBound();
+  virtual jboolean isClosed();
+  virtual jboolean isInputShutdown();
+  virtual jboolean isOutputShutdown();
+public: // actually package-private
+  static ::java::net::Socket * access$0(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static ::java::io::OutputStream * access$1(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static jboolean access$2(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static ::gnu::javax::net::ssl::provider::SSLEngineImpl * access$3(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static ::java::io::IOException * access$4(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static ::java::io::InputStream * access$5(::gnu::javax::net::ssl::provider::SSLSocketImpl *);
+  static void access$6(::gnu::javax::net::ssl::provider::SSLSocketImpl *, ::java::io::IOException *);
+  static JArray< jint > * $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
+private:
+  static ::gnu::classpath::debug::SystemLogger * logger;
+  ::gnu::javax::net::ssl::provider::SSLEngineImpl * __attribute__((aligned(__alignof__( ::javax::net::ssl::SSLSocket)))) engine;
+  ::java::util::Set * listeners;
+  ::java::net::Socket * underlyingSocket;
+  jboolean isHandshaking;
+  ::java::io::IOException * handshakeException;
+  jboolean initialHandshakeDone;
+  jboolean autoClose;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+private:
+  static JArray< jint > * $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLSocketImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h
new file mode 100644
index 000000000..bdc243a42
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__
+#define __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__
+
+#pragma interface
+
+#include <javax/crypto/MacSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLHMac;
+              class SSLv3HMacMD5Impl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLv3HMacMD5Impl : public ::javax::crypto::MacSpi
+{
+
+public:
+  SSLv3HMacMD5Impl();
+public: // actually protected
+  virtual JArray< jbyte > * engineDoFinal();
+  virtual jint engineGetMacLength();
+  virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
+  virtual void engineReset();
+  virtual void engineUpdate(jbyte);
+  virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+private:
+  ::gnu::javax::net::ssl::provider::SSLHMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) adaptee;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLv3HMacMD5Impl__
diff --git a/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h
new file mode 100644
index 000000000..698d8803d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__
+#define __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__
+
+#pragma interface
+
+#include <javax/crypto/MacSpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SSLHMac;
+              class SSLv3HMacSHAImpl;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Key;
+      namespace spec
+      {
+          class AlgorithmParameterSpec;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SSLv3HMacSHAImpl : public ::javax::crypto::MacSpi
+{
+
+public:
+  SSLv3HMacSHAImpl();
+public: // actually protected
+  virtual JArray< jbyte > * engineDoFinal();
+  virtual jint engineGetMacLength();
+  virtual void engineInit(::java::security::Key *, ::java::security::spec::AlgorithmParameterSpec *);
+  virtual void engineReset();
+  virtual void engineUpdate(jbyte);
+  virtual void engineUpdate(JArray< jbyte > *, jint, jint);
+private:
+  ::gnu::javax::net::ssl::provider::SSLHMac * __attribute__((aligned(__alignof__( ::javax::crypto::MacSpi)))) adaptee;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SSLv3HMacSHAImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h
new file mode 100644
index 000000000..5d35d5cd9
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__
+#define __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerDHE_PSKParameters;
+              class ServerDHParams;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerDHE_PSKParameters : public ::java::lang::Object
+{
+
+public:
+  ServerDHE_PSKParameters(::java::nio::ByteBuffer *);
+  ServerDHE_PSKParameters(::java::lang::String *, ::gnu::javax::net::ssl::provider::ServerDHParams *);
+  ServerDHE_PSKParameters(::java::lang::String *, ::java::nio::ByteBuffer *);
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm();
+  virtual jint length();
+private:
+  jint hintLength();
+public:
+  virtual ::java::lang::String * identityHint();
+  virtual ::gnu::javax::net::ssl::provider::ServerDHParams * params();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerDHE_PSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h b/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h
new file mode 100644
index 000000000..9585ab8fa
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerDHParams.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerDHParams__
+#define __gnu_javax_net_ssl_provider_ServerDHParams__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerDHParams;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerDHParams : public ::java::lang::Object
+{
+
+public:
+  ServerDHParams(::java::nio::ByteBuffer *);
+  ServerDHParams(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::math::BigInteger *);
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm();
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::math::BigInteger * p();
+  virtual ::java::math::BigInteger * g();
+  virtual ::java::math::BigInteger * y();
+  virtual void setP(::java::math::BigInteger *);
+  virtual void setG(::java::math::BigInteger *);
+  virtual void setY(::java::math::BigInteger *);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerDHParams__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h
new file mode 100644
index 000000000..270ea850e
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$CertLoader.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__
+#define __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHandshake;
+              class ServerHandshake$CertLoader;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake$CertLoader : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ServerHandshake$CertLoader(::gnu::javax::net::ssl::provider::ServerHandshake *);
+public:
+  virtual void implRun();
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ServerHandshake * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake$CertLoader__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h
new file mode 100644
index 000000000..35b1fdc23
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$GenDH.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__
+#define __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHandshake;
+              class ServerHandshake$GenDH;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake$GenDH : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+  ServerHandshake$GenDH(::gnu::javax::net::ssl::provider::ServerHandshake *);
+public: // actually protected
+  virtual void implRun();
+public: // actually package-private
+  ServerHandshake$GenDH(::gnu::javax::net::ssl::provider::ServerHandshake *, ::gnu::javax::net::ssl::provider::ServerHandshake$GenDH *);
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) paramsBuffer;
+  ::java::nio::ByteBuffer * sigBuffer;
+  ::gnu::javax::net::ssl::provider::ServerHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake$GenDH__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h
new file mode 100644
index 000000000..d3c84a735
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSAKeyExchange.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__
+#define __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHandshake;
+              class ServerHandshake$RSAKeyExchange;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake$RSAKeyExchange : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ServerHandshake$RSAKeyExchange(::gnu::javax::net::ssl::provider::ServerHandshake *, JArray< jbyte > *);
+public:
+  virtual void implRun();
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ServerHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake$RSAKeyExchange__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h
new file mode 100644
index 000000000..ef5374f76
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$RSA_PSKExchange.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__
+#define __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/DelegatedTask.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHandshake;
+              class ServerHandshake$RSA_PSKExchange;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SecretKey;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake$RSA_PSKExchange : public ::gnu::javax::net::ssl::provider::DelegatedTask
+{
+
+public: // actually package-private
+  ServerHandshake$RSA_PSKExchange(::gnu::javax::net::ssl::provider::ServerHandshake *, JArray< jbyte > *, ::javax::crypto::SecretKey *);
+public:
+  virtual void implRun();
+private:
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::DelegatedTask)))) encryptedPreMasterSecret;
+  ::javax::crypto::SecretKey * psKey;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ServerHandshake * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake$RSA_PSKExchange__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h
new file mode 100644
index 000000000..b993c0873
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake$State.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake$State__
+#define __gnu_javax_net_ssl_provider_ServerHandshake$State__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHandshake$State;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake$State : public ::java::lang::Enum
+{
+
+  ServerHandshake$State(::java::lang::String *, jint, jboolean, jboolean);
+public: // actually package-private
+  jboolean isReadState();
+  jboolean isWriteState();
+public:
+  static JArray< ::gnu::javax::net::ssl::provider::ServerHandshake$State * > * values();
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_HELLO_REQUEST;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_HELLO;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_CERTIFICATE_REQUEST;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_SERVER_HELLO_DONE;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * WRITE_FINISHED;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CLIENT_HELLO;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CERTIFICATE;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CLIENT_KEY_EXCHANGE;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_CERTIFICATE_VERIFY;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * READ_FINISHED;
+  static ::gnu::javax::net::ssl::provider::ServerHandshake$State * DONE;
+private:
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Enum)))) isWriteState__;
+  jboolean isReadState__;
+  static JArray< ::gnu::javax::net::ssl::provider::ServerHandshake$State * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake$State__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h b/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h
new file mode 100644
index 000000000..cf32a8da6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHandshake.h
@@ -0,0 +1,129 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHandshake__
+#define __gnu_javax_net_ssl_provider_ServerHandshake__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/AbstractHandshake.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class AbstractHandshake$CertVerifier;
+              class CipherSuite;
+              class CipherSuiteList;
+              class CompressionMethod;
+              class CompressionMethodList;
+              class DelegatedTask;
+              class ProtocolVersion;
+              class SSLEngineImpl;
+              class ServerHandshake;
+              class ServerHandshake$CertLoader;
+              class ServerHandshake$GenDH;
+              class ServerHandshake$State;
+              class ServerNameList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+    namespace security
+    {
+        class KeyPair;
+        class PrivateKey;
+      namespace cert
+      {
+          class X509Certificate;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLEngineResult$HandshakeStatus;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHandshake : public ::gnu::javax::net::ssl::provider::AbstractHandshake
+{
+
+public: // actually package-private
+  ServerHandshake(jboolean, ::gnu::javax::net::ssl::provider::SSLEngineImpl *);
+private:
+  static ::gnu::javax::net::ssl::provider::ProtocolVersion * chooseProtocol(::gnu::javax::net::ssl::provider::ProtocolVersion *, JArray< ::java::lang::String * > *);
+  ::gnu::javax::net::ssl::provider::CipherSuite * chooseSuite(::gnu::javax::net::ssl::provider::CipherSuiteList *, JArray< ::java::lang::String * > *, ::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  static ::gnu::javax::net::ssl::provider::CompressionMethod * chooseCompression(::gnu::javax::net::ssl::provider::CompressionMethodList *);
+public: // actually protected
+  virtual jboolean doHash();
+public:
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleInput();
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * implHandleOutput(::java::nio::ByteBuffer *);
+public: // actually package-private
+  virtual ::javax::net::ssl::SSLEngineResult$HandshakeStatus * status();
+  virtual void checkKeyExchange();
+  virtual void handleV2Hello(::java::nio::ByteBuffer *);
+private:
+  ::java::nio::ByteBuffer * signParams(::java::nio::ByteBuffer *);
+  void verifyClient(JArray< jbyte > *);
+public: // actually package-private
+  static void access$0(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::lang::String *);
+  static ::java::lang::String * access$1(::gnu::javax::net::ssl::provider::ServerHandshake *);
+  static void access$2(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::cert::X509Certificate *);
+  static void access$3(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::PrivateKey *);
+  static ::java::security::cert::X509Certificate * access$4(::gnu::javax::net::ssl::provider::ServerHandshake *);
+  static void access$5(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::security::KeyPair *);
+  static ::java::security::KeyPair * access$6(::gnu::javax::net::ssl::provider::ServerHandshake *);
+  static ::java::nio::ByteBuffer * access$7(::gnu::javax::net::ssl::provider::ServerHandshake *, ::java::nio::ByteBuffer *);
+  static ::java::security::PrivateKey * access$8(::gnu::javax::net::ssl::provider::ServerHandshake *);
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type();
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm();
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State();
+private:
+  ::gnu::javax::net::ssl::provider::ServerHandshake$State * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::AbstractHandshake)))) state;
+  ::java::nio::ByteBuffer * outBuffer;
+  jboolean clientHadExtensions;
+  jboolean continuedSession;
+  ::gnu::javax::net::ssl::provider::ServerNameList * requestedNames;
+  ::java::lang::String * keyAlias;
+  ::java::security::cert::X509Certificate * clientCert;
+  ::java::security::cert::X509Certificate * localCert;
+  jboolean helloV2;
+  ::java::security::KeyPair * dhPair;
+  ::java::security::PrivateKey * serverKey;
+  ::gnu::javax::net::ssl::provider::ServerHandshake$GenDH * genDH;
+  ::gnu::javax::net::ssl::provider::AbstractHandshake$CertVerifier * certVerifier;
+  ::gnu::javax::net::ssl::provider::ServerHandshake$CertLoader * certLoader;
+  ::gnu::javax::net::ssl::provider::DelegatedTask * keyExchangeTask;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$Extension$Type__;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$KeyExchangeAlgorithm__;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$ServerHandshake$State__;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHandshake__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHello.h b/libjava/gnu/javax/net/ssl/provider/ServerHello.h
new file mode 100644
index 000000000..a26dd829e
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHello.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHello__
+#define __gnu_javax_net_ssl_provider_ServerHello__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class CompressionMethod;
+              class ExtensionList;
+              class ProtocolVersion;
+              class Random;
+              class ServerHello;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHello : public ::java::lang::Object
+{
+
+public:
+  ServerHello(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ProtocolVersion * version();
+  virtual ::gnu::javax::net::ssl::provider::Random * random();
+  virtual JArray< jbyte > * sessionId();
+  virtual ::gnu::javax::net::ssl::provider::CipherSuite * cipherSuite();
+  virtual ::gnu::javax::net::ssl::provider::CompressionMethod * compressionMethod();
+  virtual jint extensionsLength();
+  virtual ::gnu::javax::net::ssl::provider::ExtensionList * extensions();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  static const jint RANDOM_OFFSET = 2;
+  static const jint SESSID_OFFSET = 34;
+  static const jint SESSID_OFFSET2 = 35;
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  jboolean disableExtensions;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHello__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h b/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h
new file mode 100644
index 000000000..8d55e6a12
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHelloBuilder.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHelloBuilder__
+#define __gnu_javax_net_ssl_provider_ServerHelloBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ServerHello.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class CompressionMethod;
+              class ProtocolVersion;
+              class ServerHelloBuilder;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHelloBuilder : public ::gnu::javax::net::ssl::provider::ServerHello
+{
+
+public:
+  ServerHelloBuilder();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setVersion(::gnu::javax::net::ssl::provider::ProtocolVersion *);
+  virtual void setSessionId(JArray< jbyte > *);
+  virtual void setSessionId(JArray< jbyte > *, jint, jint);
+  virtual void setCipherSuite(::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual void setCompressionMethod(::gnu::javax::net::ssl::provider::CompressionMethod *);
+  virtual void setDisableExtensions(jboolean);
+  virtual void setExtensionsLength(jint);
+  virtual void setExtensions(::java::nio::ByteBuffer *);
+  virtual void ensureCapacity(jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHelloBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h b/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h
new file mode 100644
index 000000000..51550c72a
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerHelloDone.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerHelloDone__
+#define __gnu_javax_net_ssl_provider_ServerHelloDone__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerHelloDone;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerHelloDone : public ::java::lang::Object
+{
+
+public:
+  ServerHelloDone();
+  virtual jint length();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerHelloDone__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h
new file mode 100644
index 000000000..04ec69c5c
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchange.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchange__
+#define __gnu_javax_net_ssl_provider_ServerKeyExchange__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class ServerKeyExchange;
+              class ServerKeyExchangeParams;
+              class Signature;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerKeyExchange : public ::java::lang::Object
+{
+
+public:
+  ServerKeyExchange(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual jint length();
+  virtual ::gnu::javax::net::ssl::provider::ServerKeyExchangeParams * params();
+  virtual ::gnu::javax::net::ssl::provider::Signature * signature();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+public: // actually protected
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::gnu::javax::net::ssl::provider::CipherSuite * suite;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerKeyExchange__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h
new file mode 100644
index 000000000..abc1363aa
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeBuilder.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__
+#define __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ServerKeyExchange.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class CipherSuite;
+              class ServerKeyExchangeBuilder;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerKeyExchangeBuilder : public ::gnu::javax::net::ssl::provider::ServerKeyExchange
+{
+
+public:
+  ServerKeyExchangeBuilder(::gnu::javax::net::ssl::provider::CipherSuite *);
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual void setParams(::java::nio::ByteBuffer *);
+  virtual void setSignature(::java::nio::ByteBuffer *);
+  virtual void ensureCapacity(jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerKeyExchangeBuilder__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h
new file mode 100644
index 000000000..4ff4d2079
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerKeyExchangeParams.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__
+#define __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerKeyExchangeParams;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerKeyExchangeParams : public ::java::lang::Object
+{
+
+public:
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm() = 0;
+  virtual jint length() = 0;
+  virtual ::java::lang::String * toString(::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_net_ssl_provider_ServerKeyExchangeParams__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h
new file mode 100644
index 000000000..6289bfdef
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$Iterator.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerNameList$Iterator__
+#define __gnu_javax_net_ssl_provider_ServerNameList$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerNameList;
+              class ServerNameList$Iterator;
+              class ServerNameList$ServerName;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerNameList$Iterator : public ::java::lang::Object
+{
+
+public:
+  ServerNameList$Iterator(::gnu::javax::net::ssl::provider::ServerNameList *);
+  virtual jboolean hasNext();
+  virtual ::gnu::javax::net::ssl::provider::ServerNameList$ServerName * ServerNameList$Iterator$next();
+  virtual void remove();
+  virtual ::java::lang::Object * next();
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::ServerNameList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerNameList$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h
new file mode 100644
index 000000000..363e89f7b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$NameType.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerNameList$NameType__
+#define __gnu_javax_net_ssl_provider_ServerNameList$NameType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerNameList$NameType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerNameList$NameType : public ::java::lang::Enum
+{
+
+  ServerNameList$NameType(::java::lang::String *, jint, jint);
+public:
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::ServerNameList$NameType * > * values();
+  static ::gnu::javax::net::ssl::provider::ServerNameList$NameType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::ServerNameList$NameType * HOST_NAME;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::ServerNameList$NameType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerNameList$NameType__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h
new file mode 100644
index 000000000..1aa13b417
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList$ServerName.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerNameList$ServerName__
+#define __gnu_javax_net_ssl_provider_ServerNameList$ServerName__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerNameList$NameType;
+              class ServerNameList$ServerName;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerNameList$ServerName : public ::java::lang::Object
+{
+
+public:
+  ServerNameList$ServerName(::java::nio::ByteBuffer *);
+  ServerNameList$ServerName(::gnu::javax::net::ssl::provider::ServerNameList$NameType *, ::java::lang::String *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::gnu::javax::net::ssl::provider::ServerNameList$NameType * type();
+  virtual ::java::lang::String * name();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerNameList$ServerName__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerNameList.h b/libjava/gnu/javax/net/ssl/provider/ServerNameList.h
new file mode 100644
index 000000000..a808e0d6b
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerNameList.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerNameList__
+#define __gnu_javax_net_ssl_provider_ServerNameList__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class ServerNameList;
+              class ServerNameList$ServerName;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerNameList : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  ServerNameList(::java::nio::ByteBuffer *);
+  ServerNameList(::java::util::List *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint size();
+  virtual ::gnu::javax::net::ssl::provider::ServerNameList$ServerName * get(jint);
+  virtual void setLength(jint);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  virtual ::java::util::Iterator * iterator();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerNameList__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h
new file mode 100644
index 000000000..bf1bc27dd
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerPSKParameters.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerPSKParameters__
+#define __gnu_javax_net_ssl_provider_ServerPSKParameters__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerPSKParameters;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerPSKParameters : public ::java::lang::Object
+{
+
+public:
+  ServerPSKParameters(::java::nio::ByteBuffer *);
+  ServerPSKParameters(::java::lang::String *);
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint length();
+  virtual ::java::lang::String * identityHint();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerPSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h b/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h
new file mode 100644
index 000000000..21201fe25
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerRSAParams.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerRSAParams__
+#define __gnu_javax_net_ssl_provider_ServerRSAParams__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerRSAParams;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerRSAParams : public ::java::lang::Object
+{
+
+public:
+  ServerRSAParams(::java::nio::ByteBuffer *);
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm();
+  virtual jint length();
+  virtual ::java::math::BigInteger * modulus();
+  virtual ::java::math::BigInteger * exponent();
+  virtual void setModulus(::java::math::BigInteger *);
+  virtual void setExponent(::java::math::BigInteger *);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerRSAParams__
diff --git a/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h b/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h
new file mode 100644
index 000000000..ac7fca20f
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/ServerRSA_PSKParameters.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__
+#define __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/ServerPSKParameters.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class KeyExchangeAlgorithm;
+              class ServerRSA_PSKParameters;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::ServerRSA_PSKParameters : public ::gnu::javax::net::ssl::provider::ServerPSKParameters
+{
+
+public:
+  ServerRSA_PSKParameters(::java::nio::ByteBuffer *);
+  ServerRSA_PSKParameters(::java::lang::String *);
+  virtual ::gnu::javax::net::ssl::provider::KeyExchangeAlgorithm * algorithm();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_ServerRSA_PSKParameters__
diff --git a/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h b/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h
new file mode 100644
index 000000000..287944cb6
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SessionImpl$PrivateData.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__
+#define __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SessionImpl$PrivateData;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SessionImpl$PrivateData : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SessionImpl$PrivateData();
+  static const jlong serialVersionUID = -8040597659545984581LL;
+  JArray< jbyte > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) masterSecret;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SessionImpl$PrivateData__
diff --git a/libjava/gnu/javax/net/ssl/provider/SessionImpl.h b/libjava/gnu/javax/net/ssl/provider/SessionImpl.h
new file mode 100644
index 000000000..d3d5a0799
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SessionImpl.h
@@ -0,0 +1,87 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SessionImpl__
+#define __gnu_javax_net_ssl_provider_SessionImpl__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/Session.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class Session$ID;
+          namespace provider
+          {
+              class CipherSuite;
+              class MaxFragmentLength;
+              class ProtocolVersion;
+              class SessionImpl;
+              class SessionImpl$PrivateData;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class SecureRandom;
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace crypto
+    {
+        class SealedObject;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SessionImpl : public ::gnu::javax::net::ssl::Session
+{
+
+public:
+  SessionImpl();
+public: // actually package-private
+  virtual ::java::security::SecureRandom * random();
+public:
+  virtual ::java::lang::String * getProtocol();
+  virtual void prepare(JArray< jchar > *);
+  virtual void repair(JArray< jchar > *);
+  virtual ::javax::crypto::SealedObject * privateData();
+  virtual void setPrivateData(::javax::crypto::SealedObject *);
+public: // actually package-private
+  virtual void setApplicationBufferSize(jint);
+  virtual void setRandom(::java::security::SecureRandom *);
+  virtual void setTruncatedMac(jboolean);
+  virtual void setId(::gnu::javax::net::ssl::Session$ID *);
+  virtual void setLocalCertificates(JArray< ::java::security::cert::Certificate * > *);
+  virtual void setPeerCertificates(JArray< ::java::security::cert::Certificate * > *);
+  virtual void setPeerVerified(jboolean);
+  static const jlong serialVersionUID = 8932976607588442485LL;
+  ::gnu::javax::net::ssl::provider::CipherSuite * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::Session)))) suite;
+  ::gnu::javax::net::ssl::provider::ProtocolVersion * version;
+  JArray< jbyte > * privateDataSalt;
+  ::javax::crypto::SealedObject * sealedPrivateData;
+  ::gnu::javax::net::ssl::provider::MaxFragmentLength * maxLength;
+  ::gnu::javax::net::ssl::provider::SessionImpl$PrivateData * privateData__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SessionImpl__
diff --git a/libjava/gnu/javax/net/ssl/provider/Signature.h b/libjava/gnu/javax/net/ssl/provider/Signature.h
new file mode 100644
index 000000000..4b87ea4af
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Signature.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Signature__
+#define __gnu_javax_net_ssl_provider_Signature__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Signature;
+              class SignatureAlgorithm;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Signature : public ::java::lang::Object
+{
+
+public:
+  Signature(::java::nio::ByteBuffer *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *);
+  Signature(JArray< jbyte > *, ::gnu::javax::net::ssl::provider::SignatureAlgorithm *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual JArray< jbyte > * signature();
+  virtual void setSignature(JArray< jbyte > *);
+  virtual void setSignature(JArray< jbyte > *, jint, jint);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer__;
+  ::gnu::javax::net::ssl::provider::SignatureAlgorithm * alg;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Signature__
diff --git a/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h b/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h
new file mode 100644
index 000000000..adca3804a
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SignatureAlgorithm.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SignatureAlgorithm__
+#define __gnu_javax_net_ssl_provider_SignatureAlgorithm__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SignatureAlgorithm;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SignatureAlgorithm : public ::java::lang::Enum
+{
+
+  SignatureAlgorithm(::java::lang::String *, jint);
+public:
+  ::java::lang::String * algorithm();
+  static JArray< ::gnu::javax::net::ssl::provider::SignatureAlgorithm * > * values();
+  static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * valueOf(::java::lang::String *);
+public: // actually package-private
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SignatureAlgorithm();
+public:
+  static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * ANONYMOUS;
+  static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * RSA;
+  static ::gnu::javax::net::ssl::provider::SignatureAlgorithm * DSA;
+private:
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$net$ssl$provider$SignatureAlgorithm__;
+  static JArray< ::gnu::javax::net::ssl::provider::SignatureAlgorithm * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SignatureAlgorithm__
diff --git a/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h
new file mode 100644
index 000000000..3c8c78469
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext$1.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SimpleSessionContext$1__
+#define __gnu_javax_net_ssl_provider_SimpleSessionContext$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class SimpleSessionContext;
+              class SimpleSessionContext$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SimpleSessionContext$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SimpleSessionContext$1(::gnu::javax::net::ssl::provider::SimpleSessionContext *);
+public:
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  ::java::util::Iterator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) it;
+  ::gnu::javax::net::ssl::provider::SimpleSessionContext * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SimpleSessionContext$1__
diff --git a/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h
new file mode 100644
index 000000000..68795decb
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/SimpleSessionContext.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_SimpleSessionContext__
+#define __gnu_javax_net_ssl_provider_SimpleSessionContext__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/AbstractSessionContext.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+            class Session;
+          namespace provider
+          {
+              class SimpleSessionContext;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::SimpleSessionContext : public ::gnu::javax::net::ssl::AbstractSessionContext
+{
+
+public:
+  SimpleSessionContext();
+public: // actually protected
+  ::gnu::javax::net::ssl::Session * implGet(JArray< jbyte > *);
+public:
+  void load(JArray< jchar > *);
+  void put(::gnu::javax::net::ssl::Session *);
+  void remove(JArray< jbyte > *);
+  void store(JArray< jchar > *);
+  ::java::util::Enumeration * getIds();
+  jint getSessionCacheSize();
+  void setSessionCacheSize(jint);
+public: // actually package-private
+  static ::java::util::HashMap * access$0(::gnu::javax::net::ssl::provider::SimpleSessionContext *);
+public:
+  static const jint DEFAULT_TIMEOUT = 300;
+private:
+  ::java::util::HashMap * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::AbstractSessionContext)))) store__;
+  jint storeLimit;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_SimpleSessionContext__
diff --git a/libjava/gnu/javax/net/ssl/provider/TLSHMac.h b/libjava/gnu/javax/net/ssl/provider/TLSHMac.h
new file mode 100644
index 000000000..6948f3f05
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TLSHMac.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TLSHMac__
+#define __gnu_javax_net_ssl_provider_TLSHMac__
+
+#pragma interface
+
+#include <gnu/javax/crypto/mac/HMac.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace security
+      {
+        namespace hash
+        {
+            class IMessageDigest;
+        }
+      }
+    }
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TLSHMac;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TLSHMac : public ::gnu::javax::crypto::mac::HMac
+{
+
+public: // actually package-private
+  TLSHMac(::gnu::java::security::hash::IMessageDigest *);
+public:
+  virtual void init(::java::util::Map *);
+private:
+  static const jbyte IPAD_BYTE = 54;
+  static const jbyte OPAD_BYTE = 92;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TLSHMac__
diff --git a/libjava/gnu/javax/net/ssl/provider/TLSRandom.h b/libjava/gnu/javax/net/ssl/provider/TLSRandom.h
new file mode 100644
index 000000000..737d6c416
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TLSRandom.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TLSRandom__
+#define __gnu_javax_net_ssl_provider_TLSRandom__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace crypto
+      {
+        namespace mac
+        {
+            class IMac;
+        }
+      }
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TLSRandom;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TLSRandom : public ::java::lang::Object
+{
+
+public: // actually package-private
+  TLSRandom();
+public:
+  virtual ::java::lang::Object * clone();
+  virtual void init(::java::util::Map *);
+  virtual ::java::lang::String * name();
+  virtual jbyte nextByte();
+  virtual void nextBytes(JArray< jbyte > *, jint, jint);
+  virtual void addRandomByte(jbyte);
+  virtual void addRandomBytes(JArray< jbyte > *);
+  virtual void addRandomBytes(JArray< jbyte > *, jint, jint);
+private:
+  void fillBuffer();
+public: // actually package-private
+  static ::java::lang::String * SECRET;
+  static ::java::lang::String * SEED;
+private:
+  ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hmac_sha;
+  ::gnu::javax::crypto::mac::IMac * hmac_md5;
+  JArray< jbyte > * sha_a;
+  JArray< jbyte > * md5_a;
+  JArray< jbyte > * seed;
+  JArray< jbyte > * buffer;
+  jint idx;
+  jboolean init__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TLSRandom__
diff --git a/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h b/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h
new file mode 100644
index 000000000..73b4d2558
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TruncatedHMAC.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TruncatedHMAC__
+#define __gnu_javax_net_ssl_provider_TruncatedHMAC__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TruncatedHMAC;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TruncatedHMAC : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  TruncatedHMAC();
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TruncatedHMAC__
diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h
new file mode 100644
index 000000000..89969b111
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$AuthoritiesIterator.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__
+#define __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TrustedAuthorities;
+              class TrustedAuthorities$AuthoritiesIterator;
+              class TrustedAuthorities$TrustedAuthority;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TrustedAuthorities$AuthoritiesIterator : public ::java::lang::Object
+{
+
+public:
+  TrustedAuthorities$AuthoritiesIterator(::gnu::javax::net::ssl::provider::TrustedAuthorities *);
+  virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority * TrustedAuthorities$AuthoritiesIterator$next();
+  virtual jboolean hasNext();
+  virtual void remove();
+  virtual ::java::lang::Object * next();
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) index;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::TrustedAuthorities * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$AuthoritiesIterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h
new file mode 100644
index 000000000..e2b0188c0
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$IdentifierType.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__
+#define __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TrustedAuthorities$IdentifierType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType : public ::java::lang::Enum
+{
+
+  TrustedAuthorities$IdentifierType(::java::lang::String *, jint, jint);
+public:
+  jint getValue();
+  static JArray< ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * > * values();
+  static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * valueOf(::java::lang::String *);
+  static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * PRE_AGREED;
+  static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * KEY_SHA1_HASH;
+  static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * X509_NAME;
+  static ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * CERT_SHA1_HASH;
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Enum)))) value;
+  static JArray< ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$IdentifierType__
diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h
new file mode 100644
index 000000000..6101a829d
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities$TrustedAuthority.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__
+#define __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TrustedAuthorities$IdentifierType;
+              class TrustedAuthorities$TrustedAuthority;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace x500
+        {
+            class X500Principal;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority : public ::java::lang::Object
+{
+
+public:
+  TrustedAuthorities$TrustedAuthority(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual JArray< jbyte > * sha1Hash();
+  virtual ::javax::security::auth::x500::X500Principal * name();
+  virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$IdentifierType * type();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities$TrustedAuthority__
diff --git a/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h
new file mode 100644
index 000000000..0aeabe4c2
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/TrustedAuthorities.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_TrustedAuthorities__
+#define __gnu_javax_net_ssl_provider_TrustedAuthorities__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class TrustedAuthorities;
+              class TrustedAuthorities$TrustedAuthority;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::TrustedAuthorities : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  TrustedAuthorities(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual jint size();
+  virtual ::gnu::javax::net::ssl::provider::TrustedAuthorities$TrustedAuthority * get(jint);
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+  virtual ::java::util::Iterator * iterator();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_TrustedAuthorities__
diff --git a/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h b/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h
new file mode 100644
index 000000000..9c75dd0a8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/UnresolvedExtensionValue.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__
+#define __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__
+
+#pragma interface
+
+#include <gnu/javax/net/ssl/provider/Extension$Value.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class UnresolvedExtensionValue;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::UnresolvedExtensionValue : public ::gnu::javax::net::ssl::provider::Extension$Value
+{
+
+public:
+  UnresolvedExtensionValue(::java::nio::ByteBuffer *);
+  virtual jint length();
+  virtual ::java::nio::ByteBuffer * buffer();
+  virtual ::java::nio::ByteBuffer * value();
+  virtual ::java::lang::String * toString();
+  virtual ::java::lang::String * toString(::java::lang::String *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::gnu::javax::net::ssl::provider::Extension$Value)))) buffer__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_UnresolvedExtensionValue__
diff --git a/libjava/gnu/javax/net/ssl/provider/Util$1.h b/libjava/gnu/javax/net/ssl/provider/Util$1.h
new file mode 100644
index 000000000..d8e786360
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Util$1.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Util$1__
+#define __gnu_javax_net_ssl_provider_Util$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Util$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Util$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Util$1(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * run();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Util$1__
diff --git a/libjava/gnu/javax/net/ssl/provider/Util$2.h b/libjava/gnu/javax/net/ssl/provider/Util$2.h
new file mode 100644
index 000000000..034b13b91
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Util$2.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Util$2__
+#define __gnu_javax_net_ssl_provider_Util$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Util$2;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Util$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Util$2(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * run();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$name;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Util$2__
diff --git a/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h b/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h
new file mode 100644
index 000000000..ad7d244f7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Util$WrappedBuffer.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Util$WrappedBuffer__
+#define __gnu_javax_net_ssl_provider_Util$WrappedBuffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Util$WrappedBuffer;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Util$WrappedBuffer : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Util$WrappedBuffer(::java::nio::ByteBuffer *, ::java::lang::String *);
+public:
+  virtual ::java::lang::String * toString();
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  ::java::lang::String * prefix;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Util$WrappedBuffer__
diff --git a/libjava/gnu/javax/net/ssl/provider/Util.h b/libjava/gnu/javax/net/ssl/provider/Util.h
new file mode 100644
index 000000000..6e54af1c8
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/Util.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_Util__
+#define __gnu_javax_net_ssl_provider_Util__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class Util;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace math
+    {
+        class BigInteger;
+    }
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::Util : public ::java::lang::Object
+{
+
+  Util();
+public:
+  static ::java::lang::Object * wrapBuffer(::java::nio::ByteBuffer *);
+  static ::java::lang::Object * wrapBuffer(::java::nio::ByteBuffer *, ::java::lang::String *);
+  static JArray< jbyte > * toByteArray(::java::lang::String *);
+  static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint);
+  static ::java::lang::String * toHexString(JArray< jbyte > *);
+  static ::java::lang::String * toHexString(JArray< jbyte > *, jint, jint, jchar);
+  static ::java::lang::String * toHexString(JArray< jbyte > *, jchar);
+  static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint, ::java::lang::String *);
+  static ::java::lang::String * hexDump(::java::nio::ByteBuffer *);
+  static ::java::lang::String * hexDump(::java::nio::ByteBuffer *, ::java::lang::String *);
+  static ::java::lang::String * hexDump(JArray< jbyte > *, jint, jint);
+  static ::java::lang::String * hexDump(JArray< jbyte > *, ::java::lang::String *);
+  static ::java::lang::String * hexDump(JArray< jbyte > *);
+  static ::java::lang::String * formatInt(jint, jint, jint);
+  static JArray< jbyte > * concat(JArray< jbyte > *, JArray< jbyte > *);
+  static JArray< jbyte > * trim(JArray< jbyte > *, jint);
+  static JArray< jbyte > * trim(JArray< jbyte > *, jint, jint);
+  static JArray< jbyte > * trim(::java::math::BigInteger *);
+  static jint unixTime();
+public: // actually package-private
+  static JArray< ::java::lang::Object * > * transform(JArray< ::java::lang::Object * > *, ::java::lang::Class *, ::java::lang::String *, JArray< ::java::lang::Object * > *);
+  static ::java::lang::String * getProperty(::java::lang::String *);
+  static ::java::lang::String * getSecurityProperty(::java::lang::String *);
+  static ::java::lang::String * HEX;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_Util__
diff --git a/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h
new file mode 100644
index 000000000..f41f17b9f
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList$Iterator.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__
+#define __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X500PrincipalList;
+              class X500PrincipalList$Iterator;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace x500
+        {
+            class X500Principal;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X500PrincipalList$Iterator : public ::java::lang::Object
+{
+
+public:
+  X500PrincipalList$Iterator(::gnu::javax::net::ssl::provider::X500PrincipalList *);
+  virtual void X500PrincipalList$Iterator$add(::javax::security::auth::x500::X500Principal *);
+  virtual jboolean hasNext();
+  virtual jboolean hasPrevious();
+  virtual ::javax::security::auth::x500::X500Principal * X500PrincipalList$Iterator$next();
+  virtual jint nextIndex();
+  virtual ::javax::security::auth::x500::X500Principal * X500PrincipalList$Iterator$previous();
+  virtual jint previousIndex();
+  virtual void remove();
+  virtual void X500PrincipalList$Iterator$set(::javax::security::auth::x500::X500Principal *);
+  virtual ::java::lang::Object * next();
+  virtual ::java::lang::Object * previous();
+  virtual void add(::java::lang::Object *);
+  virtual void set(::java::lang::Object *);
+private:
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) modCount;
+  jint index;
+  jint count;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::X500PrincipalList * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X500PrincipalList$Iterator__
diff --git a/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h
new file mode 100644
index 000000000..080b5e45c
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X500PrincipalList.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X500PrincipalList__
+#define __gnu_javax_net_ssl_provider_X500PrincipalList__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X500PrincipalList;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace nio
+    {
+        class ByteBuffer;
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace x500
+        {
+            class X500Principal;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X500PrincipalList : public ::java::lang::Object
+{
+
+public:
+  X500PrincipalList(::java::nio::ByteBuffer *);
+  jint size();
+  jint count();
+  ::javax::security::auth::x500::X500Principal * get(jint);
+  void put(jint, ::javax::security::auth::x500::X500Principal *);
+  void put(jint, JArray< jbyte > *);
+  void setSize(jint, jint);
+  ::java::lang::String * toString();
+  ::java::lang::String * toString(::java::lang::String *);
+  jboolean equals(::java::lang::Object *);
+  ::java::util::Iterator * iterator();
+public: // actually package-private
+  static jint access$0(::gnu::javax::net::ssl::provider::X500PrincipalList *);
+private:
+  ::java::nio::ByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buffer;
+  jint modCount;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X500PrincipalList__
diff --git a/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h
new file mode 100644
index 000000000..6455f80d0
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory$Manager.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__
+#define __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__
+
+#pragma interface
+
+#include <javax/net/ssl/X509ExtendedKeyManager.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X509KeyManagerFactory;
+              class X509KeyManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class Socket;
+    }
+    namespace security
+    {
+        class Principal;
+        class PrivateKey;
+      namespace cert
+      {
+          class X509Certificate;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class SSLEngine;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X509KeyManagerFactory$Manager : public ::javax::net::ssl::X509ExtendedKeyManager
+{
+
+public: // actually package-private
+  X509KeyManagerFactory$Manager(::gnu::javax::net::ssl::provider::X509KeyManagerFactory *, ::java::util::Map *, ::java::util::Map *);
+public:
+  virtual ::java::lang::String * chooseClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::java::net::Socket *);
+  virtual ::java::lang::String * chooseEngineClientAlias(JArray< ::java::lang::String * > *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *);
+  virtual JArray< ::java::lang::String * > * getClientAliases(::java::lang::String *, JArray< ::java::security::Principal * > *);
+  virtual ::java::lang::String * chooseServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::java::net::Socket *);
+  virtual ::java::lang::String * chooseEngineServerAlias(::java::lang::String *, JArray< ::java::security::Principal * > *, ::javax::net::ssl::SSLEngine *);
+  virtual JArray< ::java::lang::String * > * getServerAliases(::java::lang::String *, JArray< ::java::security::Principal * > *);
+private:
+  JArray< ::java::lang::String * > * getAliases(::java::lang::String *, JArray< ::java::security::Principal * > *);
+public:
+  virtual JArray< ::java::security::cert::X509Certificate * > * getCertificateChain(::java::lang::String *);
+  virtual ::java::security::PrivateKey * getPrivateKey(::java::lang::String *);
+private:
+  ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::net::ssl::X509ExtendedKeyManager)))) privateKeys;
+  ::java::util::Map * certChains;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::X509KeyManagerFactory * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X509KeyManagerFactory$Manager__
diff --git a/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h
new file mode 100644
index 000000000..a261c2744
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X509KeyManagerFactory.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X509KeyManagerFactory__
+#define __gnu_javax_net_ssl_provider_X509KeyManagerFactory__
+
+#pragma interface
+
+#include <javax/net/ssl/KeyManagerFactorySpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X509KeyManagerFactory;
+              class X509KeyManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyStore;
+      namespace cert
+      {
+          class Certificate;
+          class X509Certificate;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class KeyManager;
+          class ManagerFactoryParameters;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X509KeyManagerFactory : public ::javax::net::ssl::KeyManagerFactorySpi
+{
+
+public:
+  X509KeyManagerFactory();
+public: // actually protected
+  virtual JArray< ::javax::net::ssl::KeyManager * > * engineGetKeyManagers();
+  virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *);
+  virtual void engineInit(::java::security::KeyStore *, JArray< jchar > *);
+private:
+  static JArray< ::java::security::cert::X509Certificate * > * toX509Chain(JArray< ::java::security::cert::Certificate * > *);
+  ::gnu::javax::net::ssl::provider::X509KeyManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::KeyManagerFactorySpi)))) current;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X509KeyManagerFactory__
diff --git a/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h
new file mode 100644
index 000000000..c34c2c5a7
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory$Manager.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__
+#define __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X509TrustManagerFactory;
+              class X509TrustManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class X509Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X509TrustManagerFactory$Manager : public ::java::lang::Object
+{
+
+public: // actually package-private
+  X509TrustManagerFactory$Manager(::gnu::javax::net::ssl::provider::X509TrustManagerFactory *, JArray< ::java::security::cert::X509Certificate * > *);
+public:
+  virtual void checkClientTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
+  virtual void checkServerTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
+  virtual JArray< ::java::security::cert::X509Certificate * > * getAcceptedIssuers();
+private:
+  void checkTrusted(JArray< ::java::security::cert::X509Certificate * > *, ::java::lang::String *);
+  ::java::util::Set * __attribute__((aligned(__alignof__( ::java::lang::Object)))) anchors;
+public: // actually package-private
+  ::gnu::javax::net::ssl::provider::X509TrustManagerFactory * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X509TrustManagerFactory$Manager__
diff --git a/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h
new file mode 100644
index 000000000..f65c04907
--- /dev/null
+++ b/libjava/gnu/javax/net/ssl/provider/X509TrustManagerFactory.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_net_ssl_provider_X509TrustManagerFactory__
+#define __gnu_javax_net_ssl_provider_X509TrustManagerFactory__
+
+#pragma interface
+
+#include <javax/net/ssl/TrustManagerFactorySpi.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace net
+      {
+        namespace ssl
+        {
+          namespace provider
+          {
+              class X509TrustManagerFactory;
+              class X509TrustManagerFactory$Manager;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class KeyStore;
+    }
+  }
+  namespace javax
+  {
+    namespace net
+    {
+      namespace ssl
+      {
+          class ManagerFactoryParameters;
+          class TrustManager;
+      }
+    }
+  }
+}
+
+class gnu::javax::net::ssl::provider::X509TrustManagerFactory : public ::javax::net::ssl::TrustManagerFactorySpi
+{
+
+public:
+  X509TrustManagerFactory();
+public: // actually protected
+  virtual JArray< ::javax::net::ssl::TrustManager * > * engineGetTrustManagers();
+  virtual void engineInit(::javax::net::ssl::ManagerFactoryParameters *);
+  virtual void engineInit(::java::security::KeyStore *);
+private:
+  static ::java::lang::String * sep;
+  static ::java::lang::String * JSSE_CERTS;
+  static ::java::lang::String * CA_CERTS;
+  ::gnu::javax::net::ssl::provider::X509TrustManagerFactory$Manager * __attribute__((aligned(__alignof__( ::javax::net::ssl::TrustManagerFactorySpi)))) current;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_net_ssl_provider_X509TrustManagerFactory__
diff --git a/libjava/gnu/javax/print/CupsIppOperation.h b/libjava/gnu/javax/print/CupsIppOperation.h
new file mode 100644
index 000000000..f328a19fe
--- /dev/null
+++ b/libjava/gnu/javax/print/CupsIppOperation.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_CupsIppOperation__
+#define __gnu_javax_print_CupsIppOperation__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class CupsIppOperation;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::CupsIppOperation : public ::java::lang::Object
+{
+
+  CupsIppOperation();
+public:
+  static const jint CUPS_GET_DEFAULT = 16385;
+  static const jint CUPS_GET_PRINTERS = 16386;
+  static const jint CUPS_ADD_MODIFY_PRINTER = 16387;
+  static const jint CUPS_DELETE_PRINTER = 16388;
+  static const jint CUPS_GET_CLASSES = 16389;
+  static const jint CUPS_ADD_MODIFY_CLASS = 16390;
+  static const jint CUPS_DELETE_CLASS = 16391;
+  static const jint CUPS_ACCEPT_JOBS = 16392;
+  static const jint CUPS_REJECT_JOBS = 16393;
+  static const jint CUPS_SET_DEFAULT = 16394;
+  static const jint CUPS_GET_DEVICES = 16395;
+  static const jint CUPS_GET_PPDS = 16396;
+  static const jint CUPS_MOVE_JOB = 16397;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_CupsIppOperation__
diff --git a/libjava/gnu/javax/print/CupsMediaMapping.h b/libjava/gnu/javax/print/CupsMediaMapping.h
new file mode 100644
index 000000000..3d5f5934f
--- /dev/null
+++ b/libjava/gnu/javax/print/CupsMediaMapping.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_CupsMediaMapping__
+#define __gnu_javax_print_CupsMediaMapping__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class CupsMediaMapping;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::CupsMediaMapping : public ::java::lang::Object
+{
+
+public:
+  static ::java::lang::String * getIppName(::java::lang::String *);
+  static ::java::util::Map * getMappingMap();
+private:
+  CupsMediaMapping();
+  static ::java::util::HashMap * ippByCups;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_CupsMediaMapping__
diff --git a/libjava/gnu/javax/print/CupsPrintService.h b/libjava/gnu/javax/print/CupsPrintService.h
new file mode 100644
index 000000000..68bf4b79f
--- /dev/null
+++ b/libjava/gnu/javax/print/CupsPrintService.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_CupsPrintService__
+#define __gnu_javax_print_CupsPrintService__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/IppMultiDocPrintService.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class CupsPrintService;
+        namespace ipp
+        {
+            class IppResponse;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+      namespace attribute
+      {
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::CupsPrintService : public ::gnu::javax::print::ipp::IppMultiDocPrintService
+{
+
+public:
+  CupsPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *);
+public: // actually protected
+  ::java::lang::Object * handleSupportedAttributeValuesResponse(::gnu::javax::print::ipp::IppResponse *, ::java::lang::Class *);
+public:
+  ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *);
+  ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_CupsPrintService__
diff --git a/libjava/gnu/javax/print/CupsPrintServiceLookup.h b/libjava/gnu/javax/print/CupsPrintServiceLookup.h
new file mode 100644
index 000000000..b4f983672
--- /dev/null
+++ b/libjava/gnu/javax/print/CupsPrintServiceLookup.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_CupsPrintServiceLookup__
+#define __gnu_javax_print_CupsPrintServiceLookup__
+
+#pragma interface
+
+#include <javax/print/PrintServiceLookup.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class CupsPrintServiceLookup;
+          class CupsServer;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+        class MultiDocPrintService;
+        class PrintService;
+      namespace attribute
+      {
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::CupsPrintServiceLookup : public ::javax::print::PrintServiceLookup
+{
+
+public:
+  CupsPrintServiceLookup();
+  virtual ::javax::print::PrintService * getDefaultPrintService();
+  virtual JArray< ::javax::print::MultiDocPrintService * > * getMultiDocPrintServices(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *);
+  virtual JArray< ::javax::print::PrintService * > * getPrintServices();
+  virtual JArray< ::javax::print::PrintService * > * getPrintServices(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *);
+  virtual jboolean checkPrintService(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *, ::javax::print::PrintService *);
+  virtual jboolean checkMultiDocPrintService(JArray< ::javax::print::DocFlavor * > *, ::javax::print::attribute::AttributeSet *, ::javax::print::PrintService *);
+private:
+  ::gnu::javax::print::CupsServer * __attribute__((aligned(__alignof__( ::javax::print::PrintServiceLookup)))) server;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_CupsPrintServiceLookup__
diff --git a/libjava/gnu/javax/print/CupsServer.h b/libjava/gnu/javax/print/CupsServer.h
new file mode 100644
index 000000000..c31d236b5
--- /dev/null
+++ b/libjava/gnu/javax/print/CupsServer.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_CupsServer__
+#define __gnu_javax_print_CupsServer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class CupsServer;
+        namespace ipp
+        {
+            class IppPrintService;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::CupsServer : public ::java::lang::Object
+{
+
+public:
+  CupsServer(::java::lang::String *, ::java::lang::String *);
+  CupsServer(::java::net::URI *, ::java::lang::String *, ::java::lang::String *);
+  virtual ::gnu::javax::print::ipp::IppPrintService * getDefaultPrinter();
+  virtual ::java::util::List * getAllPrinters();
+  virtual ::java::util::List * getAllClasses();
+private:
+  ::java::net::URI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri;
+  ::java::lang::String * username;
+  ::java::lang::String * password;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_CupsServer__
diff --git a/libjava/gnu/javax/print/PrintAttributeException.h b/libjava/gnu/javax/print/PrintAttributeException.h
new file mode 100644
index 000000000..d1613f8d8
--- /dev/null
+++ b/libjava/gnu/javax/print/PrintAttributeException.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrintAttributeException__
+#define __gnu_javax_print_PrintAttributeException__
+
+#pragma interface
+
+#include <javax/print/PrintException.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrintAttributeException;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrintAttributeException : public ::javax::print::PrintException
+{
+
+public:
+  PrintAttributeException(JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *);
+  PrintAttributeException(::java::lang::Exception *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *);
+  PrintAttributeException(::java::lang::String *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *);
+  PrintAttributeException(::java::lang::String *, ::java::lang::Exception *, JArray< ::java::lang::Class * > *, JArray< ::javax::print::attribute::Attribute * > *);
+  JArray< ::java::lang::Class * > * getUnsupportedAttributes();
+  JArray< ::javax::print::attribute::Attribute * > * getUnsupportedValues();
+private:
+  JArray< ::java::lang::Class * > * __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) categories;
+  JArray< ::javax::print::attribute::Attribute * > * values;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrintAttributeException__
diff --git a/libjava/gnu/javax/print/PrintFlavorException.h b/libjava/gnu/javax/print/PrintFlavorException.h
new file mode 100644
index 000000000..0c16fdfda
--- /dev/null
+++ b/libjava/gnu/javax/print/PrintFlavorException.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrintFlavorException__
+#define __gnu_javax_print_PrintFlavorException__
+
+#pragma interface
+
+#include <javax/print/PrintException.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrintFlavorException;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+    }
+  }
+}
+
+class gnu::javax::print::PrintFlavorException : public ::javax::print::PrintException
+{
+
+public:
+  PrintFlavorException(JArray< ::javax::print::DocFlavor * > *);
+  PrintFlavorException(::java::lang::Exception *, JArray< ::javax::print::DocFlavor * > *);
+  PrintFlavorException(::java::lang::String *, JArray< ::javax::print::DocFlavor * > *);
+  PrintFlavorException(::java::lang::String *, ::java::lang::Exception *, JArray< ::javax::print::DocFlavor * > *);
+  virtual JArray< ::javax::print::DocFlavor * > * getUnsupportedFlavors();
+private:
+  JArray< ::javax::print::DocFlavor * > * __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) flavors;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrintFlavorException__
diff --git a/libjava/gnu/javax/print/PrintUriException.h b/libjava/gnu/javax/print/PrintUriException.h
new file mode 100644
index 000000000..716edb886
--- /dev/null
+++ b/libjava/gnu/javax/print/PrintUriException.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrintUriException__
+#define __gnu_javax_print_PrintUriException__
+
+#pragma interface
+
+#include <javax/print/PrintException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrintUriException;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::PrintUriException : public ::javax::print::PrintException
+{
+
+public:
+  PrintUriException(jint, ::java::net::URI *);
+  PrintUriException(::java::lang::Exception *, jint, ::java::net::URI *);
+  PrintUriException(::java::lang::String *, jint, ::java::net::URI *);
+  PrintUriException(::java::lang::String *, ::java::lang::Exception *, jint, ::java::net::URI *);
+  jint getReason();
+  ::java::net::URI * getUnsupportedURI();
+private:
+  jint __attribute__((aligned(__alignof__( ::javax::print::PrintException)))) reason;
+  ::java::net::URI * uri;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrintUriException__
diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h
new file mode 100644
index 000000000..e05e7e967
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Color.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$Color__
+#define __gnu_javax_print_PrinterDialog$AppearancePanel$Color__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$AppearancePanel$Color;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JRadioButton;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$AppearancePanel$Color : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$AppearancePanel$Color(::gnu::javax::print::PrinterDialog$AppearancePanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) bw;
+  ::javax::swing::JRadioButton * color;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$Color__
diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h
new file mode 100644
index 000000000..c5570cf0e
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$JobAttributes.h
@@ -0,0 +1,80 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__
+#define __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$AppearancePanel$JobAttributes;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+          class FocusEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JCheckBox;
+        class JLabel;
+        class JSpinner;
+        class JTextField;
+        class SpinnerNumberModel;
+      namespace event
+      {
+          class ChangeEvent;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$AppearancePanel$JobAttributes : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$AppearancePanel$JobAttributes(::gnu::javax::print::PrinterDialog$AppearancePanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+  void stateChanged(::javax::swing::event::ChangeEvent *);
+  void focusGained(::java::awt::event::FocusEvent *);
+  void focusLost(::java::awt::event::FocusEvent *);
+private:
+  void updateTextfields(::java::awt::event::FocusEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) jobname;
+  ::javax::swing::JLabel * username;
+  ::javax::swing::JLabel * priority_lb;
+  ::javax::swing::JTextField * jobname_tf;
+  ::javax::swing::JTextField * username_tf;
+  ::javax::swing::JCheckBox * cover;
+  ::javax::swing::JSpinner * priority;
+  ::javax::swing::SpinnerNumberModel * model;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$JobAttributes__
diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h
new file mode 100644
index 000000000..65ca5acb4
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$Quality.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__
+#define __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$AppearancePanel$Quality;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class ButtonGroup;
+        class JRadioButton;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$AppearancePanel$Quality : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$AppearancePanel$Quality(::gnu::javax::print::PrinterDialog$AppearancePanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) low;
+  ::javax::swing::JRadioButton * normal;
+  ::javax::swing::JRadioButton * high;
+  ::javax::swing::ButtonGroup * group;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$Quality__
diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h
new file mode 100644
index 000000000..272006401
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel$SidesPanel.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__
+#define __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$AppearancePanel$SidesPanel;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JRadioButton;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$AppearancePanel$SidesPanel : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$AppearancePanel$SidesPanel(::gnu::javax::print::PrinterDialog$AppearancePanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) oneside;
+  ::javax::swing::JRadioButton * calendar;
+  ::javax::swing::JRadioButton * duplex;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$AppearancePanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$AppearancePanel$SidesPanel__
diff --git a/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h
new file mode 100644
index 000000000..6e77b2620
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$AppearancePanel.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$AppearancePanel__
+#define __gnu_javax_print_PrinterDialog$AppearancePanel__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog;
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$AppearancePanel$Color;
+          class PrinterDialog$AppearancePanel$JobAttributes;
+          class PrinterDialog$AppearancePanel$Quality;
+          class PrinterDialog$AppearancePanel$SidesPanel;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$AppearancePanel : public ::javax::swing::JPanel
+{
+
+public:
+  PrinterDialog$AppearancePanel(::gnu::javax::print::PrinterDialog *);
+public: // actually package-private
+  void update();
+  static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$AppearancePanel *);
+private:
+  ::gnu::javax::print::PrinterDialog$AppearancePanel$Quality * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) quality_panel;
+  ::gnu::javax::print::PrinterDialog$AppearancePanel$JobAttributes * jobAttr_panel;
+  ::gnu::javax::print::PrinterDialog$AppearancePanel$SidesPanel * sides_panel;
+  ::gnu::javax::print::PrinterDialog$AppearancePanel$Color * chromaticy_panel;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$AppearancePanel__
diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h
new file mode 100644
index 000000000..4e95c9329
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$CopiesAndSorted.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__
+#define __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$GeneralPanel;
+          class PrinterDialog$GeneralPanel$CopiesAndSorted;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JCheckBox;
+        class JLabel;
+        class JSpinner;
+        class SpinnerNumberModel;
+      namespace event
+      {
+          class ChangeEvent;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$GeneralPanel$CopiesAndSorted : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$GeneralPanel$CopiesAndSorted(::gnu::javax::print::PrinterDialog$GeneralPanel *);
+public:
+  void stateChanged(::javax::swing::event::ChangeEvent *);
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JCheckBox * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) sort;
+  ::javax::swing::JSpinner * copies;
+  ::javax::swing::JLabel * copies_lb;
+  ::javax::swing::SpinnerNumberModel * copiesModel;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$CopiesAndSorted__
diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h
new file mode 100644
index 000000000..dd9e76f31
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintRange.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__
+#define __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$GeneralPanel;
+          class PrinterDialog$GeneralPanel$PrintRange;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+          class FocusEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JLabel;
+        class JRadioButton;
+        class JTextField;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$GeneralPanel$PrintRange : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$GeneralPanel$PrintRange(::gnu::javax::print::PrinterDialog$GeneralPanel *);
+public:
+  void focusGained(::java::awt::event::FocusEvent *);
+  void focusLost(::java::awt::event::FocusEvent *);
+private:
+  void updatePageRanges();
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) to;
+  ::javax::swing::JRadioButton * all_rb;
+  ::javax::swing::JRadioButton * pages_rb;
+  ::javax::swing::JTextField * from_tf;
+  ::javax::swing::JTextField * to_tf;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$PrintRange__
diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h
new file mode 100644
index 000000000..1ef524142
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel$PrintServices.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__
+#define __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$GeneralPanel;
+          class PrinterDialog$GeneralPanel$PrintServices;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JButton;
+        class JCheckBox;
+        class JComboBox;
+        class JLabel;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$GeneralPanel$PrintServices : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$GeneralPanel$PrintServices(::gnu::javax::print::PrinterDialog$GeneralPanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) name;
+  ::javax::swing::JLabel * status;
+  ::javax::swing::JLabel * typ;
+  ::javax::swing::JLabel * info;
+  ::javax::swing::JLabel * statusValue;
+  ::javax::swing::JLabel * typValue;
+  ::javax::swing::JLabel * infoValue;
+  ::javax::swing::JButton * attributes;
+  ::javax::swing::JComboBox * services_cob;
+  ::javax::swing::JCheckBox * fileRedirection_cb;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$GeneralPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$GeneralPanel$PrintServices__
diff --git a/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h
new file mode 100644
index 000000000..c4161e062
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$GeneralPanel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$GeneralPanel__
+#define __gnu_javax_print_PrinterDialog$GeneralPanel__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog;
+          class PrinterDialog$GeneralPanel;
+          class PrinterDialog$GeneralPanel$CopiesAndSorted;
+          class PrinterDialog$GeneralPanel$PrintRange;
+          class PrinterDialog$GeneralPanel$PrintServices;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$GeneralPanel : public ::javax::swing::JPanel
+{
+
+public:
+  PrinterDialog$GeneralPanel(::gnu::javax::print::PrinterDialog *);
+public: // actually package-private
+  void update();
+  static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$GeneralPanel *);
+private:
+  ::gnu::javax::print::PrinterDialog$GeneralPanel$PrintServices * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) printserv_panel;
+  ::gnu::javax::print::PrinterDialog$GeneralPanel$PrintRange * printrange_panel;
+  ::gnu::javax::print::PrinterDialog$GeneralPanel$CopiesAndSorted * copies;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$GeneralPanel__
diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h
new file mode 100644
index 000000000..988f2243f
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Margins.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__
+#define __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$PageSetupPanel;
+          class PrinterDialog$PageSetupPanel$Margins;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class FocusEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JLabel;
+        class JTextField;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$PageSetupPanel$Margins : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$PageSetupPanel$Margins(::gnu::javax::print::PrinterDialog$PageSetupPanel *);
+public:
+  void focusGained(::java::awt::event::FocusEvent *);
+  void focusLost(::java::awt::event::FocusEvent *);
+private:
+  void updateMargins();
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) left;
+  ::javax::swing::JLabel * right;
+  ::javax::swing::JLabel * top;
+  ::javax::swing::JLabel * bottom;
+  ::javax::swing::JTextField * left_tf;
+  ::javax::swing::JTextField * right_tf;
+  ::javax::swing::JTextField * top_tf;
+  ::javax::swing::JTextField * bottom_tf;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$Margins__
diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h
new file mode 100644
index 000000000..0cfdca949
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$MediaTypes.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__
+#define __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$PageSetupPanel;
+          class PrinterDialog$PageSetupPanel$MediaTypes;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JComboBox;
+        class JLabel;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$PageSetupPanel$MediaTypes : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$PageSetupPanel$MediaTypes(::gnu::javax::print::PrinterDialog$PageSetupPanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JLabel * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) size_lb;
+  ::javax::swing::JLabel * source_lb;
+  ::javax::swing::JComboBox * size;
+  ::javax::swing::JComboBox * source;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$MediaTypes__
diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h
new file mode 100644
index 000000000..3a665d5d2
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel$Orientation.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__
+#define __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog$PageSetupPanel;
+          class PrinterDialog$PageSetupPanel$Orientation;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class JRadioButton;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$PageSetupPanel$Orientation : public ::javax::swing::JPanel
+{
+
+public: // actually package-private
+  PrinterDialog$PageSetupPanel$Orientation(::gnu::javax::print::PrinterDialog$PageSetupPanel *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  void updateForSelectedService();
+private:
+  ::javax::swing::JRadioButton * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) portrait;
+  ::javax::swing::JRadioButton * landscape;
+  ::javax::swing::JRadioButton * rev_portrait;
+  ::javax::swing::JRadioButton * rev_landscape;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel * this$1;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel$Orientation__
diff --git a/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h
new file mode 100644
index 000000000..d87519477
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog$PageSetupPanel.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog$PageSetupPanel__
+#define __gnu_javax_print_PrinterDialog$PageSetupPanel__
+
+#pragma interface
+
+#include <javax/swing/JPanel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog;
+          class PrinterDialog$PageSetupPanel;
+          class PrinterDialog$PageSetupPanel$Margins;
+          class PrinterDialog$PageSetupPanel$MediaTypes;
+          class PrinterDialog$PageSetupPanel$Orientation;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog$PageSetupPanel : public ::javax::swing::JPanel
+{
+
+public:
+  PrinterDialog$PageSetupPanel(::gnu::javax::print::PrinterDialog *);
+public: // actually package-private
+  void update();
+  static ::gnu::javax::print::PrinterDialog * access$0(::gnu::javax::print::PrinterDialog$PageSetupPanel *);
+private:
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel$MediaTypes * __attribute__((aligned(__alignof__( ::javax::swing::JPanel)))) media_panel;
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel$Orientation * orientation_panel;
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel$Margins * margins_panel;
+public: // actually package-private
+  ::gnu::javax::print::PrinterDialog * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog$PageSetupPanel__
diff --git a/libjava/gnu/javax/print/PrinterDialog.h b/libjava/gnu/javax/print/PrinterDialog.h
new file mode 100644
index 000000000..4c1141129
--- /dev/null
+++ b/libjava/gnu/javax/print/PrinterDialog.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_PrinterDialog__
+#define __gnu_javax_print_PrinterDialog__
+
+#pragma interface
+
+#include <javax/swing/JDialog.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+          class PrinterDialog;
+          class PrinterDialog$AppearancePanel;
+          class PrinterDialog$GeneralPanel;
+          class PrinterDialog$PageSetupPanel;
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class GraphicsConfiguration;
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+        class PrintService;
+      namespace attribute
+      {
+          class Attribute;
+          class PrintRequestAttributeSet;
+      }
+    }
+    namespace swing
+    {
+        class JButton;
+    }
+  }
+}
+
+class gnu::javax::print::PrinterDialog : public ::javax::swing::JDialog
+{
+
+  PrinterDialog(::java::awt::GraphicsConfiguration *, JArray< ::javax::print::PrintService * > *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *, jboolean, ::java::lang::String *);
+public:
+  PrinterDialog(::java::awt::GraphicsConfiguration *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *);
+  PrinterDialog(::java::awt::GraphicsConfiguration *, JArray< ::javax::print::PrintService * > *, ::javax::print::PrintService *, ::javax::print::DocFlavor *, ::javax::print::attribute::PrintRequestAttributeSet *);
+private:
+  void initUI(jboolean);
+public:
+  ::javax::print::attribute::PrintRequestAttributeSet * getAttributes();
+  ::javax::print::PrintService * getSelectedPrintService();
+public: // actually protected
+  void setSelectedPrintService(::javax::print::PrintService *);
+  JArray< ::javax::print::PrintService * > * getPrintServices();
+public: // actually package-private
+  void updateAll();
+  jboolean categorySupported(::java::lang::Class *);
+  ::java::lang::Object * defaultValue(::java::lang::Class *);
+  ::javax::print::attribute::Attribute * attribute(::java::lang::Class *);
+public:
+  void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  static ::java::lang::String * getLocalizedString(::java::lang::String *);
+  static ::javax::print::attribute::PrintRequestAttributeSet * access$0(::gnu::javax::print::PrinterDialog *);
+  static ::javax::print::DocFlavor * access$1(::gnu::javax::print::PrinterDialog *);
+private:
+  ::javax::swing::JButton * __attribute__((aligned(__alignof__( ::javax::swing::JDialog)))) ok_bt;
+  ::javax::swing::JButton * cancel_bt;
+  ::gnu::javax::print::PrinterDialog$GeneralPanel * general_panel;
+  ::gnu::javax::print::PrinterDialog$PageSetupPanel * pagesetup_panel;
+  ::gnu::javax::print::PrinterDialog$AppearancePanel * appearance_panel;
+  JArray< ::javax::print::PrintService * > * services;
+  ::javax::print::PrintService * defaultService;
+  ::javax::print::PrintService * selectedService;
+  ::javax::print::DocFlavor * flavor;
+  ::javax::print::attribute::PrintRequestAttributeSet * attributes;
+  jboolean onlyPageDialog;
+  ::javax::print::attribute::PrintRequestAttributeSet * atts;
+  static ::java::util::ResourceBundle * messages;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_PrinterDialog__
diff --git a/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h b/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h
new file mode 100644
index 000000000..a0d6a890a
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/DocPrintJobImpl.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_DocPrintJobImpl__
+#define __gnu_javax_print_ipp_DocPrintJobImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class DocPrintJobImpl;
+            class IppPrintService;
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobId;
+                class JobUri;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class Doc;
+        class PrintService;
+      namespace attribute
+      {
+          class PrintJobAttributeSet;
+          class PrintRequestAttributeSet;
+        namespace standard
+        {
+            class RequestingUserName;
+        }
+      }
+      namespace event
+      {
+          class PrintJobAttributeListener;
+          class PrintJobEvent;
+          class PrintJobListener;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::DocPrintJobImpl : public ::java::lang::Object
+{
+
+public:
+  DocPrintJobImpl(::gnu::javax::print::ipp::IppPrintService *, ::java::lang::String *, ::java::lang::String *);
+  virtual void addPrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *, ::javax::print::attribute::PrintJobAttributeSet *);
+  virtual void addPrintJobListener(::javax::print::event::PrintJobListener *);
+  virtual ::javax::print::attribute::PrintJobAttributeSet * getAttributes();
+  virtual ::javax::print::PrintService * getPrintService();
+  virtual void print(::javax::print::Doc *, ::javax::print::attribute::PrintRequestAttributeSet *);
+  virtual void removePrintJobAttributeListener(::javax::print::event::PrintJobAttributeListener *);
+  virtual void removePrintJobListener(::javax::print::event::PrintJobListener *);
+  virtual void cancel();
+private:
+  void notifyPrintJobListeners(::javax::print::event::PrintJobEvent *);
+  ::gnu::javax::print::ipp::IppPrintService * __attribute__((aligned(__alignof__( ::java::lang::Object)))) service;
+  ::java::util::HashSet * printJobListener;
+  ::java::util::ArrayList * attributesListener;
+  ::java::util::ArrayList * attributesListenerAttributes;
+  ::java::lang::String * username;
+  ::java::lang::String * password;
+  ::gnu::javax::print::ipp::attribute::job::JobUri * jobUri;
+  ::gnu::javax::print::ipp::attribute::job::JobId * jobId;
+  ::javax::print::attribute::standard::RequestingUserName * requestingUser;
+  ::javax::print::attribute::PrintJobAttributeSet * oldSet;
+  ::javax::print::attribute::PrintJobAttributeSet * currentSet;
+  jboolean printing;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_DocPrintJobImpl__
diff --git a/libjava/gnu/javax/print/ipp/IppDelimiterTag.h b/libjava/gnu/javax/print/ipp/IppDelimiterTag.h
new file mode 100644
index 000000000..cd8a06d3a
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppDelimiterTag.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppDelimiterTag__
+#define __gnu_javax_print_ipp_IppDelimiterTag__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppDelimiterTag;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppDelimiterTag : public ::java::lang::Object
+{
+
+  IppDelimiterTag();
+public:
+  static jboolean isDelimiterTag(jbyte);
+  static const jbyte OPERATION_ATTRIBUTES_TAG = 1;
+  static const jbyte JOB_ATTRIBUTES_TAG = 2;
+  static const jbyte END_OF_ATTRIBUTES_TAG = 3;
+  static const jbyte PRINTER_ATTRIBUTES_TAG = 4;
+  static const jbyte UNSUPPORTED_ATTRIBUTES_TAG = 5;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppDelimiterTag__
diff --git a/libjava/gnu/javax/print/ipp/IppException.h b/libjava/gnu/javax/print/ipp/IppException.h
new file mode 100644
index 000000000..8e38d40c7
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppException.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppException__
+#define __gnu_javax_print_ipp_IppException__
+
+#pragma interface
+
+#include <javax/print/PrintException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppException : public ::javax::print::PrintException
+{
+
+public:
+  IppException();
+  IppException(::java::lang::String *);
+  IppException(::java::lang::Exception *);
+  IppException(::java::lang::String *, ::java::lang::Exception *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppException__
diff --git a/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h b/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h
new file mode 100644
index 000000000..e9da502b8
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppMultiDocPrintService.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppMultiDocPrintService__
+#define __gnu_javax_print_ipp_IppMultiDocPrintService__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/IppPrintService.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppMultiDocPrintService;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class MultiDocPrintJob;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppMultiDocPrintService : public ::gnu::javax::print::ipp::IppPrintService
+{
+
+public:
+  IppMultiDocPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *);
+  virtual ::javax::print::MultiDocPrintJob * createMultiDocPrintJob();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::print::ipp::IppPrintService)))) user;
+  ::java::lang::String * passwd;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppMultiDocPrintService__
diff --git a/libjava/gnu/javax/print/ipp/IppPrintService.h b/libjava/gnu/javax/print/ipp/IppPrintService.h
new file mode 100644
index 000000000..cbe602287
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppPrintService.h
@@ -0,0 +1,111 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppPrintService__
+#define __gnu_javax_print_ipp_IppPrintService__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppPrintService;
+            class IppResponse;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+        class DocPrintJob;
+        class ServiceUIFactory;
+      namespace attribute
+      {
+          class Attribute;
+          class AttributeSet;
+          class PrintServiceAttribute;
+          class PrintServiceAttributeSet;
+        namespace standard
+        {
+            class JobName;
+            class PrinterURI;
+            class RequestingUserName;
+        }
+      }
+      namespace event
+      {
+          class PrintServiceAttributeListener;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppPrintService : public ::java::lang::Object
+{
+
+public:
+  IppPrintService(::java::net::URI *, ::java::lang::String *, ::java::lang::String *);
+private:
+  ::java::util::Map * getPrinterAttributes();
+  ::java::util::Set * getPrinterAttributeSet(::java::lang::Class *);
+  ::javax::print::attribute::Attribute * getPrinterDefaultAttribute(::java::lang::Class *);
+  void processResponse();
+public:
+  virtual ::javax::print::DocPrintJob * createPrintJob();
+  virtual ::javax::print::attribute::PrintServiceAttribute * getAttribute(::java::lang::Class *);
+  virtual ::javax::print::attribute::PrintServiceAttributeSet * getAttributes();
+  virtual ::java::lang::Object * getDefaultAttributeValue(::java::lang::Class *);
+  virtual ::java::lang::String * getName();
+  virtual ::javax::print::ServiceUIFactory * getServiceUIFactory();
+  virtual JArray< ::java::lang::Class * > * getSupportedAttributeCategories();
+  virtual ::java::lang::Object * getSupportedAttributeValues(::java::lang::Class *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *);
+public: // actually protected
+  virtual ::java::lang::Object * handleSupportedAttributeValuesResponse(::gnu::javax::print::ipp::IppResponse *, ::java::lang::Class *);
+public:
+  virtual JArray< ::javax::print::DocFlavor * > * getSupportedDocFlavors();
+  virtual ::javax::print::attribute::AttributeSet * getUnsupportedAttributes(::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *);
+  virtual jboolean isAttributeCategorySupported(::java::lang::Class *);
+  virtual jboolean isAttributeValueSupported(::javax::print::attribute::Attribute *, ::javax::print::DocFlavor *, ::javax::print::attribute::AttributeSet *);
+  virtual jboolean isDocFlavorSupported(::javax::print::DocFlavor *);
+  virtual void addPrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *);
+  virtual void removePrintServiceAttributeListener(::javax::print::event::PrintServiceAttributeListener *);
+  virtual ::java::lang::String * toString();
+  virtual ::javax::print::attribute::standard::PrinterURI * getPrinterURI();
+private:
+  ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) printerAttr;
+  ::java::util::HashSet * printServiceAttributeListener;
+  ::java::lang::String * user;
+  ::java::lang::String * passwd;
+  ::java::lang::String * name;
+  ::java::util::List * flavors;
+  ::javax::print::attribute::standard::PrinterURI * printerUri;
+  ::java::util::ArrayList * printerUris;
+public: // actually package-private
+  static ::java::util::logging::Logger * logger;
+public:
+  static ::javax::print::attribute::standard::RequestingUserName * REQUESTING_USER_NAME;
+  static ::javax::print::attribute::standard::JobName * JOB_NAME;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppPrintService__
diff --git a/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h b/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h
new file mode 100644
index 000000000..515c23138
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppRequest$RequestWriter.h
@@ -0,0 +1,78 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppRequest$RequestWriter__
+#define __gnu_javax_print_ipp_IppRequest$RequestWriter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppRequest;
+            class IppRequest$RequestWriter;
+          namespace attribute
+          {
+              class CharsetSyntax;
+              class NaturalLanguageSyntax;
+              class RequestedAttributes;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class AttributeSet;
+          class DateTimeSyntax;
+          class EnumSyntax;
+          class IntegerSyntax;
+          class ResolutionSyntax;
+          class SetOfIntegerSyntax;
+          class TextSyntax;
+          class URISyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppRequest$RequestWriter : public ::java::lang::Object
+{
+
+public: // actually package-private
+  IppRequest$RequestWriter(::gnu::javax::print::ipp::IppRequest *, ::java::io::DataOutputStream *);
+private:
+  void write(::javax::print::attribute::IntegerSyntax *);
+  void write(::javax::print::attribute::EnumSyntax *);
+  void write(::javax::print::attribute::SetOfIntegerSyntax *);
+  void write(::javax::print::attribute::ResolutionSyntax *);
+  void write(::javax::print::attribute::DateTimeSyntax *);
+  void write(::javax::print::attribute::TextSyntax *);
+  void write(::javax::print::attribute::URISyntax *);
+  void write(::gnu::javax::print::ipp::attribute::CharsetSyntax *);
+  void write(::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax *);
+  void write(::gnu::javax::print::ipp::attribute::RequestedAttributes *);
+public:
+  virtual void writeOperationAttributes(::javax::print::attribute::AttributeSet *);
+  virtual void writeAttributes(::javax::print::attribute::AttributeSet *);
+private:
+  ::java::io::DataOutputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) out;
+public: // actually package-private
+  ::gnu::javax::print::ipp::IppRequest * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppRequest$RequestWriter__
diff --git a/libjava/gnu/javax/print/ipp/IppRequest.h b/libjava/gnu/javax/print/ipp/IppRequest.h
new file mode 100644
index 000000000..069f96423
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppRequest.h
@@ -0,0 +1,88 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppRequest__
+#define __gnu_javax_print_ipp_IppRequest__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppRequest;
+            class IppResponse;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class HttpURLConnection;
+        class URI;
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppRequest : public ::java::lang::Object
+{
+
+public:
+  IppRequest(::java::net::URI *, ::java::lang::String *, ::java::lang::String *);
+private:
+  jint incrementRequestIdCounter();
+public:
+  virtual jint getRequestID();
+  virtual void setData(::java::io::InputStream *);
+  virtual void setData(JArray< jbyte > *);
+  virtual void setOperationID(jshort);
+  virtual void setOperationAttributeDefaults();
+  virtual void addJobAttribute(::javax::print::attribute::Attribute *);
+  virtual void addPrinterAttributes(::javax::print::attribute::Attribute *);
+  virtual void addOperationAttribute(::javax::print::attribute::Attribute *);
+  virtual void addAndFilterJobOperationAttributes(::javax::print::attribute::AttributeSet *);
+  virtual void addAndFilterJobTemplateAttributes(::javax::print::attribute::AttributeSet *);
+  virtual ::gnu::javax::print::ipp::IppResponse * send();
+private:
+  static const jint timeout = 1000;
+public: // actually package-private
+  static ::java::util::logging::Logger * logger;
+private:
+  static jint requestIdCounter;
+  static const jshort VERSION = 257;
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) alreadySent;
+  jshort operation_id;
+  jint request_id;
+  ::javax::print::attribute::AttributeSet * operationAttributes;
+  ::javax::print::attribute::AttributeSet * printerAttributes;
+  ::javax::print::attribute::AttributeSet * jobAttributes;
+  ::java::lang::Object * data;
+  ::java::net::URI * requestUri;
+  ::java::net::HttpURLConnection * connection;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppRequest__
diff --git a/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h b/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h
new file mode 100644
index 000000000..5f7dc2fc2
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppResponse$ResponseReader.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppResponse$ResponseReader__
+#define __gnu_javax_print_ipp_IppResponse$ResponseReader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppResponse;
+            class IppResponse$ResponseReader;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+        namespace standard
+        {
+            class JobStateReasons;
+            class PrinterStateReasons;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppResponse$ResponseReader : public ::java::lang::Object
+{
+
+public: // actually package-private
+  IppResponse$ResponseReader(::gnu::javax::print::ipp::IppResponse *);
+public:
+  virtual void parseResponse(::java::io::InputStream *);
+private:
+  jbyte parseAttributes(::java::util::Map *, ::java::io::DataInputStream *);
+  void addAttribute(::java::util::Map *, ::javax::print::attribute::Attribute *);
+  ::javax::print::attribute::standard::PrinterStateReasons * parsePrinterStateReasons(JArray< jbyte > *, ::javax::print::attribute::Attribute *);
+  ::javax::print::attribute::standard::JobStateReasons * parseJobStateReasons(JArray< jbyte > *, ::javax::print::attribute::Attribute *);
+  ::java::util::Date * parseDate(JArray< jbyte > *);
+  static const jshort VERSION = 257;
+public: // actually package-private
+  ::gnu::javax::print::ipp::IppResponse * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppResponse$ResponseReader__
diff --git a/libjava/gnu/javax/print/ipp/IppResponse.h b/libjava/gnu/javax/print/ipp/IppResponse.h
new file mode 100644
index 000000000..468b71328
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppResponse.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppResponse__
+#define __gnu_javax_print_ipp_IppResponse__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppResponse;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppResponse : public ::java::lang::Object
+{
+
+public:
+  IppResponse(::java::net::URI *, jshort);
+public: // actually protected
+  virtual void setResponseData(::java::io::InputStream *);
+public:
+  virtual ::java::net::URI * getURI();
+  virtual jint getOperationID();
+  virtual ::java::util::List * getJobAttributes();
+  virtual ::java::util::List * getOperationAttributes();
+  virtual ::java::util::List * getPrinterAttributes();
+  virtual jint getRequestID();
+  virtual jshort getStatusCode();
+  virtual ::java::util::List * getUnsupportedAttributes();
+  virtual JArray< jbyte > * getData();
+public: // actually package-private
+  static ::java::util::logging::Logger * logger;
+  ::java::net::URI * __attribute__((aligned(__alignof__( ::java::lang::Object)))) uri;
+  jshort operation_id;
+  jshort status_code;
+  jint request_id;
+  ::java::util::List * operationAttributes;
+  ::java::util::List * printerAttributes;
+  ::java::util::List * jobAttributes;
+  ::java::util::List * unsupportedAttributes;
+  JArray< jbyte > * data;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppResponse__
diff --git a/libjava/gnu/javax/print/ipp/IppStatusCode.h b/libjava/gnu/javax/print/ipp/IppStatusCode.h
new file mode 100644
index 000000000..dd3eb0d37
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppStatusCode.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppStatusCode__
+#define __gnu_javax_print_ipp_IppStatusCode__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppStatusCode;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppStatusCode : public ::java::lang::Object
+{
+
+  IppStatusCode();
+public:
+  static const jint SUCCESSFUL_OK = 0;
+  static const jint SUCCESSFUL_OK_IGNORED_OR_SUBSTITUED_ATTRIBUTES = 1;
+  static const jint SUCCESSFUL_OK_CONFLICTING_ATTRIBUTES = 2;
+  static const jint CLIENT_ERROR_BAD_REQUEST = 1024;
+  static const jint CLIENT_ERROR_FORBIDDEN = 1025;
+  static const jint CLIENT_ERROR_NOT_AUTHENTICATED = 1026;
+  static const jint CLIENT_ERROR_NOT_AUTHORIZED = 1027;
+  static const jint CLIENT_ERROR_NOT_POSSIBLE = 1028;
+  static const jint CLIENT_ERROR_TIMEOUT = 1029;
+  static const jint CLIENT_ERROR_NOT_FOUND = 1030;
+  static const jint CLIENT_ERROR_GONE = 1031;
+  static const jint CLIENT_ERROR_REQUEST_ENTITY_TOO_LONG = 1032;
+  static const jint CLIENT_ERROR_REQUEST_VALUE_TOO_LONG = 1033;
+  static const jint CLIENT_ERROR_DOCUMENT_FORMAT_NOT_SUPPORTED = 1034;
+  static const jint CLIENT_ERROR_ATTRIBUTES_OR_VALUES_NOT_SUPPORTED = 1035;
+  static const jint CLIENT_ERROR_URI_SCHEME_NOT_SUPPORTED = 1036;
+  static const jint CLIENT_ERROR_CHARSET_NOT_SUPPORTED = 1037;
+  static const jint CLIENT_ERROR_CONFLICTING_ATTRIBUTES = 1038;
+  static const jint CLIENT_ERROR_COMPRESSION_NOT_SUPPORTED = 1039;
+  static const jint CLIENT_ERROR_COMPRESSION_ERROR = 1040;
+  static const jint CLIENT_ERROR_DOCUMENT_FORMAT_ERROR = 1041;
+  static const jint CLIENT_ERROR_DOCUMENT_ACCESS_ERROR = 1042;
+  static const jint SERVER_ERROR_INTERNAL_ERROR = 1280;
+  static const jint SERVER_ERROR_OPERATION_NOT_SUPPORTED = 1281;
+  static const jint SERVER_ERROR_SERVICE_UNAVAILABLE = 1282;
+  static const jint SERVER_ERROR_VERSION_NOT_SUPPORTED = 1283;
+  static const jint SERVER_ERROR_DEVICE_ERROR = 1284;
+  static const jint SERVER_ERROR_TEMPORARY_ERROR = 1285;
+  static const jint SERVER_ERROR_NOT_ACCEPTING_JOBS = 1286;
+  static const jint SERVER_ERROR_BUSY = 1287;
+  static const jint SERVER_ERROR_JOB_CANCELED = 1288;
+  static const jint SERVER_ERROR_MULTIPLE_DOCUMENT_JOBS_NOT_SUPPORTED = 1289;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppStatusCode__
diff --git a/libjava/gnu/javax/print/ipp/IppUtilities.h b/libjava/gnu/javax/print/ipp/IppUtilities.h
new file mode 100644
index 000000000..000723f66
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppUtilities.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppUtilities__
+#define __gnu_javax_print_ipp_IppUtilities__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppUtilities;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppUtilities : public ::java::lang::Object
+{
+
+  IppUtilities();
+public:
+  static ::java::lang::Class * getClass(::java::lang::String *);
+  static ::java::lang::String * getSupportedAttrName(::java::lang::Class *);
+  static ::java::lang::Class * getSupportedCategory(::java::lang::Class *);
+  static jint convertToInt(JArray< jbyte > *);
+  static jint convertToInt(jbyte, jbyte, jbyte, jbyte);
+  static jshort convertToShort(jbyte, jbyte);
+  static ::javax::print::attribute::Attribute * getEnumAttribute(::java::lang::String *, ::java::lang::Object *);
+  static ::javax::print::attribute::Attribute * getIntegerAttribute(::java::lang::String *, jint);
+  static ::javax::print::attribute::Attribute * getTextAttribute(::java::lang::String *, jbyte, JArray< jbyte > *);
+private:
+  static JArray< ::java::lang::Object * > * INTEGER_ATT_VALUE;
+  static JArray< ::java::lang::Class * > * INTEGER_CLASS_ARRAY;
+  static JArray< ::java::lang::Object * > * TEXT_ATT_VALUE;
+  static JArray< ::java::lang::Class * > * TEXT_CLASS_ARRAY;
+  static ::java::util::HashMap * classesByName;
+  static ::java::util::HashMap * instanceByClass;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppUtilities__
diff --git a/libjava/gnu/javax/print/ipp/IppValueTag.h b/libjava/gnu/javax/print/ipp/IppValueTag.h
new file mode 100644
index 000000000..341f87c59
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/IppValueTag.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_IppValueTag__
+#define __gnu_javax_print_ipp_IppValueTag__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppValueTag;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::IppValueTag : public ::java::lang::Object
+{
+
+  IppValueTag();
+public:
+  static jboolean isValueTag(jbyte);
+  static const jbyte UNSUPPORTED = 16;
+  static const jbyte UNKNOWN = 18;
+  static const jbyte NO_VALUE = 19;
+  static const jbyte INTEGER = 33;
+  static const jbyte BOOLEAN = 34;
+  static const jbyte ENUM = 35;
+  static const jbyte OCTECTSTRING_UNSPECIFIED = 48;
+  static const jbyte DATETIME = 49;
+  static const jbyte RESOLUTION = 50;
+  static const jbyte RANGEOFINTEGER = 51;
+  static const jbyte TEXT_WITH_LANGUAGE = 53;
+  static const jbyte NAME_WITH_LANGUAGE = 54;
+  static const jbyte TEXT_WITHOUT_LANGUAGE = 65;
+  static const jbyte NAME_WITHOUT_LANGUAGE = 66;
+  static const jbyte KEYWORD = 68;
+  static const jbyte URI = 69;
+  static const jbyte URI_SCHEME = 70;
+  static const jbyte CHARSET = 71;
+  static const jbyte NATURAL_LANGUAGE = 72;
+  static const jbyte MIME_MEDIA_TYPE = 73;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_IppValueTag__
diff --git a/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h b/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h
new file mode 100644
index 000000000..dbe7cd8a6
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/MultiDocPrintJobImpl.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_MultiDocPrintJobImpl__
+#define __gnu_javax_print_ipp_MultiDocPrintJobImpl__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/DocPrintJobImpl.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+            class IppPrintService;
+            class MultiDocPrintJobImpl;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class MultiDoc;
+      namespace attribute
+      {
+          class PrintRequestAttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::MultiDocPrintJobImpl : public ::gnu::javax::print::ipp::DocPrintJobImpl
+{
+
+public:
+  MultiDocPrintJobImpl(::gnu::javax::print::ipp::IppPrintService *, ::java::lang::String *, ::java::lang::String *);
+  virtual void print(::javax::print::MultiDoc *, ::javax::print::attribute::PrintRequestAttributeSet *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_MultiDocPrintJobImpl__
diff --git a/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h b/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h
new file mode 100644
index 000000000..bc02d4b76
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/CharsetSyntax.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_CharsetSyntax__
+#define __gnu_javax_print_ipp_attribute_CharsetSyntax__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class CharsetSyntax;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::CharsetSyntax : public ::java::lang::Object
+{
+
+public: // actually protected
+  CharsetSyntax(::java::lang::String *);
+public:
+  virtual ::java::lang::String * getValue();
+  virtual jint hashCode();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_CharsetSyntax__
diff --git a/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h b/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h
new file mode 100644
index 000000000..25c1c0133
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/DefaultValueAttribute.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_DefaultValueAttribute__
+#define __gnu_javax_print_ipp_attribute_DefaultValueAttribute__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class DefaultValueAttribute;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::DefaultValueAttribute : public ::java::lang::Object
+{
+
+public:
+  virtual ::javax::print::attribute::Attribute * getAssociatedAttribute() = 0;
+  virtual ::java::lang::Class * getCategory() = 0;
+  virtual ::java::lang::String * getName() = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_print_ipp_attribute_DefaultValueAttribute__
diff --git a/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h b/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h
new file mode 100644
index 000000000..0b0be102a
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/DetailedStatusMessage.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_DetailedStatusMessage__
+#define __gnu_javax_print_ipp_attribute_DetailedStatusMessage__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class DetailedStatusMessage;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::DetailedStatusMessage : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  DetailedStatusMessage(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_DetailedStatusMessage__
diff --git a/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h b/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h
new file mode 100644
index 000000000..8a641a0a0
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/DocumentAccessError.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_DocumentAccessError__
+#define __gnu_javax_print_ipp_attribute_DocumentAccessError__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class DocumentAccessError;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::DocumentAccessError : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  DocumentAccessError(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_DocumentAccessError__
diff --git a/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h b/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h
new file mode 100644
index 000000000..7913233b9
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__
+#define __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class NaturalLanguageSyntax;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::NaturalLanguageSyntax : public ::java::lang::Object
+{
+
+public: // actually protected
+  NaturalLanguageSyntax(::java::lang::String *);
+public:
+  virtual ::java::lang::String * getValue();
+  virtual jint hashCode();
+  virtual jboolean equals(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_NaturalLanguageSyntax__
diff --git a/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h b/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h
new file mode 100644
index 000000000..9a4b2567e
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/RequestedAttributes.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_RequestedAttributes__
+#define __gnu_javax_print_ipp_attribute_RequestedAttributes__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class RequestedAttributes;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::RequestedAttributes : public ::java::lang::Object
+{
+
+public:
+  RequestedAttributes(::java::lang::String *);
+  void addValue(::java::lang::String *);
+  JArray< ::java::lang::String * > * getValues();
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::java::lang::String * toString();
+private:
+  ::java::util::ArrayList * __attribute__((aligned(__alignof__( ::java::lang::Object)))) attributes;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_RequestedAttributes__
diff --git a/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h b/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h
new file mode 100644
index 000000000..b87c9800f
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/StatusMessage.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_StatusMessage__
+#define __gnu_javax_print_ipp_attribute_StatusMessage__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class StatusMessage;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::StatusMessage : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  StatusMessage(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_StatusMessage__
diff --git a/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h b/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h
new file mode 100644
index 000000000..dc6aa6550
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/UnknownAttribute.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_UnknownAttribute__
+#define __gnu_javax_print_ipp_attribute_UnknownAttribute__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+              class UnknownAttribute;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::UnknownAttribute : public ::java::lang::Object
+{
+
+public:
+  UnknownAttribute(jbyte, ::java::lang::String *, JArray< jbyte > *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  jbyte getValueTag();
+  ::java::lang::String * getAttributeName();
+  JArray< jbyte > * getAttributeValue();
+  ::java::lang::String * getAttributeValueAsString();
+  jint getAttributeValueAsInt();
+  ::java::net::URI * getAttributeValueAsUri();
+  ::java::lang::String * toString();
+private:
+  jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) tag;
+  ::java::lang::String * name;
+  JArray< jbyte > * value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_UnknownAttribute__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h
new file mode 100644
index 000000000..2a0c003fb
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/CopiesDefault.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class CopiesDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::CopiesDefault : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  CopiesDefault(jint);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_CopiesDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h
new file mode 100644
index 000000000..d86ecdeaa
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/DocumentFormatDefault.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class DocumentFormatDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::DocumentFormatDefault : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  DocumentFormatDefault(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_DocumentFormatDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h
new file mode 100644
index 000000000..97a6f4a86
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/FinishingsDefault.h
@@ -0,0 +1,85 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class FinishingsDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::FinishingsDefault : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  FinishingsDefault(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * NONE;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * COVER;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * BIND;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * SADDLE_STITCH;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_TOP_LEFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_BOTTOM_LEFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_TOP_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_BOTTOM_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_LEFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_TOP;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * EDGE_STITCH_BOTTOM;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_LEFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_TOP;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * STAPLE_DUAL_BOTTOM;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::defaults::FinishingsDefault * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_FinishingsDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h
new file mode 100644
index 000000000..5a059dc00
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobHoldUntilDefault.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class JobHoldUntilDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobHoldUntilDefault(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * NO_HOLD;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * INDEFINITE;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * DAY_TIME;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * EVENING;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * NIGHT;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * WEEKEND;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * SECOND_SHIFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobHoldUntilDefault * THIRD_SHIFT;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_JobHoldUntilDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h
new file mode 100644
index 000000000..22f503013
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobPriorityDefault.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class JobPriorityDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::JobPriorityDefault : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  JobPriorityDefault(jint);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_JobPriorityDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h
new file mode 100644
index 000000000..d8f4cb258
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/JobSheetsDefault.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class JobSheetsDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobSheetsDefault(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * NONE;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * STANDARD;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_JobSheetsDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h
new file mode 100644
index 000000000..9825da305
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/MediaDefault.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_MediaDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_MediaDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class MediaDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::MediaDefault : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  MediaDefault(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_MediaDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h
new file mode 100644
index 000000000..9ffc18486
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/MultipleDocumentHandlingDefault.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class MultipleDocumentHandlingDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  MultipleDocumentHandlingDefault(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SINGLE_DOCUMENT;
+  static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES;
+  static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SEPARATE_DOCUMENTS_COLLATED_COPIES;
+  static ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * SINGLE_DOCUMENT_NEW_SHEET;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::defaults::MultipleDocumentHandlingDefault * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_MultipleDocumentHandlingDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h
new file mode 100644
index 000000000..cc4d01d66
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/NumberUpDefault.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class NumberUpDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::NumberUpDefault : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  NumberUpDefault(jint);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_NumberUpDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h
new file mode 100644
index 000000000..7b53cec27
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/OrientationRequestedDefault.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class OrientationRequestedDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  OrientationRequestedDefault(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * PORTRAIT;
+  static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * LANDSCAPE;
+  static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * REVERSE_LANDSCAPE;
+  static ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * REVERSE_PORTRAIT;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::defaults::OrientationRequestedDefault * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_OrientationRequestedDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h
new file mode 100644
index 000000000..0c0bf5aa8
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/PrintQualityDefault.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class PrintQualityDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  PrintQualityDefault(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * DRAFT;
+  static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * NORMAL;
+  static ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * HIGH;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::defaults::PrintQualityDefault * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_PrintQualityDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h
new file mode 100644
index 000000000..faeeb6de8
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/PrinterResolutionDefault.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/ResolutionSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class PrinterResolutionDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::PrinterResolutionDefault : public ::javax::print::attribute::ResolutionSyntax
+{
+
+public:
+  PrinterResolutionDefault(jint, jint, jint);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_PrinterResolutionDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h b/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h
new file mode 100644
index 000000000..836ca618b
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/defaults/SidesDefault.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_defaults_SidesDefault__
+#define __gnu_javax_print_ipp_attribute_defaults_SidesDefault__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class SidesDefault;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class Attribute;
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::defaults::SidesDefault : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  SidesDefault(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  ::javax::print::attribute::Attribute * getAssociatedAttribute();
+  static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * ONE_SIDED;
+  static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TWO_SIDED_LONG_EDGE;
+  static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TWO_SIDED_SHORT_EDGE;
+  static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * DUPLEX;
+  static ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * TUMBLE;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::defaults::SidesDefault * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_defaults_SidesDefault__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h b/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h
new file mode 100644
index 000000000..82cb55b43
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/AttributesCharset.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_AttributesCharset__
+#define __gnu_javax_print_ipp_attribute_job_AttributesCharset__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/CharsetSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class AttributesCharset;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::AttributesCharset : public ::gnu::javax::print::ipp::attribute::CharsetSyntax
+{
+
+public:
+  AttributesCharset(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::gnu::javax::print::ipp::attribute::job::AttributesCharset * UTF8;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_AttributesCharset__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h b/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h
new file mode 100644
index 000000000..e69e1c860
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/AttributesNaturalLanguage.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__
+#define __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class AttributesNaturalLanguage;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::AttributesNaturalLanguage : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax
+{
+
+public:
+  AttributesNaturalLanguage(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::gnu::javax::print::ipp::attribute::job::AttributesNaturalLanguage * EN;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_AttributesNaturalLanguage__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h b/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h
new file mode 100644
index 000000000..c21c942f4
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobDetailedStatusMessages.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__
+#define __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobDetailedStatusMessages;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobDetailedStatusMessages : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobDetailedStatusMessages(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobDetailedStatusMessages__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h b/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h
new file mode 100644
index 000000000..9aaaf03e0
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobDocumentAccessErrors.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__
+#define __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobDocumentAccessErrors;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobDocumentAccessErrors : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobDocumentAccessErrors(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobDocumentAccessErrors__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobId.h b/libjava/gnu/javax/print/ipp/attribute/job/JobId.h
new file mode 100644
index 000000000..6141d51c1
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobId.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobId__
+#define __gnu_javax_print_ipp_attribute_job_JobId__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobId;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobId : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  JobId(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobId__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h b/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h
new file mode 100644
index 000000000..61a5364c5
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobMoreInfo.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobMoreInfo__
+#define __gnu_javax_print_ipp_attribute_job_JobMoreInfo__
+
+#pragma interface
+
+#include <javax/print/attribute/URISyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobMoreInfo;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobMoreInfo : public ::javax::print::attribute::URISyntax
+{
+
+public:
+  JobMoreInfo(::java::net::URI *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobMoreInfo__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h b/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h
new file mode 100644
index 000000000..7ac6adf30
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobPrinterUri.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobPrinterUri__
+#define __gnu_javax_print_ipp_attribute_job_JobPrinterUri__
+
+#pragma interface
+
+#include <javax/print/attribute/URISyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobPrinterUri;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobPrinterUri : public ::javax::print::attribute::URISyntax
+{
+
+public:
+  JobPrinterUri(::java::net::URI *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobPrinterUri__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h b/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h
new file mode 100644
index 000000000..3eb3c3652
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobStateMessage.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobStateMessage__
+#define __gnu_javax_print_ipp_attribute_job_JobStateMessage__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobStateMessage;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobStateMessage : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobStateMessage(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobStateMessage__
diff --git a/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h b/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h
new file mode 100644
index 000000000..42551e00d
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/job/JobUri.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_job_JobUri__
+#define __gnu_javax_print_ipp_attribute_job_JobUri__
+
+#pragma interface
+
+#include <javax/print/attribute/URISyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace job
+            {
+                class JobUri;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::job::JobUri : public ::javax::print::attribute::URISyntax
+{
+
+public:
+  JobUri(::java::net::URI *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_job_JobUri__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h b/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h
new file mode 100644
index 000000000..4d4da6823
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/CharsetConfigured.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__
+#define __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/CharsetSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class CharsetConfigured;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::CharsetConfigured : public ::gnu::javax::print::ipp::attribute::CharsetSyntax
+{
+
+public:
+  CharsetConfigured(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_CharsetConfigured__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h b/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h
new file mode 100644
index 000000000..24ed61956
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/DocumentFormat.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_DocumentFormat__
+#define __gnu_javax_print_ipp_attribute_printer_DocumentFormat__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class DocumentFormat;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+        class DocFlavor;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::DocumentFormat : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  DocumentFormat(::java::lang::String *, ::java::util::Locale *);
+  static ::gnu::javax::print::ipp::attribute::printer::DocumentFormat * createDocumentFormat(::javax::print::DocFlavor *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_DocumentFormat__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h b/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h
new file mode 100644
index 000000000..ecce21208
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/MultipleOperationTimeOut.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__
+#define __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class MultipleOperationTimeOut;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::MultipleOperationTimeOut : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  MultipleOperationTimeOut(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_MultipleOperationTimeOut__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h b/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h
new file mode 100644
index 000000000..4e520a500
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/NaturalLanguageConfigured.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__
+#define __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class NaturalLanguageConfigured;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::NaturalLanguageConfigured : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax
+{
+
+public:
+  NaturalLanguageConfigured(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_NaturalLanguageConfigured__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h
new file mode 100644
index 000000000..a473cf191
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterCurrentTime.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__
+#define __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__
+
+#pragma interface
+
+#include <javax/print/attribute/DateTimeSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class PrinterCurrentTime;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::PrinterCurrentTime : public ::javax::print::attribute::DateTimeSyntax
+{
+
+public:
+  PrinterCurrentTime(::java::util::Date *);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_PrinterCurrentTime__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h
new file mode 100644
index 000000000..509573271
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterDriverInstaller.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__
+#define __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__
+
+#pragma interface
+
+#include <javax/print/attribute/URISyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class PrinterDriverInstaller;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::PrinterDriverInstaller : public ::javax::print::attribute::URISyntax
+{
+
+public:
+  PrinterDriverInstaller(::java::net::URI *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_PrinterDriverInstaller__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h
new file mode 100644
index 000000000..286c4457a
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterStateMessage.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__
+#define __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class PrinterStateMessage;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::PrinterStateMessage : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  PrinterStateMessage(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_PrinterStateMessage__
diff --git a/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h
new file mode 100644
index 000000000..4fba7e000
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/printer/PrinterUpTime.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__
+#define __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__
+
+#pragma interface
+
+#include <javax/print/attribute/IntegerSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace printer
+            {
+                class PrinterUpTime;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::printer::PrinterUpTime : public ::javax::print::attribute::IntegerSyntax
+{
+
+public:
+  PrinterUpTime(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_printer_PrinterUpTime__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h
new file mode 100644
index 000000000..f9a87b58e
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/CharsetSupported.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_CharsetSupported__
+#define __gnu_javax_print_ipp_attribute_supported_CharsetSupported__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/CharsetSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class CharsetSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::CharsetSupported : public ::gnu::javax::print::ipp::attribute::CharsetSyntax
+{
+
+public:
+  CharsetSupported(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_CharsetSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h
new file mode 100644
index 000000000..c3e5b8ce1
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/CompressionSupported.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_CompressionSupported__
+#define __gnu_javax_print_ipp_attribute_supported_CompressionSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class CompressionSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+        namespace standard
+        {
+            class Compression;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::CompressionSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  CompressionSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  ::javax::print::attribute::standard::Compression * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::Compression * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * NONE;
+  static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * DEFLATE;
+  static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * GZIP;
+  static ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * COMPRESS;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::CompressionSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_CompressionSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h
new file mode 100644
index 000000000..16add8c0f
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/DocumentFormatSupported.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__
+#define __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class DocumentFormatSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::DocumentFormatSupported : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  DocumentFormatSupported(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_DocumentFormatSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h
new file mode 100644
index 000000000..ec9814525
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/FinishingsSupported.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__
+#define __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class FinishingsSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+        namespace standard
+        {
+            class Finishings;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::FinishingsSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  FinishingsSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::standard::Finishings * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::Finishings * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * NONE;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * COVER;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * BIND;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * SADDLE_STITCH;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_TOP_LEFT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_BOTTOM_LEFT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_TOP_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_BOTTOM_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_LEFT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_TOP;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * EDGE_STITCH_BOTTOM;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_LEFT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_TOP;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_RIGHT;
+  static ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * STAPLE_DUAL_BOTTOM;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::FinishingsSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_FinishingsSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h
new file mode 100644
index 000000000..9a1c3c417
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/GeneratedNaturalLanguageSupported.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__
+#define __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__
+
+#pragma interface
+
+#include <gnu/javax/print/ipp/attribute/NaturalLanguageSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class GeneratedNaturalLanguageSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::GeneratedNaturalLanguageSupported : public ::gnu::javax::print::ipp::attribute::NaturalLanguageSyntax
+{
+
+public:
+  GeneratedNaturalLanguageSupported(::java::lang::String *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_GeneratedNaturalLanguageSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h
new file mode 100644
index 000000000..058b8d192
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/IppVersionsSupported.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__
+#define __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class IppVersionsSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::IppVersionsSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public:
+  IppVersionsSupported(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * V_1_0;
+  static ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * V_1_1;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::IppVersionsSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_IppVersionsSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h
new file mode 100644
index 000000000..2e7e6cd8d
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/JobHoldUntilSupported.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__
+#define __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class JobHoldUntilSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobHoldUntilSupported(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * NO_HOLD;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * INDEFINITE;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * DAY_TIME;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * EVENING;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * NIGHT;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * WEEKEND;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * SECOND_SHIFT;
+  static ::gnu::javax::print::ipp::attribute::supported::JobHoldUntilSupported * THIRD_SHIFT;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_JobHoldUntilSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h
new file mode 100644
index 000000000..38ab8a773
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/JobSheetsSupported.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__
+#define __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace defaults
+            {
+                class JobSheetsDefault;
+            }
+            namespace supported
+            {
+                class JobSheetsSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+        namespace standard
+        {
+            class JobSheets;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::JobSheetsSupported : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  JobSheetsSupported(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::standard::JobSheets * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::JobSheets * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * NONE;
+  static ::gnu::javax::print::ipp::attribute::defaults::JobSheetsDefault * STANDARD;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_JobSheetsSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h
new file mode 100644
index 000000000..be9ad30af
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/MediaSupported.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_MediaSupported__
+#define __gnu_javax_print_ipp_attribute_supported_MediaSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/TextSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class MediaSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+        namespace standard
+        {
+            class Media;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::MediaSupported : public ::javax::print::attribute::TextSyntax
+{
+
+public:
+  MediaSupported(::java::lang::String *, ::java::util::Locale *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static JArray< ::javax::print::attribute::standard::Media * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_MediaSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h
new file mode 100644
index 000000000..2c378c228
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentHandlingSupported.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__
+#define __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class MultipleDocumentHandlingSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+        namespace standard
+        {
+            class MultipleDocumentHandling;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  MultipleDocumentHandlingSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  ::javax::print::attribute::standard::MultipleDocumentHandling * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::MultipleDocumentHandling * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SINGLE_DOCUMENT;
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SEPARATE_DOCUMENTS_UNCOLLATED_COPIES;
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SEPARATE_DOCUMENTS_COLLATED_COPIES;
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * SINGLE_DOCUMENT_NEW_SHEET;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentHandlingSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_MultipleDocumentHandlingSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h
new file mode 100644
index 000000000..66920c0e2
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/MultipleDocumentJobsSupported.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__
+#define __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class MultipleDocumentJobsSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  MultipleDocumentJobsSupported(jint);
+public:
+  virtual ::java::lang::Class * getCategory();
+  virtual ::java::lang::String * getName();
+public: // actually protected
+  virtual JArray< ::java::lang::String * > * getStringTable();
+  virtual JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * NOT_SUPPORTED;
+  static ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * SUPPORTED;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::MultipleDocumentJobsSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_MultipleDocumentJobsSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h
new file mode 100644
index 000000000..655d7edce
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/OperationsSupported.h
@@ -0,0 +1,82 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_OperationsSupported__
+#define __gnu_javax_print_ipp_attribute_supported_OperationsSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class OperationsSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::OperationsSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  OperationsSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PRINT_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PRINT_URI;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * VALIDATE_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * CREATE_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * SEND_DOCUMENT;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * SEND_URI;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * CANCEL_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_JOB_ATTRIBUTES;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PAUSE_PRINTER;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_JOBS;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * GET_PRINTER_ATTRIBUTES;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * HOLD_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RELEASE_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESTART_JOB;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESERVED;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * RESUME_PRINTER;
+  static ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * PURGE_JOBS;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::OperationsSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_OperationsSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h
new file mode 100644
index 000000000..bbb90a4cc
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/OrientationRequestedSupported.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__
+#define __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class OrientationRequestedSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+        namespace standard
+        {
+            class OrientationRequested;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  OrientationRequestedSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::standard::OrientationRequested * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::OrientationRequested * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * PORTRAIT;
+  static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * LANDSCAPE;
+  static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * REVERSE_LANDSCAPE;
+  static ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * REVERSE_PORTRAIT;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::OrientationRequestedSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_OrientationRequestedSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h
new file mode 100644
index 000000000..3baf062c3
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/PageRangesSupported.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__
+#define __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class PageRangesSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::PageRangesSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  PageRangesSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * NOT_SUPPORTED;
+  static ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * SUPPORTED;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::PageRangesSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_PageRangesSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h
new file mode 100644
index 000000000..5f40779c3
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrintQualitySupported.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__
+#define __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class PrintQualitySupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+        namespace standard
+        {
+            class PrintQuality;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::PrintQualitySupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  PrintQualitySupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+  jint getOffset();
+public:
+  ::javax::print::attribute::standard::PrintQuality * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::PrintQuality * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * DRAFT;
+  static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * NORMAL;
+  static ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * HIGH;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::PrintQualitySupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_PrintQualitySupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h
new file mode 100644
index 000000000..c9784671e
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterResolutionSupported.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__
+#define __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/ResolutionSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class PrinterResolutionSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+        namespace standard
+        {
+            class PrinterResolution;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::PrinterResolutionSupported : public ::javax::print::attribute::ResolutionSyntax
+{
+
+public:
+  PrinterResolutionSupported(jint, jint, jint);
+  jboolean equals(::java::lang::Object *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  ::javax::print::attribute::standard::PrinterResolution * getAssociatedAttribute();
+  static JArray< ::javax::print::attribute::standard::PrinterResolution * > * getAssociatedAttributeArray(::java::util::Set *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_PrinterResolutionSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h
new file mode 100644
index 000000000..3c7b99d5f
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/PrinterUriSupported.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__
+#define __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/URISyntax.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class PrinterUriSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URI;
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::PrinterUriSupported : public ::javax::print::attribute::URISyntax
+{
+
+public:
+  PrinterUriSupported(::java::net::URI *);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_PrinterUriSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h
new file mode 100644
index 000000000..dbb186c10
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/SidesSupported.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_SidesSupported__
+#define __gnu_javax_print_ipp_attribute_supported_SidesSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class SidesSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::SidesSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public: // actually protected
+  SidesSupported(jint);
+public:
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * ONE_SIDED;
+  static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TWO_SIDED_LONG_EDGE;
+  static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TWO_SIDED_SHORT_EDGE;
+  static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * DUPLEX;
+  static ::gnu::javax::print::ipp::attribute::supported::SidesSupported * TUMBLE;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::SidesSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_SidesSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h
new file mode 100644
index 000000000..254a20aca
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/UriAuthenticationSupported.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__
+#define __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class UriAuthenticationSupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public:
+  UriAuthenticationSupported(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * NONE;
+  static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * REQUESTING_USER_NAME;
+  static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * BASIC;
+  static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * DIGEST;
+  static ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * CERTIFICATE;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::UriAuthenticationSupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_UriAuthenticationSupported__
diff --git a/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h b/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h
new file mode 100644
index 000000000..32f571f9d
--- /dev/null
+++ b/libjava/gnu/javax/print/ipp/attribute/supported/UriSecuritySupported.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__
+#define __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__
+
+#pragma interface
+
+#include <javax/print/attribute/EnumSyntax.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace print
+      {
+        namespace ipp
+        {
+          namespace attribute
+          {
+            namespace supported
+            {
+                class UriSecuritySupported;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace print
+    {
+      namespace attribute
+      {
+          class EnumSyntax;
+      }
+    }
+  }
+}
+
+class gnu::javax::print::ipp::attribute::supported::UriSecuritySupported : public ::javax::print::attribute::EnumSyntax
+{
+
+public:
+  UriSecuritySupported(jint);
+  ::java::lang::Class * getCategory();
+  ::java::lang::String * getName();
+public: // actually protected
+  JArray< ::java::lang::String * > * getStringTable();
+  JArray< ::javax::print::attribute::EnumSyntax * > * getEnumValueTable();
+public:
+  static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * NONE;
+  static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * SSL3;
+  static ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * TLS;
+private:
+  static JArray< ::java::lang::String * > * stringTable;
+  static JArray< ::gnu::javax::print::ipp::attribute::supported::UriSecuritySupported * > * enumValueTable;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_print_ipp_attribute_supported_UriSecuritySupported__
diff --git a/libjava/gnu/javax/rmi/CORBA/CorbaInput.h b/libjava/gnu/javax/rmi/CORBA/CorbaInput.h
new file mode 100644
index 000000000..8467a1c07
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/CorbaInput.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_CorbaInput__
+#define __gnu_javax_rmi_CORBA_CorbaInput__
+
+#pragma interface
+
+#include <java/io/ObjectInputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace CORBA
+    {
+      namespace CDR
+      {
+          class gnuRuntime;
+      }
+    }
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class CorbaInput;
+            class RmiUtilities;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA_2_3
+      {
+        namespace portable
+        {
+            class InputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::CorbaInput : public ::java::io::ObjectInputStream
+{
+
+public:
+  CorbaInput(::org::omg::CORBA_2_3::portable::InputStream *, ::java::lang::Object *, ::gnu::javax::rmi::CORBA::RmiUtilities *, jint, ::java::lang::String *, ::gnu::CORBA::CDR::gnuRuntime *);
+  virtual jint available();
+  virtual void close();
+  virtual void defaultReadObject();
+  virtual void mark(jint);
+  virtual jboolean markSupported();
+  virtual jint read();
+  virtual jint read(JArray< jbyte > *, jint, jint);
+  virtual jint read(JArray< jbyte > *);
+  virtual jboolean readBoolean();
+  virtual jbyte readByte();
+  virtual jchar readChar();
+  virtual jdouble readDouble();
+  virtual jfloat readFloat();
+  virtual void readFully(JArray< jbyte > *, jint, jint);
+  virtual void readFully(JArray< jbyte > *);
+  virtual jint readInt();
+  virtual ::java::lang::String * readLine();
+  virtual jlong readLong();
+  virtual jshort read_short();
+  virtual jint readUnsignedByte();
+  virtual jint readUnsignedShort();
+  virtual ::java::lang::String * readUTF();
+  virtual void reset();
+  virtual jlong skip(jlong);
+  virtual jint skipBytes(jint);
+public: // actually protected
+  virtual ::java::lang::Object * readObjectOverride();
+public:
+  ::org::omg::CORBA_2_3::portable::InputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectInputStream)))) stream;
+public: // actually package-private
+  ::gnu::javax::rmi::CORBA::RmiUtilities * util;
+  ::java::lang::Object * current;
+  jint offset;
+  ::java::lang::String * rid;
+  ::gnu::CORBA::CDR::gnuRuntime * runtime;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_CorbaInput__
diff --git a/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h b/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h
new file mode 100644
index 000000000..adbe74fae
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/CorbaOutput.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_CorbaOutput__
+#define __gnu_javax_rmi_CORBA_CorbaOutput__
+
+#pragma interface
+
+#include <java/io/ObjectOutputStream.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class CorbaOutput;
+            class RmiUtilities;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA_2_3
+      {
+        namespace portable
+        {
+            class OutputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::CorbaOutput : public ::java::io::ObjectOutputStream
+{
+
+public:
+  CorbaOutput(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::gnu::javax::rmi::CORBA::RmiUtilities *);
+  virtual void close();
+  virtual void flush();
+  virtual void write(JArray< jbyte > *, jint, jint);
+  virtual void write(JArray< jbyte > *);
+  virtual void write(jint);
+  virtual void writeBoolean(jboolean);
+  virtual void writeByte(jint);
+  virtual void writeBytes(::java::lang::String *);
+  virtual void writeChar(jint);
+  virtual void writeChars(::java::lang::String *);
+  virtual void writeDouble(jdouble);
+  virtual void writeFloat(jfloat);
+  virtual void writeInt(jint);
+  virtual void writeLong(jlong);
+public: // actually protected
+  virtual void writeObjectOverride(::java::lang::Object *);
+public:
+  virtual void writeShort(jint);
+  virtual void writeUTF(::java::lang::String *);
+  virtual void defaultWriteObject();
+public: // actually package-private
+  ::org::omg::CORBA_2_3::portable::OutputStream * __attribute__((aligned(__alignof__( ::java::io::ObjectOutputStream)))) stream;
+  ::gnu::javax::rmi::CORBA::RmiUtilities * util;
+  ::java::lang::Object * current;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_CorbaOutput__
diff --git a/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h b/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h
new file mode 100644
index 000000000..6234e881d
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__
+#define __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__
+
+#pragma interface
+
+#include <gnu/javax/rmi/CORBA/CorbaOutput.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class DefaultWriteObjectTester;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::DefaultWriteObjectTester : public ::gnu::javax::rmi::CORBA::CorbaOutput
+{
+
+public:
+  DefaultWriteObjectTester(::java::lang::Object *);
+  virtual void defaultWriteObject();
+public: // actually protected
+  virtual void writeObjectOverride(::java::lang::Object *);
+public:
+  jboolean __attribute__((aligned(__alignof__( ::gnu::javax::rmi::CORBA::CorbaOutput)))) dwo_called;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_DefaultWriteObjectTester__
diff --git a/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h b/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h
new file mode 100644
index 000000000..a1b449299
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/DelegateFactory.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_DelegateFactory__
+#define __gnu_javax_rmi_CORBA_DelegateFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class DelegateFactory;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::DelegateFactory : public ::java::lang::Object
+{
+
+public:
+  DelegateFactory();
+  static ::java::lang::Object * getInstance(::java::lang::String *);
+  static ::java::lang::String * STUB;
+  static ::java::lang::String * UTIL;
+  static ::java::lang::String * VALUEHANDLER;
+  static ::java::lang::String * PORTABLE_REMOTE_OBJECT;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_DelegateFactory__
diff --git a/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h b/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h
new file mode 100644
index 000000000..3f2b34c89
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/GetDelegateInstanceException.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_GetDelegateInstanceException__
+#define __gnu_javax_rmi_CORBA_GetDelegateInstanceException__
+
+#pragma interface
+
+#include <java/lang/Exception.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class GetDelegateInstanceException;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::GetDelegateInstanceException : public ::java::lang::Exception
+{
+
+public:
+  GetDelegateInstanceException(::java::lang::String *);
+  GetDelegateInstanceException(::java::lang::String *, ::java::lang::Throwable *);
+private:
+  ::java::lang::Throwable * __attribute__((aligned(__alignof__( ::java::lang::Exception)))) next;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_GetDelegateInstanceException__
diff --git a/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h
new file mode 100644
index 000000000..750b4fbb2
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__
+#define __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class PortableRemoteObjectDelegateImpl;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+        class Remote;
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::PortableRemoteObjectDelegateImpl : public ::java::lang::Object
+{
+
+public:
+  PortableRemoteObjectDelegateImpl();
+  virtual void connect(::java::rmi::Remote *, ::java::rmi::Remote *);
+  virtual ::java::lang::Object * narrow(::java::lang::Object *, ::java::lang::Class *);
+public: // actually package-private
+  static ::java::lang::String * getStubClassName(::java::lang::String *);
+public:
+  virtual ::java::rmi::Remote * toStub(::java::rmi::Remote *);
+  virtual void unexportObject(::java::rmi::Remote *);
+  virtual void exportObject(::java::rmi::Remote *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_PortableRemoteObjectDelegateImpl__
diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h
new file mode 100644
index 000000000..0c89137c8
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$1.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_RmiUtilities$1__
+#define __gnu_javax_rmi_CORBA_RmiUtilities$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class RmiUtilities$1;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::RmiUtilities$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  RmiUtilities$1();
+public:
+  virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_RmiUtilities$1__
diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h
new file mode 100644
index 000000000..750389128
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities$2.h
@@ -0,0 +1,37 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_RmiUtilities$2__
+#define __gnu_javax_rmi_CORBA_RmiUtilities$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class RmiUtilities$2;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::RmiUtilities$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  RmiUtilities$2();
+public:
+  virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_RmiUtilities$2__
diff --git a/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h b/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h
new file mode 100644
index 000000000..8dd5c60d0
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/RmiUtilities.h
@@ -0,0 +1,113 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_RmiUtilities__
+#define __gnu_javax_rmi_CORBA_RmiUtilities__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace CORBA
+    {
+      namespace CDR
+      {
+          class gnuRuntime;
+      }
+    }
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class RmiUtilities;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class WStringValueHelper;
+        namespace portable
+        {
+            class InputStream;
+            class OutputStream;
+        }
+      }
+      namespace CORBA_2_3
+      {
+        namespace portable
+        {
+            class InputStream;
+            class OutputStream;
+        }
+      }
+      namespace SendingContext
+      {
+          class RunTime;
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::RmiUtilities : public ::java::lang::Object
+{
+
+public:
+  RmiUtilities();
+public: // actually package-private
+  virtual void writeFields(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *);
+  virtual void writeMember(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::java::lang::Class *);
+public:
+  virtual jboolean isTieRequired(::java::lang::Object *);
+public: // actually package-private
+  virtual ::java::lang::Class * getExportedInterface(::java::lang::Object *);
+public:
+  static jlong getHashCode(::java::lang::Class *);
+  static ::java::lang::String * toHex(jlong);
+public: // actually package-private
+  static ::java::lang::String * getDescriptor(::java::lang::Class *);
+public:
+  static JArray< ::java::lang::reflect::Field * > * getWritableFields(::java::lang::Class *);
+public: // actually package-private
+  virtual void exportTie(::org::omg::CORBA_2_3::portable::OutputStream *, ::java::lang::Object *, ::java::lang::Class *);
+  virtual void ensureOrbRunning(::org::omg::CORBA_2_3::portable::OutputStream *);
+public:
+  virtual void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *);
+  virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *);
+  virtual ::java::io::Serializable * readValue(::org::omg::CORBA::portable::InputStream *, jint, ::java::lang::Class *, ::java::lang::String *, ::org::omg::SendingContext::RunTime *);
+public: // actually package-private
+  virtual ::java::io::Serializable * instantiate(jint, ::java::lang::Class *, ::gnu::CORBA::CDR::gnuRuntime *);
+  virtual void readFields(jint, ::java::lang::String *, ::java::io::Serializable *, ::org::omg::CORBA_2_3::portable::InputStream *, ::gnu::CORBA::CDR::gnuRuntime *);
+public:
+  static jbyte VERSION;
+public: // actually package-private
+  static const jint NON_WRITABLE = 136;
+public:
+  static ::java::lang::String * RMI_STRING_ID;
+  static ::java::lang::String * RMI_CLASS_ID;
+  static ::java::lang::String * RMI_STRING_ARRAY_ID;
+public: // actually package-private
+  static ::org::omg::CORBA::WStringValueHelper * wStringValueHelper;
+  ::java::util::WeakHashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) io_format;
+  static ::java::lang::Object * STANDARD;
+  static ::java::lang::Object * CUSTOM_DWO;
+  static ::java::lang::Object * CUSTOM_NO_DWO;
+  static JArray< ::java::lang::Class * > * READ_OBJECT_ARGS;
+  static JArray< ::java::lang::Class * > * WRITE_OBJECT_ARGS;
+  static const jint S_X = 16908034;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_RmiUtilities__
diff --git a/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h
new file mode 100644
index 000000000..c8712e285
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/StubDelegateImpl.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_StubDelegateImpl__
+#define __gnu_javax_rmi_CORBA_StubDelegateImpl__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class StubDelegateImpl;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace rmi
+    {
+      namespace CORBA
+      {
+          class Stub;
+          class Tie;
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+      }
+      namespace PortableServer
+      {
+          class POA;
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::StubDelegateImpl : public ::java::lang::Object
+{
+
+public:
+  StubDelegateImpl();
+  virtual void connect(::javax::rmi::CORBA::Stub *, ::org::omg::CORBA::ORB *);
+  static void connect(::javax::rmi::CORBA::Stub *, ::org::omg::CORBA::ORB *, ::org::omg::PortableServer::POA *);
+  static ::javax::rmi::CORBA::Tie * getTieFromStub(::java::lang::Object *);
+  virtual jboolean equals(::javax::rmi::CORBA::Stub *, ::java::lang::Object *);
+  virtual jint hashCode(::javax::rmi::CORBA::Stub *);
+  virtual ::java::lang::String * toString(::javax::rmi::CORBA::Stub *);
+  virtual void readObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectInputStream *);
+  virtual void readObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectInputStream *, ::org::omg::CORBA::ORB *);
+  virtual void writeObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectOutputStream *);
+  virtual void writeObject(::javax::rmi::CORBA::Stub *, ::java::io::ObjectOutputStream *, ::org::omg::CORBA::ORB *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_StubDelegateImpl__
diff --git a/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h b/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h
new file mode 100644
index 000000000..684b4e4e0
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/TieTargetRecord.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_TieTargetRecord__
+#define __gnu_javax_rmi_CORBA_TieTargetRecord__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class TieTargetRecord;
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace rmi
+    {
+      namespace CORBA
+      {
+          class Tie;
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::TieTargetRecord : public ::java::lang::Object
+{
+
+public:
+  TieTargetRecord(::javax::rmi::CORBA::Tie *);
+  virtual void add(::java::lang::Object *);
+  virtual void remove(::java::lang::Object *);
+  virtual jboolean unused();
+  ::javax::rmi::CORBA::Tie * __attribute__((aligned(__alignof__( ::java::lang::Object)))) tie;
+  ::java::util::HashSet * targets;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_TieTargetRecord__
diff --git a/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h
new file mode 100644
index 000000000..b46349381
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/UtilDelegateImpl.h
@@ -0,0 +1,101 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_UtilDelegateImpl__
+#define __gnu_javax_rmi_CORBA_UtilDelegateImpl__
+
+#pragma interface
+
+#include <gnu/javax/rmi/CORBA/RmiUtilities.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class UtilDelegateImpl;
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace rmi
+    {
+        class Remote;
+        class RemoteException;
+    }
+  }
+  namespace javax
+  {
+    namespace rmi
+    {
+      namespace CORBA
+      {
+          class Stub;
+          class Tie;
+          class ValueHandler;
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+          class ORB;
+          class SystemException;
+        namespace portable
+        {
+            class InputStream;
+            class OutputStream;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::UtilDelegateImpl : public ::gnu::javax::rmi::CORBA::RmiUtilities
+{
+
+public:
+  UtilDelegateImpl();
+  virtual ::java::lang::Object * copyObject(::java::lang::Object *, ::org::omg::CORBA::ORB *);
+  virtual JArray< ::java::lang::Object * > * copyObjects(JArray< ::java::lang::Object * > *, ::org::omg::CORBA::ORB *);
+  virtual ::javax::rmi::CORBA::ValueHandler * createValueHandler();
+  virtual ::java::lang::String * getCodebase(::java::lang::Class *);
+  virtual ::javax::rmi::CORBA::Tie * getTie(::java::rmi::Remote *);
+private:
+  ::java::lang::String * getTieClassName(::java::lang::String *);
+public:
+  virtual void registerTarget(::javax::rmi::CORBA::Tie *, ::java::rmi::Remote *);
+  virtual void unexportObject(::java::rmi::Remote *);
+  virtual jboolean isLocal(::javax::rmi::CORBA::Stub *);
+  virtual ::java::lang::Class * loadClass(::java::lang::String *, ::java::lang::String *, ::java::lang::ClassLoader *);
+  virtual ::java::rmi::RemoteException * mapSystemException(::org::omg::CORBA::SystemException *);
+  virtual ::java::rmi::RemoteException * wrapException(::java::lang::Throwable *);
+  virtual void writeAbstractObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *);
+  virtual void writeAny(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *);
+public: // actually package-private
+  virtual void writeAnyAsRemote(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *);
+  virtual ::java::lang::String * getName(::java::lang::String *);
+public:
+  virtual ::java::lang::Object * readAny(::org::omg::CORBA::portable::InputStream *);
+  virtual void writeRemoteObject(::org::omg::CORBA::portable::OutputStream *, ::java::lang::Object *);
+public: // actually package-private
+  static ::javax::rmi::CORBA::ValueHandler * m_ValueHandler;
+  static ::java::util::Hashtable * m_Ties;
+  static ::java::util::Hashtable * m_Targets;
+  static ::java::lang::String * m_StandardPackage;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_UtilDelegateImpl__
diff --git a/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h b/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h
new file mode 100644
index 000000000..715322d05
--- /dev/null
+++ b/libjava/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__
+#define __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__
+
+#pragma interface
+
+#include <gnu/javax/rmi/CORBA/RmiUtilities.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace rmi
+      {
+        namespace CORBA
+        {
+            class ValueHandlerDelegateImpl;
+        }
+      }
+    }
+  }
+  namespace org
+  {
+    namespace omg
+    {
+      namespace CORBA
+      {
+        namespace portable
+        {
+            class OutputStream;
+        }
+      }
+      namespace SendingContext
+      {
+          class RunTime;
+      }
+    }
+  }
+}
+
+class gnu::javax::rmi::CORBA::ValueHandlerDelegateImpl : public ::gnu::javax::rmi::CORBA::RmiUtilities
+{
+
+public:
+  ValueHandlerDelegateImpl();
+  virtual jbyte getMaximumStreamFormatVersion();
+  virtual void writeValue(::org::omg::CORBA::portable::OutputStream *, ::java::io::Serializable *, jbyte);
+  virtual ::org::omg::SendingContext::RunTime * getRunTimeCodeBase();
+  virtual jboolean isCustomMarshaled(::java::lang::Class *);
+  virtual ::java::io::Serializable * writeReplace(::java::io::Serializable *);
+  virtual ::java::lang::String * getRMIRepositoryID(::java::lang::Class *);
+public: // actually package-private
+  virtual jlong getSid(::java::lang::Class *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_rmi_CORBA_ValueHandlerDelegateImpl__
diff --git a/libjava/gnu/javax/security/auth/Password.h b/libjava/gnu/javax/security/auth/Password.h
new file mode 100644
index 000000000..76c282e23
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/Password.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_Password__
+#define __gnu_javax_security_auth_Password__
+
+#pragma interface
+
+#include <gnu/java/security/util/ExpirableObject.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+            class Password;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::Password : public ::gnu::java::security::util::ExpirableObject
+{
+
+public:
+  Password(JArray< jchar > *);
+  Password(JArray< jchar > *, jlong);
+  Password(JArray< jchar > *, jint, jint);
+  Password(JArray< jchar > *, jint, jint, jlong);
+  Password(JArray< jbyte > *);
+  Password(JArray< jbyte > *, jlong);
+  Password(JArray< jbyte > *, jint, jint);
+  Password(JArray< jbyte > *, jint, jint, jlong);
+  JArray< jchar > * getPassword();
+  JArray< jbyte > * getBytes();
+public: // actually protected
+  void doDestroy();
+public:
+  jboolean isDestroyed();
+private:
+  JArray< jchar > * __attribute__((aligned(__alignof__( ::gnu::java::security::util::ExpirableObject)))) password;
+  JArray< jbyte > * bPassword;
+  jboolean mIsDestroyed;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_Password__
diff --git a/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h
new file mode 100644
index 000000000..5f3bb8287
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/AWTCallbackHandler.h
@@ -0,0 +1,94 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_AWTCallbackHandler__
+#define __gnu_javax_security_auth_callback_AWTCallbackHandler__
+
+#pragma interface
+
+#include <gnu/javax/security/auth/callback/AbstractCallbackHandler.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class AWTCallbackHandler;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+          class WindowEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ChoiceCallback;
+            class ConfirmationCallback;
+            class LanguageCallback;
+            class NameCallback;
+            class PasswordCallback;
+            class TextInputCallback;
+            class TextOutputCallback;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::AWTCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler
+{
+
+public:
+  AWTCallbackHandler();
+public: // actually protected
+  virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *);
+  virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *);
+  virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *);
+  virtual void handleName(::javax::security::auth::callback::NameCallback *);
+  virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *);
+  virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *);
+  virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+  virtual void windowClosing(::java::awt::event::WindowEvent *);
+  virtual void windowOpened(::java::awt::event::WindowEvent *);
+  virtual void windowClosed(::java::awt::event::WindowEvent *);
+  virtual void windowIconified(::java::awt::event::WindowEvent *);
+  virtual void windowDeiconified(::java::awt::event::WindowEvent *);
+  virtual void windowActivated(::java::awt::event::WindowEvent *);
+  virtual void windowDeactivated(::java::awt::event::WindowEvent *);
+public: // actually protected
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::security::auth::callback::AbstractCallbackHandler)))) actionCommand;
+private:
+  static ::java::lang::String * ACTION_CANCEL;
+  static ::java::lang::String * ACTION_NO;
+  static ::java::lang::String * ACTION_NONE;
+  static ::java::lang::String * ACTION_OK;
+  static ::java::lang::String * ACTION_YES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_AWTCallbackHandler__
diff --git a/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h
new file mode 100644
index 000000000..f63c02f59
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/AbstractCallbackHandler.h
@@ -0,0 +1,90 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_AbstractCallbackHandler__
+#define __gnu_javax_security_auth_callback_AbstractCallbackHandler__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class AbstractCallbackHandler;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+        class Provider;
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class Callback;
+            class CallbackHandler;
+            class ChoiceCallback;
+            class ConfirmationCallback;
+            class LanguageCallback;
+            class NameCallback;
+            class PasswordCallback;
+            class TextInputCallback;
+            class TextOutputCallback;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::AbstractCallbackHandler : public ::java::lang::Object
+{
+
+public: // actually protected
+  AbstractCallbackHandler(::java::lang::String *);
+public:
+  static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *);
+  static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *, ::java::lang::String *);
+  static ::javax::security::auth::callback::CallbackHandler * getInstance(::java::lang::String *, ::java::security::Provider *);
+  virtual void handle(JArray< ::javax::security::auth::callback::Callback * > *);
+  virtual ::java::lang::String * getName();
+public: // actually protected
+  virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *) = 0;
+  virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *) = 0;
+  virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *) = 0;
+  virtual void handleName(::javax::security::auth::callback::NameCallback *) = 0;
+  virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *) = 0;
+  virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *) = 0;
+  virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *) = 0;
+  virtual void handleOther(::javax::security::auth::callback::Callback *);
+private:
+  static ::java::lang::String * SERVICE;
+public: // actually protected
+  ::java::util::ResourceBundle * __attribute__((aligned(__alignof__( ::java::lang::Object)))) messages;
+private:
+  ::java::lang::String * name;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_AbstractCallbackHandler__
diff --git a/libjava/gnu/javax/security/auth/callback/CertificateCallback.h b/libjava/gnu/javax/security/auth/callback/CertificateCallback.h
new file mode 100644
index 000000000..b416d0ca5
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/CertificateCallback.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_CertificateCallback__
+#define __gnu_javax_security_auth_callback_CertificateCallback__
+
+#pragma interface
+
+#include <javax/security/auth/callback/ConfirmationCallback.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class CertificateCallback;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace security
+    {
+      namespace cert
+      {
+          class Certificate;
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::CertificateCallback : public ::javax::security::auth::callback::ConfirmationCallback
+{
+
+public:
+  CertificateCallback(::java::security::cert::Certificate *, ::java::lang::String *);
+public: // actually package-private
+  static const jlong serialVersionUID = 8343869651419225634LL;
+public:
+  ::java::security::cert::Certificate * __attribute__((aligned(__alignof__( ::javax::security::auth::callback::ConfirmationCallback)))) certificate;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_CertificateCallback__
diff --git a/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h
new file mode 100644
index 000000000..bd068a60d
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/ConsoleCallbackHandler.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_ConsoleCallbackHandler__
+#define __gnu_javax_security_auth_callback_ConsoleCallbackHandler__
+
+#pragma interface
+
+#include <gnu/javax/security/auth/callback/AbstractCallbackHandler.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class ConsoleCallbackHandler;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ChoiceCallback;
+            class ConfirmationCallback;
+            class LanguageCallback;
+            class NameCallback;
+            class PasswordCallback;
+            class TextInputCallback;
+            class TextOutputCallback;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::ConsoleCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler
+{
+
+public:
+  ConsoleCallbackHandler();
+  ConsoleCallbackHandler(::java::io::PrintStream *);
+public: // actually protected
+  virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *);
+  virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *);
+  virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *);
+  virtual void handleName(::javax::security::auth::callback::NameCallback *);
+  virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *);
+  virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *);
+  virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *);
+private:
+  ::java::io::PrintStream * __attribute__((aligned(__alignof__( ::gnu::javax::security::auth::callback::AbstractCallbackHandler)))) out;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_ConsoleCallbackHandler__
diff --git a/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h
new file mode 100644
index 000000000..bd3d0dc14
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/DefaultCallbackHandler.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_DefaultCallbackHandler__
+#define __gnu_javax_security_auth_callback_DefaultCallbackHandler__
+
+#pragma interface
+
+#include <gnu/javax/security/auth/callback/AbstractCallbackHandler.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class DefaultCallbackHandler;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ChoiceCallback;
+            class ConfirmationCallback;
+            class LanguageCallback;
+            class NameCallback;
+            class PasswordCallback;
+            class TextInputCallback;
+            class TextOutputCallback;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::DefaultCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler
+{
+
+public:
+  DefaultCallbackHandler();
+public: // actually protected
+  virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *);
+  virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *);
+  virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *);
+  virtual void handleName(::javax::security::auth::callback::NameCallback *);
+  virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *);
+  virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *);
+  virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_DefaultCallbackHandler__
diff --git a/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h b/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h
new file mode 100644
index 000000000..0a037c719
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/GnuCallbacks$1.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_GnuCallbacks$1__
+#define __gnu_javax_security_auth_callback_GnuCallbacks$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class GnuCallbacks;
+              class GnuCallbacks$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::GnuCallbacks$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GnuCallbacks$1(::gnu::javax::security::auth::callback::GnuCallbacks *);
+public:
+  virtual ::java::lang::Object * run();
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::GnuCallbacks * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_GnuCallbacks$1__
diff --git a/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h b/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h
new file mode 100644
index 000000000..d7bb1dfe6
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/GnuCallbacks.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_GnuCallbacks__
+#define __gnu_javax_security_auth_callback_GnuCallbacks__
+
+#pragma interface
+
+#include <java/security/Provider.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class GnuCallbacks;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::GnuCallbacks : public ::java::security::Provider
+{
+
+public:
+  GnuCallbacks();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_GnuCallbacks__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h
new file mode 100644
index 000000000..f9f09f29a
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$1.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$1__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$1;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ChoiceCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$1(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::ChoiceCallback *, jint, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::security::auth::callback::ChoiceCallback * val$callback;
+  jint val$defaultChoice;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$1__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h
new file mode 100644
index 000000000..174040e3a
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$2.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$2__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$2__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$2;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ChoiceCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+        class JList;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$2 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$2(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::ChoiceCallback *, ::javax::swing::JList *, jint, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::security::auth::callback::ChoiceCallback * val$callback;
+  ::javax::swing::JList * val$choicesList;
+  jint val$defaultChoice;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$2__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h
new file mode 100644
index 000000000..7f26a5186
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$3.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$3__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$3__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$3;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class ConfirmationCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$3 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$3(::gnu::javax::security::auth::callback::SwingCallbackHandler *, JArray< ::java::lang::String * > *, ::javax::security::auth::callback::ConfirmationCallback *, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  JArray< ::java::lang::String * > * val$options;
+  ::javax::security::auth::callback::ConfirmationCallback * val$callback;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$3__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h
new file mode 100644
index 000000000..fcc46aa2f
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$4.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$4__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$4__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$4;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class NameCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+        class JTextField;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$4 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$4(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::NameCallback *, ::javax::swing::JTextField *, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::security::auth::callback::NameCallback * val$callback;
+  ::javax::swing::JTextField * val$name;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$4__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h
new file mode 100644
index 000000000..6975265c8
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$5.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$5__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$5__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$5;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class PasswordCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+        class JPasswordField;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$5 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$5(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::PasswordCallback *, ::javax::swing::JPasswordField *, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::security::auth::callback::PasswordCallback * val$callback;
+  ::javax::swing::JPasswordField * val$password;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$5__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h
new file mode 100644
index 000000000..8398e0588
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$6.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$6__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$6__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$6;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class TextInputCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+        class JTextArea;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$6 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$6(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::security::auth::callback::TextInputCallback *, ::javax::swing::JTextArea *, ::javax::swing::JDialog *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::security::auth::callback::TextInputCallback * val$callback;
+  ::javax::swing::JTextArea * val$text;
+  ::javax::swing::JDialog * val$dialog;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$6__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h
new file mode 100644
index 000000000..83252d565
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler$7.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler$7__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler$7__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+              class SwingCallbackHandler$7;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+      namespace event
+      {
+          class ActionEvent;
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class TextOutputCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler$7 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SwingCallbackHandler$7(::gnu::javax::security::auth::callback::SwingCallbackHandler *, ::javax::swing::JDialog *, ::javax::security::auth::callback::TextOutputCallback *);
+public:
+  virtual void actionPerformed(::java::awt::event::ActionEvent *);
+public: // actually package-private
+  ::gnu::javax::security::auth::callback::SwingCallbackHandler * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::javax::swing::JDialog * val$dialog;
+  ::javax::security::auth::callback::TextOutputCallback * val$callback;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler$7__
diff --git a/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h
new file mode 100644
index 000000000..6d1f18c84
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/callback/SwingCallbackHandler.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_callback_SwingCallbackHandler__
+#define __gnu_javax_security_auth_callback_SwingCallbackHandler__
+
+#pragma interface
+
+#include <gnu/javax/security/auth/callback/AbstractCallbackHandler.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace callback
+          {
+              class SwingCallbackHandler;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace callback
+        {
+            class Callback;
+            class ChoiceCallback;
+            class ConfirmationCallback;
+            class LanguageCallback;
+            class NameCallback;
+            class PasswordCallback;
+            class TextInputCallback;
+            class TextOutputCallback;
+        }
+      }
+    }
+    namespace swing
+    {
+        class JDialog;
+    }
+  }
+}
+
+class gnu::javax::security::auth::callback::SwingCallbackHandler : public ::gnu::javax::security::auth::callback::AbstractCallbackHandler
+{
+
+public:
+  SwingCallbackHandler();
+public: // actually protected
+  virtual void handleChoice(::javax::security::auth::callback::ChoiceCallback *);
+  virtual void handleConfirmation(::javax::security::auth::callback::ConfirmationCallback *);
+  virtual void handleLanguage(::javax::security::auth::callback::LanguageCallback *);
+  virtual void handleName(::javax::security::auth::callback::NameCallback *);
+  virtual void handlePassword(::javax::security::auth::callback::PasswordCallback *);
+  virtual void handleTextInput(::javax::security::auth::callback::TextInputCallback *);
+  virtual void handleTextOutput(::javax::security::auth::callback::TextOutputCallback *);
+private:
+  void waitForInput(::javax::swing::JDialog *, ::javax::security::auth::callback::Callback *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_callback_SwingCallbackHandler__
diff --git a/libjava/gnu/javax/security/auth/login/ConfigFileParser.h b/libjava/gnu/javax/security/auth/login/ConfigFileParser.h
new file mode 100644
index 000000000..7daf71bd9
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/login/ConfigFileParser.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_login_ConfigFileParser__
+#define __gnu_javax_security_auth_login_ConfigFileParser__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace login
+          {
+              class ConfigFileParser;
+              class ConfigFileTokenizer;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::login::ConfigFileParser : public ::java::lang::Object
+{
+
+public:
+  ConfigFileParser();
+  ::java::util::Map * getLoginModulesMap();
+  void parse(::java::io::Reader *);
+private:
+  void initParser(::java::io::Reader *);
+  jboolean parseAppOrOtherEntry();
+  jboolean parseACE(::java::util::List *);
+  void abort(::java::lang::String *);
+  ::java::lang::String * validateClassName(::java::lang::String *);
+  ::java::lang::String * expandParamValue(::java::lang::String *);
+  static ::java::util::logging::Logger * log;
+  ::gnu::javax::security::auth::login::ConfigFileTokenizer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) cft;
+  ::java::util::Map * map;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_login_ConfigFileParser__
diff --git a/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h b/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h
new file mode 100644
index 000000000..28ac90d31
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/login/ConfigFileTokenizer.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_login_ConfigFileTokenizer__
+#define __gnu_javax_security_auth_login_ConfigFileTokenizer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace java
+    {
+      namespace lang
+      {
+          class CPStringBuilder;
+      }
+    }
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace login
+          {
+              class ConfigFileTokenizer;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::login::ConfigFileTokenizer : public ::java::lang::Object
+{
+
+public: // actually package-private
+  ConfigFileTokenizer(::java::io::Reader *);
+public:
+  virtual jint nextToken();
+  virtual void pushBack();
+private:
+  void init();
+  void skipWhitespace();
+  void abort(::java::lang::String *);
+  static ::java::util::logging::Logger * log;
+public:
+  static const jint TT_EOF = -1;
+  static const jint TT_WORD = -3;
+private:
+  static const jint TT_NONE = -4;
+public:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) sval;
+  jint ttype;
+private:
+  ::java::io::BufferedReader * br;
+public: // actually package-private
+  jboolean initialised;
+private:
+  ::gnu::java::lang::CPStringBuilder * sb;
+  jint sbNdx;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_login_ConfigFileTokenizer__
diff --git a/libjava/gnu/javax/security/auth/login/GnuConfiguration.h b/libjava/gnu/javax/security/auth/login/GnuConfiguration.h
new file mode 100644
index 000000000..42177491d
--- /dev/null
+++ b/libjava/gnu/javax/security/auth/login/GnuConfiguration.h
@@ -0,0 +1,70 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_security_auth_login_GnuConfiguration__
+#define __gnu_javax_security_auth_login_GnuConfiguration__
+
+#pragma interface
+
+#include <javax/security/auth/login/Configuration.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace security
+      {
+        namespace auth
+        {
+          namespace login
+          {
+              class ConfigFileParser;
+              class GnuConfiguration;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace security
+    {
+      namespace auth
+      {
+        namespace login
+        {
+            class AppConfigurationEntry;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::security::auth::login::GnuConfiguration : public ::javax::security::auth::login::Configuration
+{
+
+public:
+  GnuConfiguration();
+  JArray< ::javax::security::auth::login::AppConfigurationEntry * > * getAppConfigurationEntry(::java::lang::String *);
+  void refresh();
+private:
+  void init();
+  jboolean processSecurityProperties();
+  ::java::io::InputStream * getInputStreamFromURL(::java::lang::String *);
+  jboolean processSystemProperty();
+  jboolean processUserHome();
+  void parseConfig(::java::io::InputStream *);
+  void mergeLoginModules(::java::util::Map *);
+  ::java::io::File * getUserHome();
+  ::java::io::File * getConfigFromUserHome(::java::io::File *, ::java::lang::String *);
+  static ::java::util::logging::Logger * log;
+  ::java::util::Map * __attribute__((aligned(__alignof__( ::javax::security::auth::login::Configuration)))) loginModulesMap;
+  ::gnu::javax::security::auth::login::ConfigFileParser * cp;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_security_auth_login_GnuConfiguration__
diff --git a/libjava/gnu/javax/sound/AudioSecurityManager$Permission.h b/libjava/gnu/javax/sound/AudioSecurityManager$Permission.h
new file mode 100644
index 000000000..d8f353609
--- /dev/null
+++ b/libjava/gnu/javax/sound/AudioSecurityManager$Permission.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_AudioSecurityManager$Permission__
+#define __gnu_javax_sound_AudioSecurityManager$Permission__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+          class AudioSecurityManager$Permission;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::AudioSecurityManager$Permission : public ::java::lang::Enum
+{
+
+  AudioSecurityManager$Permission(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::sound::AudioSecurityManager$Permission * > * values();
+  static ::gnu::javax::sound::AudioSecurityManager$Permission * valueOf(::java::lang::String *);
+  static ::gnu::javax::sound::AudioSecurityManager$Permission * PLAY;
+  static ::gnu::javax::sound::AudioSecurityManager$Permission * RECORD;
+  static ::gnu::javax::sound::AudioSecurityManager$Permission * ALL;
+private:
+  static JArray< ::gnu::javax::sound::AudioSecurityManager$Permission * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_AudioSecurityManager$Permission__
diff --git a/libjava/gnu/javax/sound/AudioSecurityManager.h b/libjava/gnu/javax/sound/AudioSecurityManager.h
new file mode 100644
index 000000000..9d0ec83e8
--- /dev/null
+++ b/libjava/gnu/javax/sound/AudioSecurityManager.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_AudioSecurityManager__
+#define __gnu_javax_sound_AudioSecurityManager__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+          class AudioSecurityManager;
+          class AudioSecurityManager$Permission;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::AudioSecurityManager : public ::java::lang::Object
+{
+
+public:
+  AudioSecurityManager();
+  static void checkPermissions();
+  static void checkPermissions(::gnu::javax::sound::AudioSecurityManager$Permission *);
+public: // actually package-private
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$AudioSecurityManager$Permission();
+private:
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$AudioSecurityManager$Permission__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_AudioSecurityManager__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h
new file mode 100644
index 000000000..cb7291dae
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__
+#define __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaPortDevice.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaInputPortDevice;
+              class AlsaMidiDeviceProvider$AlsaPortInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Receiver;
+          class Transmitter;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaInputPortDevice : public ::gnu::javax::sound::midi::alsa::AlsaPortDevice
+{
+
+public: // actually package-private
+  AlsaInputPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *);
+public:
+  virtual void open();
+  virtual void close();
+  virtual jboolean isOpen();
+  virtual jlong getMicrosecondPosition();
+  virtual jint getMaxReceivers();
+  virtual jint getMaxTransmitters();
+  virtual ::javax::sound::midi::Receiver * getReceiver();
+  virtual ::javax::sound::midi::Transmitter * getTransmitter();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaInputPortDevice__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h
new file mode 100644
index 000000000..fb7a22385
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__
+
+#pragma interface
+
+#include <javax/sound/midi/MidiDevice$Info.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo : public ::javax::sound::midi::MidiDevice$Info
+{
+
+public:
+  AlsaMidiDeviceProvider$AlsaInfo(::java::lang::String *, ::java::lang::String *);
+public: // actually package-private
+  virtual ::javax::sound::midi::MidiDevice * getDevice() = 0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInfo__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h
new file mode 100644
index 000000000..51bab4a40
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInputPortInfo.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaInputPortInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInputPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo
+{
+
+public:
+  AlsaMidiDeviceProvider$AlsaInputPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong);
+public: // actually package-private
+  virtual ::javax::sound::midi::MidiDevice * getDevice();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaInputPortInfo__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h
new file mode 100644
index 000000000..c37627bbf
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaOutputPortInfo.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaOutputPortInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaOutputPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo
+{
+
+public:
+  AlsaMidiDeviceProvider$AlsaOutputPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong);
+public: // actually package-private
+  virtual ::javax::sound::midi::MidiDevice * getDevice();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaOutputPortInfo__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h
new file mode 100644
index 000000000..b7c2f6400
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaPortInfo.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaPortInfo;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo
+{
+
+public:
+  AlsaMidiDeviceProvider$AlsaPortInfo(::java::lang::String *, ::java::lang::String *, jlong, jlong);
+public: // actually package-private
+  jlong __attribute__((aligned(__alignof__( ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo)))) client;
+  jlong port;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaPortInfo__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h
new file mode 100644
index 000000000..f1586dfaa
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaSequencerInfo.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider$AlsaInfo.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaSequencerInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaSequencerInfo : public ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo
+{
+
+public:
+  AlsaMidiDeviceProvider$AlsaSequencerInfo(::java::lang::String *, ::java::lang::String *);
+public: // actually package-private
+  virtual ::javax::sound::midi::MidiDevice * getDevice();
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider$AlsaSequencerInfo__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h
new file mode 100644
index 000000000..a1d2884ed
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__
+
+#pragma interface
+
+#include <javax/sound/midi/spi/MidiDeviceProvider.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider;
+              class AlsaMidiDeviceProvider$AlsaInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+          class MidiDevice$Info;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider : public ::javax::sound::midi::spi::MidiDeviceProvider
+{
+
+  static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * getInputDeviceInfo_();
+  static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * getOutputDeviceInfo_();
+  static void init_();
+public:
+  AlsaMidiDeviceProvider();
+  virtual JArray< ::javax::sound::midi::MidiDevice$Info * > * getDeviceInfo();
+  virtual ::javax::sound::midi::MidiDevice * getDevice(::javax::sound::midi::MidiDevice$Info *);
+private:
+  static JArray< ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaInfo * > * infos;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h
new file mode 100644
index 000000000..5317a9970
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.h
@@ -0,0 +1,112 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__
+#define __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiSequencerDevice;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class ControllerEventListener;
+          class MetaEventListener;
+          class MidiDevice$Info;
+          class Receiver;
+          class Sequence;
+          class Sequencer$SyncMode;
+          class Track;
+          class Transmitter;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice : public ::java::lang::Object
+{
+
+  AlsaMidiSequencerDevice();
+public:
+  static ::gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice * getInstance();
+  virtual void setSequence(::javax::sound::midi::Sequence *);
+  virtual void setSequence(::java::io::InputStream *);
+  virtual ::javax::sound::midi::Sequence * getSequence();
+  virtual void start();
+  virtual void stop();
+  virtual jboolean isRunning();
+  virtual void startRecording();
+  virtual void stopRecording();
+  virtual jboolean isRecording();
+  virtual void recordEnable(::javax::sound::midi::Track *, jint);
+  virtual void recordDisable(::javax::sound::midi::Track *);
+  virtual jfloat getTempoInBPM();
+  virtual void setTempoInBPM(jfloat);
+  virtual jfloat getTempoInMPQ();
+  virtual void setTempoInMPQ(jfloat);
+  virtual void setTempoFactor(jfloat);
+  virtual jfloat getTempoFactor();
+  virtual jlong getTickLength();
+  virtual jlong getTickPosition();
+  virtual void setTickPosition(jlong);
+  virtual jlong getMicrosecondLength();
+  virtual jlong getMicrosecondPosition();
+  virtual void setMicrosecondPosition(jlong);
+  virtual void setMasterSyncMode(::javax::sound::midi::Sequencer$SyncMode *);
+  virtual ::javax::sound::midi::Sequencer$SyncMode * getMasterSyncMode();
+  virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getMasterSyncModes();
+  virtual void setSlaveSyncMode(::javax::sound::midi::Sequencer$SyncMode *);
+  virtual ::javax::sound::midi::Sequencer$SyncMode * getSlaveSyncMode();
+  virtual JArray< ::javax::sound::midi::Sequencer$SyncMode * > * getSlaveSyncModes();
+  virtual void setTrackMute(jint, jboolean);
+  virtual jboolean getTrackMute(jint);
+  virtual void setTrackSolo(jint, jboolean);
+  virtual jboolean getTrackSolo(jint);
+  virtual jboolean addMetaEventListener(::javax::sound::midi::MetaEventListener *);
+  virtual void removeMetaEventListener(::javax::sound::midi::MetaEventListener *);
+  virtual JArray< jint > * addControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *);
+  virtual JArray< jint > * removeControllerEventListener(::javax::sound::midi::ControllerEventListener *, JArray< jint > *);
+  virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo();
+  virtual void open();
+private:
+  jlong open_();
+  void close_(jlong);
+public:
+  virtual void close();
+  virtual jboolean isOpen();
+  virtual jint getMaxReceivers();
+  virtual jint getMaxTransmitters();
+  virtual ::javax::sound::midi::Receiver * getReceiver();
+  virtual ::javax::sound::midi::Transmitter * getTransmitter();
+  static ::gnu::javax::sound::midi::alsa::AlsaMidiSequencerDevice * instance;
+private:
+  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) nativeState;
+  ::javax::sound::midi::Sequence * sequence;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h
new file mode 100644
index 000000000..0f7718d92
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__
+#define __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__
+
+#pragma interface
+
+#include <gnu/javax/sound/midi/alsa/AlsaPortDevice.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaPortInfo;
+              class AlsaOutputPortDevice;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Receiver;
+          class Transmitter;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaOutputPortDevice : public ::gnu::javax::sound::midi::alsa::AlsaPortDevice
+{
+
+public: // actually package-private
+  AlsaOutputPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *);
+public:
+  virtual void open();
+  virtual void close();
+  virtual jboolean isOpen();
+  virtual jlong getMicrosecondPosition();
+  virtual jint getMaxReceivers();
+  virtual jint getMaxTransmitters();
+  virtual ::javax::sound::midi::Receiver * getReceiver();
+  virtual ::javax::sound::midi::Transmitter * getTransmitter();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaOutputPortDevice__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h
new file mode 100644
index 000000000..8e23df85e
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaReceiver.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__
+#define __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaPortDevice;
+              class AlsaPortDevice$AlsaReceiver;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiMessage;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaPortDevice$AlsaReceiver : public ::java::lang::Object
+{
+
+public:
+  AlsaPortDevice$AlsaReceiver(::gnu::javax::sound::midi::alsa::AlsaPortDevice *);
+  virtual void send(::javax::sound::midi::MidiMessage *, jlong);
+  virtual void close();
+public: // actually package-private
+  ::gnu::javax::sound::midi::alsa::AlsaPortDevice * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaReceiver__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h
new file mode 100644
index 000000000..f88cadcf1
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice$AlsaTransmitter.h
@@ -0,0 +1,59 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__
+#define __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaPortDevice;
+              class AlsaPortDevice$AlsaTransmitter;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Receiver;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaPortDevice$AlsaTransmitter : public ::java::lang::Object
+{
+
+public: // actually protected
+  AlsaPortDevice$AlsaTransmitter(::gnu::javax::sound::midi::alsa::AlsaPortDevice *);
+public:
+  virtual void run();
+  virtual void setReceiver(::javax::sound::midi::Receiver *);
+  virtual ::javax::sound::midi::Receiver * getReceiver();
+  virtual void close();
+private:
+  ::javax::sound::midi::Receiver * __attribute__((aligned(__alignof__( ::java::lang::Object)))) receiver;
+public: // actually package-private
+  ::gnu::javax::sound::midi::alsa::AlsaPortDevice * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice$AlsaTransmitter__
diff --git a/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h
new file mode 100644
index 000000000..351bd7099
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/alsa/AlsaPortDevice.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_alsa_AlsaPortDevice__
+#define __gnu_javax_sound_midi_alsa_AlsaPortDevice__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace alsa
+          {
+              class AlsaMidiDeviceProvider$AlsaPortInfo;
+              class AlsaPortDevice;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice$Info;
+          class Receiver;
+          class Transmitter;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::alsa::AlsaPortDevice : public ::java::lang::Object
+{
+
+public:
+  AlsaPortDevice(::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo *);
+  virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo();
+public: // actually package-private
+  virtual void run_receiver_thread_(jlong, jlong, ::javax::sound::midi::Receiver *);
+public:
+  virtual void open() = 0;
+  virtual void close() = 0;
+  virtual jboolean isOpen() = 0;
+  virtual jlong getMicrosecondPosition() = 0;
+  virtual jint getMaxReceivers() = 0;
+  virtual jint getMaxTransmitters() = 0;
+  virtual ::javax::sound::midi::Receiver * getReceiver() = 0;
+  virtual ::javax::sound::midi::Transmitter * getTransmitter() = 0;
+public: // actually package-private
+  ::gnu::javax::sound::midi::alsa::AlsaMidiDeviceProvider$AlsaPortInfo * __attribute__((aligned(__alignof__( ::java::lang::Object)))) info;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_alsa_AlsaPortDevice__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h
new file mode 100644
index 000000000..e6613c333
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$1.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__
+#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSIMidiDeviceProvider$1;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  DSSIMidiDeviceProvider$1();
+public:
+  virtual jboolean accept(::java::io::File *, ::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$1__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
new file mode 100644
index 000000000..a5f7a82ed
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider$DSSIInfo.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__
+#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__
+
+#pragma interface
+
+#include <javax/sound/midi/MidiDevice$Info.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSIMidiDeviceProvider$DSSIInfo;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo : public ::javax::sound::midi::MidiDevice$Info
+{
+
+public:
+  DSSIMidiDeviceProvider$DSSIInfo(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, jlong);
+public: // actually package-private
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiDevice$Info)))) soname;
+  jlong index;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider$DSSIInfo__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h
new file mode 100644
index 000000000..3cf346a3f
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__
+#define __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__
+
+#pragma interface
+
+#include <javax/sound/midi/spi/MidiDeviceProvider.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSIMidiDeviceProvider;
+              class DSSIMidiDeviceProvider$DSSIInfo;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiDevice;
+          class MidiDevice$Info;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider : public ::javax::sound::midi::spi::MidiDeviceProvider
+{
+
+public: // actually package-private
+  static jlong dlopen_(::java::lang::String *);
+  static void dlclose_(jlong);
+  static jlong getDSSIHandle_(jlong, jlong);
+  static ::java::lang::String * getDSSIName_(jlong);
+  static ::java::lang::String * getDSSICopyright_(jlong);
+  static ::java::lang::String * getDSSIVendor_(jlong);
+  static ::java::lang::String * getDSSILabel_(jlong);
+private:
+  static ::java::util::List * examineLibrary(::java::lang::String *);
+public:
+  DSSIMidiDeviceProvider();
+  virtual JArray< ::javax::sound::midi::MidiDevice$Info * > * getDeviceInfo();
+  virtual ::javax::sound::midi::MidiDevice * getDevice(::javax::sound::midi::MidiDevice$Info *);
+private:
+  static JArray< ::gnu::javax::sound::midi::dssi::DSSIMidiDeviceProvider$DSSIInfo * > * infos;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h
new file mode 100644
index 000000000..48167354b
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIInstrument.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__
+#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__
+
+#pragma interface
+
+#include <javax/sound/midi/Instrument.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSISynthesizer;
+              class DSSISynthesizer$DSSIInstrument;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Patch;
+          class Soundbank;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIInstrument : public ::javax::sound::midi::Instrument
+{
+
+public: // actually package-private
+  DSSISynthesizer$DSSIInstrument(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, ::javax::sound::midi::Soundbank *, ::javax::sound::midi::Patch *, ::java::lang::String *);
+public:
+  virtual ::java::lang::Object * getData();
+public: // actually package-private
+  ::gnu::javax::sound::midi::dssi::DSSISynthesizer * __attribute__((aligned(__alignof__( ::javax::sound::midi::Instrument)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIInstrument__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h
new file mode 100644
index 000000000..733eb3857
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIMidiChannel.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__
+#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSISynthesizer;
+              class DSSISynthesizer$DSSIMidiChannel;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIMidiChannel : public ::java::lang::Object
+{
+
+public:
+  DSSISynthesizer$DSSIMidiChannel(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, jint);
+  virtual void noteOn(jint, jint);
+  virtual void noteOff(jint, jint);
+  virtual void noteOff(jint);
+  virtual void setPolyPressure(jint, jint);
+  virtual jint getPolyPressure(jint);
+  virtual void setChannelPressure(jint);
+  virtual jint getChannelPressure();
+  virtual void controlChange(jint, jint);
+  virtual jint getController(jint);
+  virtual void programChange(jint);
+  virtual void programChange(jint, jint);
+  virtual jint getProgram();
+  virtual void setPitchBend(jint);
+  virtual jint getPitchBend();
+  virtual void resetAllControllers();
+  virtual void allNotesOff();
+  virtual void allSoundOff();
+  virtual jboolean localControl(jboolean);
+  virtual void setMono(jboolean);
+  virtual jboolean getMono();
+  virtual void setOmni(jboolean);
+  virtual jboolean getOmni();
+  virtual void setMute(jboolean);
+  virtual jboolean getMute();
+  virtual void setSolo(jboolean);
+  virtual jboolean getSolo();
+public: // actually package-private
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) channel;
+  ::gnu::javax::sound::midi::dssi::DSSISynthesizer * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIMidiChannel__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h
new file mode 100644
index 000000000..dbdd3284f
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSIReceiver.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__
+#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSISynthesizer;
+              class DSSISynthesizer$DSSIReceiver;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiMessage;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSIReceiver : public ::java::lang::Object
+{
+
+public: // actually package-private
+  DSSISynthesizer$DSSIReceiver(::gnu::javax::sound::midi::dssi::DSSISynthesizer *);
+public:
+  virtual void send(::javax::sound::midi::MidiMessage *, jlong);
+  virtual void close();
+public: // actually package-private
+  ::gnu::javax::sound::midi::dssi::DSSISynthesizer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSIReceiver__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h
new file mode 100644
index 000000000..4ebaffbe3
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer$DSSISoundbank.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__
+#define __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSISynthesizer;
+              class DSSISynthesizer$DSSISoundbank;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Instrument;
+          class Patch;
+          class SoundbankResource;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSISoundbank : public ::java::lang::Object
+{
+
+public:
+  DSSISynthesizer$DSSISoundbank(::gnu::javax::sound::midi::dssi::DSSISynthesizer *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+public: // actually package-private
+  virtual void add(::javax::sound::midi::Instrument *);
+public:
+  virtual ::java::lang::String * getName();
+  virtual ::java::lang::String * getVersion();
+  virtual ::java::lang::String * getVendor();
+  virtual ::java::lang::String * getDescription();
+  virtual JArray< ::javax::sound::midi::SoundbankResource * > * getResources();
+  virtual JArray< ::javax::sound::midi::Instrument * > * getInstruments();
+  virtual ::javax::sound::midi::Instrument * getInstrument(::javax::sound::midi::Patch *);
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) name;
+  ::java::lang::String * description;
+  ::java::util::List * instruments;
+  ::java::util::List * resources;
+  ::java::lang::String * vendor;
+  ::java::lang::String * version;
+public: // actually package-private
+  ::gnu::javax::sound::midi::dssi::DSSISynthesizer * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer$DSSISoundbank__
diff --git a/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h
new file mode 100644
index 000000000..c4d4a619c
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/dssi/DSSISynthesizer.h
@@ -0,0 +1,104 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_dssi_DSSISynthesizer__
+#define __gnu_javax_sound_midi_dssi_DSSISynthesizer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace dssi
+          {
+              class DSSISynthesizer;
+              class DSSISynthesizer$DSSISoundbank;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Instrument;
+          class MidiChannel;
+          class MidiDevice$Info;
+          class Patch;
+          class Receiver;
+          class Soundbank;
+          class Transmitter;
+          class VoiceStatus;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::dssi::DSSISynthesizer : public ::java::lang::Object
+{
+
+public: // actually package-private
+  static void noteOn_(jlong, jint, jint, jint);
+  static void noteOff_(jlong, jint, jint, jint);
+  static void setPolyPressure_(jlong, jint, jint, jint);
+  static jint getPolyPressure_(jlong, jint, jint);
+  static void controlChange_(jlong, jint, jint, jint);
+  static void open_(jlong);
+  static void close_(jlong);
+  static ::java::lang::String * getProgramName_(jlong, jint);
+  static jint getProgramBank_(jlong, jint);
+  static jint getProgramProgram_(jlong, jint);
+  static void selectProgram_(jlong, jint, jint);
+public:
+  DSSISynthesizer(::javax::sound::midi::MidiDevice$Info *, ::java::lang::String *, jlong);
+  virtual jint getMaxPolyphony();
+  virtual jlong getLatency();
+  virtual JArray< ::javax::sound::midi::MidiChannel * > * getChannels();
+  virtual JArray< ::javax::sound::midi::VoiceStatus * > * getVoiceStatus();
+  virtual jboolean isSoundbankSupported(::javax::sound::midi::Soundbank *);
+  virtual jboolean loadInstrument(::javax::sound::midi::Instrument *);
+  virtual void unloadInstrument(::javax::sound::midi::Instrument *);
+  virtual jboolean remapInstrument(::javax::sound::midi::Instrument *, ::javax::sound::midi::Instrument *);
+  virtual ::javax::sound::midi::Soundbank * getDefaultSoundbank();
+  virtual JArray< ::javax::sound::midi::Instrument * > * getAvailableInstruments();
+  virtual JArray< ::javax::sound::midi::Instrument * > * getLoadedInstruments();
+  virtual jboolean loadAllInstruments(::javax::sound::midi::Soundbank *);
+  virtual void unloadAllInstruments(::javax::sound::midi::Soundbank *);
+  virtual jboolean loadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *);
+  virtual void unloadInstruments(::javax::sound::midi::Soundbank *, JArray< ::javax::sound::midi::Patch * > *);
+  virtual ::javax::sound::midi::MidiDevice$Info * getDeviceInfo();
+  virtual void open();
+  virtual void close();
+  virtual jboolean isOpen();
+  virtual jlong getMicrosecondPosition();
+  virtual jint getMaxReceivers();
+  virtual jint getMaxTransmitters();
+  virtual ::javax::sound::midi::Receiver * getReceiver();
+  virtual ::javax::sound::midi::Transmitter * getTransmitter();
+public: // actually package-private
+  jlong __attribute__((aligned(__alignof__( ::java::lang::Object)))) sohandle;
+  jlong handle;
+private:
+  ::javax::sound::midi::MidiDevice$Info * info;
+public: // actually package-private
+  JArray< ::javax::sound::midi::MidiChannel * > * channels;
+  ::java::util::List * soundbanks;
+  ::gnu::javax::sound::midi::dssi::DSSISynthesizer$DSSISoundbank * defaultSoundbank;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_dssi_DSSISynthesizer__
diff --git a/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h b/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h
new file mode 100644
index 000000000..70a8a4c2e
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/file/ExtendedMidiFileFormat.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__
+#define __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__
+
+#pragma interface
+
+#include <javax/sound/midi/MidiFileFormat.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace file
+          {
+              class ExtendedMidiFileFormat;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::file::ExtendedMidiFileFormat : public ::javax::sound::midi::MidiFileFormat
+{
+
+public:
+  virtual jint getNumberTracks();
+  ExtendedMidiFileFormat(jint, jfloat, jint, jint, jlong, jint);
+private:
+  jint __attribute__((aligned(__alignof__( ::javax::sound::midi::MidiFileFormat)))) ntracks;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_file_ExtendedMidiFileFormat__
diff --git a/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h b/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h
new file mode 100644
index 000000000..00d247284
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/file/MidiDataInputStream.h
@@ -0,0 +1,39 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_file_MidiDataInputStream__
+#define __gnu_javax_sound_midi_file_MidiDataInputStream__
+
+#pragma interface
+
+#include <java/io/DataInputStream.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace file
+          {
+              class MidiDataInputStream;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::file::MidiDataInputStream : public ::java::io::DataInputStream
+{
+
+public:
+  MidiDataInputStream(::java::io::InputStream *);
+  virtual jint readVariableLengthInt();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_file_MidiDataInputStream__
diff --git a/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h b/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h
new file mode 100644
index 000000000..70718fc2a
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/file/MidiDataOutputStream.h
@@ -0,0 +1,40 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_file_MidiDataOutputStream__
+#define __gnu_javax_sound_midi_file_MidiDataOutputStream__
+
+#pragma interface
+
+#include <java/io/DataOutputStream.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace file
+          {
+              class MidiDataOutputStream;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::file::MidiDataOutputStream : public ::java::io::DataOutputStream
+{
+
+public:
+  MidiDataOutputStream(::java::io::OutputStream *);
+  virtual jint variableLengthIntLength(jint);
+  virtual void writeVariableLengthInt(jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_file_MidiDataOutputStream__
diff --git a/libjava/gnu/javax/sound/midi/file/MidiFileReader.h b/libjava/gnu/javax/sound/midi/file/MidiFileReader.h
new file mode 100644
index 000000000..823ead637
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/file/MidiFileReader.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_file_MidiFileReader__
+#define __gnu_javax_sound_midi_file_MidiFileReader__
+
+#pragma interface
+
+#include <javax/sound/midi/spi/MidiFileReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace file
+          {
+              class MidiFileReader;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URL;
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class MidiFileFormat;
+          class Sequence;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::file::MidiFileReader : public ::javax::sound::midi::spi::MidiFileReader
+{
+
+public:
+  MidiFileReader();
+  virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::InputStream *);
+  virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::net::URL *);
+  virtual ::javax::sound::midi::MidiFileFormat * getMidiFileFormat(::java::io::File *);
+  virtual ::javax::sound::midi::Sequence * getSequence(::java::io::InputStream *);
+  virtual ::javax::sound::midi::Sequence * getSequence(::java::net::URL *);
+  virtual ::javax::sound::midi::Sequence * getSequence(::java::io::File *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_file_MidiFileReader__
diff --git a/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h b/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h
new file mode 100644
index 000000000..15518ac73
--- /dev/null
+++ b/libjava/gnu/javax/sound/midi/file/MidiFileWriter.h
@@ -0,0 +1,60 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_midi_file_MidiFileWriter__
+#define __gnu_javax_sound_midi_file_MidiFileWriter__
+
+#pragma interface
+
+#include <javax/sound/midi/spi/MidiFileWriter.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace midi
+        {
+          namespace file
+          {
+              class MidiDataOutputStream;
+              class MidiFileWriter;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace midi
+      {
+          class Sequence;
+          class Track;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::midi::file::MidiFileWriter : public ::javax::sound::midi::spi::MidiFileWriter
+{
+
+public:
+  MidiFileWriter();
+  virtual JArray< jint > * getMidiFileTypes();
+  virtual JArray< jint > * getMidiFileTypes(::javax::sound::midi::Sequence *);
+  virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::OutputStream *);
+private:
+  jint computeTrackLength(::javax::sound::midi::Track *, ::gnu::javax::sound::midi::file::MidiDataOutputStream *);
+  jint writeTrack(::javax::sound::midi::Track *, ::gnu::javax::sound::midi::file::MidiDataOutputStream *);
+public:
+  virtual jint write(::javax::sound::midi::Sequence *, jint, ::java::io::File *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_midi_file_MidiFileWriter__
diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h
new file mode 100644
index 000000000..d88744fe4
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUFormatType.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__
+#define __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__
+
+#pragma interface
+
+#include <javax/sound/sampled/AudioFileFormat$Type.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace AU
+          {
+              class AUReader$AUFormatType;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::AU::AUReader$AUFormatType : public ::javax::sound::sampled::AudioFileFormat$Type
+{
+
+public:
+  AUReader$AUFormatType();
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_AU_AUReader$AUFormatType__
diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h
new file mode 100644
index 000000000..94f21017b
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/AU/AUReader$AUHeader.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_AU_AUReader$AUHeader__
+#define __gnu_javax_sound_sampled_AU_AUReader$AUHeader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace AU
+          {
+              class AUReader$AUHeader;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFileFormat;
+          class AudioFormat;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::AU::AUReader$AUHeader : public ::java::lang::Object
+{
+
+public:
+  AUReader$AUHeader(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioFormat * getAudioFormat();
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat();
+private:
+  static const jint MAGIC = 779316836;
+public:
+  static const jint SIZE = 24;
+  static const jint ULAW = 1;
+  static const jint PCM8 = 2;
+  static const jint PCM16 = 3;
+  static const jint PCM24 = 4;
+  static const jint PCM32 = 5;
+  static const jint IEEE32 = 6;
+  static const jint IEEE64 = 7;
+  static const jint G721 = 23;
+  static const jint G722 = 24;
+  static const jint G723 = 25;
+  static const jint G723_5BIT = 26;
+  static const jint ALAW = 27;
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) headerSize;
+  jint fileSize;
+  jint encoding;
+  jint sampleRate;
+  jint channels;
+  jint sampleSizeInBits;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_AU_AUReader$AUHeader__
diff --git a/libjava/gnu/javax/sound/sampled/AU/AUReader.h b/libjava/gnu/javax/sound/sampled/AU/AUReader.h
new file mode 100644
index 000000000..d269e7657
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/AU/AUReader.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_AU_AUReader__
+#define __gnu_javax_sound_sampled_AU_AUReader__
+
+#pragma interface
+
+#include <javax/sound/sampled/spi/AudioFileReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace AU
+          {
+              class AUReader;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URL;
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFileFormat;
+          class AudioInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::AU::AUReader : public ::javax::sound::sampled::spi::AudioFileReader
+{
+
+public:
+  AUReader();
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_AU_AUReader__
diff --git a/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h b/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h
new file mode 100644
index 000000000..3756d5d83
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/WAV/WAVReader.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_WAV_WAVReader__
+#define __gnu_javax_sound_sampled_WAV_WAVReader__
+
+#pragma interface
+
+#include <javax/sound/sampled/spi/AudioFileReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace WAV
+          {
+              class WAVReader;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URL;
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFileFormat;
+          class AudioInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::WAV::WAVReader : public ::javax::sound::sampled::spi::AudioFileReader
+{
+
+public:
+  WAVReader();
+private:
+  static jlong readUnsignedIntLE(::java::io::DataInputStream *);
+  static jshort readUnsignedShortLE(::java::io::DataInputStream *);
+public:
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_WAV_WAVReader__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer$GstInfo.h b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer$GstInfo.h
new file mode 100644
index 000000000..502ec94f6
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer$GstInfo.h
@@ -0,0 +1,44 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_GStreamerMixer$GstInfo__
+#define __gnu_javax_sound_sampled_gstreamer_GStreamerMixer$GstInfo__
+
+#pragma interface
+
+#include <javax/sound/sampled/Mixer$Info.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+              class GStreamerMixer$GstInfo;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::GStreamerMixer$GstInfo : public ::javax::sound::sampled::Mixer$Info
+{
+
+public: // actually protected
+  GStreamerMixer$GstInfo();
+private:
+  static ::java::lang::String * name;
+  static ::java::lang::String * vendor;
+  static ::java::lang::String * desc;
+  static ::java::lang::String * vers;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_GStreamerMixer$GstInfo__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.h b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.h
new file mode 100644
index 000000000..f716854bc
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixer.h
@@ -0,0 +1,84 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_GStreamerMixer__
+#define __gnu_javax_sound_sampled_gstreamer_GStreamerMixer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+              class GStreamerMixer;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class Control;
+          class Control$Type;
+          class Line;
+          class Line$Info;
+          class LineListener;
+          class Mixer$Info;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::GStreamerMixer : public ::java::lang::Object
+{
+
+public:
+  GStreamerMixer();
+  virtual ::javax::sound::sampled::Line * getLine(::javax::sound::sampled::Line$Info *);
+  virtual jint getMaxLines(::javax::sound::sampled::Line$Info *);
+  virtual ::javax::sound::sampled::Mixer$Info * getMixerInfo();
+  virtual JArray< ::javax::sound::sampled::Line$Info * > * getSourceLineInfo();
+  virtual JArray< ::javax::sound::sampled::Line$Info * > * getSourceLineInfo(::javax::sound::sampled::Line$Info *);
+  virtual JArray< ::javax::sound::sampled::Line * > * getSourceLines();
+  virtual JArray< ::javax::sound::sampled::Line$Info * > * getTargetLineInfo();
+  virtual JArray< ::javax::sound::sampled::Line$Info * > * getTargetLineInfo(::javax::sound::sampled::Line$Info *);
+  virtual JArray< ::javax::sound::sampled::Line * > * getTargetLines();
+  virtual jboolean isLineSupported(::javax::sound::sampled::Line$Info *);
+  virtual jboolean isSynchronizationSupported(JArray< ::javax::sound::sampled::Line * > *, jboolean);
+  virtual void synchronize(JArray< ::javax::sound::sampled::Line * > *, jboolean);
+  virtual void unsynchronize(JArray< ::javax::sound::sampled::Line * > *);
+  virtual void addLineListener(::javax::sound::sampled::LineListener *);
+  virtual void close();
+  virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *);
+  virtual JArray< ::javax::sound::sampled::Control * > * getControls();
+  virtual ::javax::sound::sampled::Line$Info * getLineInfo();
+  virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *);
+  virtual jboolean isOpen();
+  virtual void open();
+  virtual void removeLineListener(::javax::sound::sampled::LineListener *);
+  static ::java::lang::String * GST_BACKEND;
+  static ::java::lang::String * GST_DECODER;
+  static ::java::lang::String * GST_TYPE_NAME;
+  static ::java::lang::String * GST_FILE_EXTENSION;
+private:
+  static ::javax::sound::sampled::Mixer$Info * INFO;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_GStreamerMixer__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.h b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.h
new file mode 100644
index 000000000..00976f84f
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/GStreamerMixerProvider.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_GStreamerMixerProvider__
+#define __gnu_javax_sound_sampled_gstreamer_GStreamerMixerProvider__
+
+#pragma interface
+
+#include <javax/sound/sampled/spi/MixerProvider.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+              class GStreamerMixer;
+              class GStreamerMixerProvider;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class Mixer;
+          class Mixer$Info;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::GStreamerMixerProvider : public ::javax::sound::sampled::spi::MixerProvider
+{
+
+public:
+  GStreamerMixerProvider();
+  virtual ::javax::sound::sampled::Mixer * getMixer(::javax::sound::sampled::Mixer$Info *);
+  virtual JArray< ::javax::sound::sampled::Mixer$Info * > * getMixerInfo();
+private:
+  static ::gnu::javax::sound::sampled::gstreamer::GStreamerMixer * mixer;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_GStreamerMixerProvider__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.h b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.h
new file mode 100644
index 000000000..a6dc8fa7f
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReader.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReader__
+#define __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReader__
+
+#pragma interface
+
+#include <javax/sound/sampled/spi/AudioFileReader.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace io
+            {
+                class GstAudioFileReader;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URL;
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFileFormat;
+          class AudioInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReader : public ::javax::sound::sampled::spi::AudioFileReader
+{
+
+public:
+  GstAudioFileReader();
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *);
+private:
+  ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::io::InputStream *, ::java::lang::String *);
+public:
+  virtual ::javax::sound::sampled::AudioFileFormat * getAudioFileFormat(::java::net::URL *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::File *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::io::InputStream *);
+  virtual ::javax::sound::sampled::AudioInputStream * getAudioInputStream(::java::net::URL *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReader__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer$GstHeader.h b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer$GstHeader.h
new file mode 100644
index 000000000..5d70c4090
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer$GstHeader.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer$GstHeader__
+#define __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer$GstHeader__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace io
+            {
+                class GstAudioFileReaderNativePeer$GstHeader;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader : public ::java::lang::Object
+{
+
+  GstAudioFileReaderNativePeer$GstHeader();
+public: // actually package-private
+  GstAudioFileReaderNativePeer$GstHeader(::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *);
+public:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) file;
+  ::java::lang::String * suffix;
+  ::java::lang::String * name;
+  ::java::lang::String * mimetype;
+  ::java::lang::String * endianness;
+  ::java::lang::String * channels;
+  ::java::lang::String * rate;
+  ::java::lang::String * width;
+  ::java::lang::String * depth;
+  ::java::lang::String * isSigned;
+  ::java::lang::String * layer;
+  ::java::lang::String * bitrate;
+  ::java::lang::String * framed;
+  ::java::lang::String * type;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer$GstHeader__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.h b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.h
new file mode 100644
index 000000000..82878f196
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileReaderNativePeer.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer__
+#define __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+        class Pointer;
+    }
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace io
+            {
+                class GstAudioFileReaderNativePeer;
+                class GstAudioFileReaderNativePeer$GstHeader;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace net
+    {
+        class URL;
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFormat;
+          class AudioFormat$Encoding;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GstAudioFileReaderNativePeer();
+public:
+  static ::javax::sound::sampled::AudioFormat * getAudioFormat(::java::io::File *);
+  static ::javax::sound::sampled::AudioFormat * getAudioFormat(::java::io::InputStream *);
+  static ::javax::sound::sampled::AudioFormat * getAudioFormat(::java::net::URL *);
+private:
+  static ::javax::sound::sampled::AudioFormat * getAudioFormat(::java::io::InputStream *, ::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *);
+  static ::javax::sound::sampled::AudioFormat$Encoding * getEncoding(::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *);
+  static ::javax::sound::sampled::AudioFormat * getAudioFormat(::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *);
+public: // actually protected
+  static jboolean gstreamer_get_audio_format_stream(::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *, ::gnu::classpath::Pointer *);
+  static jboolean gstreamer_get_audio_format_file(::gnu::javax::sound::sampled::gstreamer::io::GstAudioFileReaderNativePeer$GstHeader *);
+private:
+  static void init_id_cache();
+  static ::java::lang::String * GST_ENCODING;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileReaderNativePeer__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileWriter.h b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileWriter.h
new file mode 100644
index 000000000..450ab176b
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstAudioFileWriter.h
@@ -0,0 +1,58 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileWriter__
+#define __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileWriter__
+
+#pragma interface
+
+#include <javax/sound/sampled/spi/AudioFileWriter.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace io
+            {
+                class GstAudioFileWriter;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFileFormat$Type;
+          class AudioInputStream;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::io::GstAudioFileWriter : public ::javax::sound::sampled::spi::AudioFileWriter
+{
+
+public:
+  GstAudioFileWriter();
+  virtual JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes();
+  virtual JArray< ::javax::sound::sampled::AudioFileFormat$Type * > * getAudioFileTypes(::javax::sound::sampled::AudioInputStream *);
+  virtual jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::File *);
+  virtual jint write(::javax::sound::sampled::AudioInputStream *, ::javax::sound::sampled::AudioFileFormat$Type *, ::java::io::OutputStream *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_io_GstAudioFileWriter__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/io/GstInputStream.h b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstInputStream.h
new file mode 100644
index 000000000..8ffb113e5
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/io/GstInputStream.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_io_GstInputStream__
+#define __gnu_javax_sound_sampled_gstreamer_io_GstInputStream__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+        class Pointer;
+    }
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace io
+            {
+                class GstInputStream;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::io::GstInputStream : public ::java::lang::Object
+{
+
+public:
+  GstInputStream(::java::io::InputStream *);
+  virtual jint read(JArray< jbyte > *, jint, jint);
+  virtual jint available();
+  virtual ::gnu::classpath::Pointer * getNativeClass();
+private:
+  void init_instance();
+  static void init_id_cache();
+  ::java::io::InputStream * __attribute__((aligned(__alignof__( ::java::lang::Object)))) istream;
+  ::gnu::classpath::Pointer * gstInputStream;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_io_GstInputStream__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.h
new file mode 100644
index 000000000..20ef7deb8
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstDataLine__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstDataLine__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstDataLine;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFormat;
+          class Control;
+          class Control$Type;
+          class Line$Info;
+          class LineListener;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstDataLine : public ::java::lang::Object
+{
+
+public:
+  GstDataLine(::javax::sound::sampled::AudioFormat *);
+  GstDataLine(::javax::sound::sampled::AudioFormat *, jint);
+  virtual jint getBufferSize();
+  virtual ::javax::sound::sampled::AudioFormat * getFormat();
+  virtual jfloat getLevel();
+  virtual void addLineListener(::javax::sound::sampled::LineListener *);
+  virtual ::javax::sound::sampled::Control * getControl(::javax::sound::sampled::Control$Type *);
+  virtual JArray< ::javax::sound::sampled::Control * > * getControls();
+  virtual ::javax::sound::sampled::Line$Info * getLineInfo();
+  virtual jboolean isControlSupported(::javax::sound::sampled::Control$Type *);
+  virtual jboolean isOpen();
+  virtual void removeLineListener(::javax::sound::sampled::LineListener *);
+public: // actually protected
+  virtual void setOpen(::java::lang::Boolean *);
+  virtual void setBufferSize(jint);
+  virtual void setFormat(::javax::sound::sampled::AudioFormat *);
+public:
+  virtual jint available() = 0;
+  virtual void drain() = 0;
+  virtual void flush() = 0;
+  virtual jint getFramePosition() = 0;
+  virtual jlong getLongFramePosition() = 0;
+  virtual jlong getMicrosecondPosition() = 0;
+  virtual jboolean isActive() = 0;
+  virtual jboolean isRunning() = 0;
+  virtual void start() = 0;
+  virtual void stop() = 0;
+  virtual void close() = 0;
+  virtual void open() = 0;
+  static const jint DEFAULT_BUFFER_SIZE = 1024;
+public: // actually protected
+  ::java::lang::Boolean * __attribute__((aligned(__alignof__( ::java::lang::Object)))) open;
+private:
+  ::javax::sound::sampled::AudioFormat * format;
+  jint bufferSize;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstDataLine__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.h
new file mode 100644
index 000000000..e382f3ea4
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstNativeDataLine.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstNativeDataLine__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstNativeDataLine__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+        class Pointer;
+    }
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstNativeDataLine;
+                class GstPipeline;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstNativeDataLine : public ::java::lang::Object
+{
+
+public:
+  GstNativeDataLine();
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline * createSourcePipeline(jint);
+private:
+  static void init_id_cache();
+  static jboolean setup_sink_pipeline(::gnu::classpath::Pointer *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstNativeDataLine__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$CleanPipeline.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$CleanPipeline.h
new file mode 100644
index 000000000..a0de53f38
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$CleanPipeline.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$CleanPipeline__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$CleanPipeline__
+
+#pragma interface
+
+#include <java/lang/Thread.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstPipeline;
+                class GstPipeline$CleanPipeline;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$CleanPipeline : public ::java::lang::Thread
+{
+
+  GstPipeline$CleanPipeline(::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline *);
+public:
+  virtual void run();
+public: // actually package-private
+  GstPipeline$CleanPipeline(::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline *, ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$CleanPipeline *);
+  ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline * __attribute__((aligned(__alignof__( ::java::lang::Thread)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$CleanPipeline__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$State.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$State.h
new file mode 100644
index 000000000..596608428
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline$State.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$State__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$State__
+
+#pragma interface
+
+#include <java/lang/Enum.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstPipeline$State;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State : public ::java::lang::Enum
+{
+
+  GstPipeline$State(::java::lang::String *, jint);
+public:
+  static JArray< ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * > * values();
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * valueOf(::java::lang::String *);
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * PLAY;
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * PAUSE;
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * STOP;
+  static ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * CLOSE;
+private:
+  static JArray< ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * > * ENUM$VALUES;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline$State__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.h
new file mode 100644
index 000000000..56afb46ba
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstPipeline.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace classpath
+    {
+        class Pointer;
+    }
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstPipeline;
+                class GstPipeline$State;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstPipeline : public ::java::lang::Object
+{
+
+public:
+  GstPipeline();
+  GstPipeline(jint);
+  virtual void createForWrite();
+  virtual ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * getState();
+  virtual void close();
+  virtual void setState(::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State *);
+  virtual ::gnu::classpath::Pointer * getNativeClass();
+  virtual jint write(JArray< jbyte > *, jint, jint);
+  virtual jint read(JArray< jbyte > *, jint, jint);
+  virtual jint available();
+  virtual void drain();
+  virtual void flush();
+private:
+  void closePipe();
+  void prepareWrite();
+  static void init_id_cache();
+  static jboolean set_state(::gnu::classpath::Pointer *, jint);
+  static jint available(::gnu::classpath::Pointer *, jint);
+  static void open_native_pipe(::gnu::classpath::Pointer *, jint);
+  static void close_native_pipe(::gnu::classpath::Pointer *);
+  void init_instance();
+  jboolean create_named_pipe(::gnu::classpath::Pointer *);
+  jlong detect_pipe_size();
+public: // actually package-private
+  static ::gnu::classpath::Pointer * access$0(::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline *);
+  static void access$1(::gnu::classpath::Pointer *);
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$sampled$gstreamer$lines$GstPipeline$State();
+private:
+  static const jint READ = 0;
+  static const jint WRITE = 1;
+  static const jint QUEUED = 1;
+  static ::java::lang::String * CAPACITY_KEY;
+  static JArray< ::java::lang::Object * > * lock;
+public: // actually protected
+  ::java::util::prefs::Preferences * __attribute__((aligned(__alignof__( ::java::lang::Object)))) prefs;
+private:
+  jlong capacity;
+  ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline$State * state;
+  ::java::lang::String * name;
+  ::java::io::FileOutputStream * output;
+  jboolean source;
+  jboolean ready;
+  ::gnu::classpath::Pointer * pipeline;
+  static JArray< jint > * $SWITCH_TABLE$gnu$javax$sound$sampled$gstreamer$lines$GstPipeline$State__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstPipeline__
diff --git a/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.h b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.h
new file mode 100644
index 000000000..4120a2b2d
--- /dev/null
+++ b/libjava/gnu/javax/sound/sampled/gstreamer/lines/GstSourceDataLine.h
@@ -0,0 +1,73 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_sound_sampled_gstreamer_lines_GstSourceDataLine__
+#define __gnu_javax_sound_sampled_gstreamer_lines_GstSourceDataLine__
+
+#pragma interface
+
+#include <gnu/javax/sound/sampled/gstreamer/lines/GstDataLine.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace sound
+      {
+        namespace sampled
+        {
+          namespace gstreamer
+          {
+            namespace lines
+            {
+                class GstPipeline;
+                class GstSourceDataLine;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace sound
+    {
+      namespace sampled
+      {
+          class AudioFormat;
+      }
+    }
+  }
+}
+
+class gnu::javax::sound::sampled::gstreamer::lines::GstSourceDataLine : public ::gnu::javax::sound::sampled::gstreamer::lines::GstDataLine
+{
+
+public:
+  GstSourceDataLine(::javax::sound::sampled::AudioFormat *);
+  virtual void open();
+  virtual void open(::javax::sound::sampled::AudioFormat *);
+  virtual void open(::javax::sound::sampled::AudioFormat *, jint);
+  virtual jint write(JArray< jbyte > *, jint, jint);
+  virtual jint available();
+  virtual void drain();
+  virtual void flush();
+  virtual jint getFramePosition();
+  virtual jlong getLongFramePosition();
+  virtual jlong getMicrosecondPosition();
+  virtual jboolean isActive();
+  virtual void start();
+  virtual void stop();
+  virtual void close();
+  virtual jboolean isRunning();
+private:
+  ::gnu::javax::sound::sampled::gstreamer::lines::GstPipeline * __attribute__((aligned(__alignof__( ::gnu::javax::sound::sampled::gstreamer::lines::GstDataLine)))) pipeline;
+  jboolean open__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_sound_sampled_gstreamer_lines_GstSourceDataLine__
diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h
new file mode 100644
index 000000000..cb81ed002
--- /dev/null
+++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$CheckBoxIcon.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__
+#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace plaf
+        {
+          namespace gnu
+          {
+              class GNULookAndFeel$CheckBoxIcon;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Component;
+        class Graphics;
+    }
+  }
+}
+
+class gnu::javax::swing::plaf::gnu::GNULookAndFeel$CheckBoxIcon : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GNULookAndFeel$CheckBoxIcon();
+public:
+  virtual jint getIconHeight();
+  virtual jint getIconWidth();
+  virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel$CheckBoxIcon__
diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h
new file mode 100644
index 000000000..7bf88f450
--- /dev/null
+++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel$RadioButtonIcon.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__
+#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace plaf
+        {
+          namespace gnu
+          {
+              class GNULookAndFeel$RadioButtonIcon;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Component;
+        class Graphics;
+    }
+  }
+}
+
+class gnu::javax::swing::plaf::gnu::GNULookAndFeel$RadioButtonIcon : public ::java::lang::Object
+{
+
+public: // actually package-private
+  GNULookAndFeel$RadioButtonIcon();
+public:
+  virtual jint getIconHeight();
+  virtual jint getIconWidth();
+  virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel$RadioButtonIcon__
diff --git a/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h
new file mode 100644
index 000000000..5aacc5f6f
--- /dev/null
+++ b/libjava/gnu/javax/swing/plaf/gnu/GNULookAndFeel.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_plaf_gnu_GNULookAndFeel__
+#define __gnu_javax_swing_plaf_gnu_GNULookAndFeel__
+
+#pragma interface
+
+#include <javax/swing/plaf/basic/BasicLookAndFeel.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace plaf
+        {
+          namespace gnu
+          {
+              class GNULookAndFeel;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Color;
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class UIDefaults;
+    }
+  }
+}
+
+class gnu::javax::swing::plaf::gnu::GNULookAndFeel : public ::javax::swing::plaf::basic::BasicLookAndFeel
+{
+
+public:
+  GNULookAndFeel();
+  virtual jboolean isNativeLookAndFeel();
+  virtual jboolean isSupportedLookAndFeel();
+  virtual ::java::lang::String * getDescription();
+  virtual ::java::lang::String * getID();
+  virtual ::java::lang::String * getName();
+  virtual ::javax::swing::UIDefaults * getDefaults();
+public: // actually package-private
+  static ::java::awt::Color * blueGray;
+  static ::javax::swing::UIDefaults * LAF_defaults;
+private:
+  static ::java::lang::String * iconspath;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_plaf_gnu_GNULookAndFeel__
diff --git a/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h b/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h
new file mode 100644
index 000000000..86f273af8
--- /dev/null
+++ b/libjava/gnu/javax/swing/plaf/metal/CustomizableTheme.h
@@ -0,0 +1,76 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_plaf_metal_CustomizableTheme__
+#define __gnu_javax_swing_plaf_metal_CustomizableTheme__
+
+#pragma interface
+
+#include <javax/swing/plaf/metal/DefaultMetalTheme.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace plaf
+        {
+          namespace metal
+          {
+              class CustomizableTheme;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Color;
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace plaf
+      {
+          class ColorUIResource;
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::plaf::metal::CustomizableTheme : public ::javax::swing::plaf::metal::DefaultMetalTheme
+{
+
+public:
+  CustomizableTheme();
+  virtual void setPrimary1(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getPrimary1();
+  virtual void setPrimary2(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getPrimary2();
+  virtual void setPrimary3(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getPrimary3();
+  virtual void setSecondary1(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getSecondary1();
+  virtual void setSecondary2(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getSecondary2();
+  virtual void setSecondary3(::java::awt::Color *);
+  virtual ::javax::swing::plaf::ColorUIResource * getSecondary3();
+  virtual ::java::lang::Object * clone();
+private:
+  ::javax::swing::plaf::ColorUIResource * __attribute__((aligned(__alignof__( ::javax::swing::plaf::metal::DefaultMetalTheme)))) primary1;
+  ::javax::swing::plaf::ColorUIResource * primary2;
+  ::javax::swing::plaf::ColorUIResource * primary3;
+  ::javax::swing::plaf::ColorUIResource * secondary1;
+  ::javax::swing::plaf::ColorUIResource * secondary2;
+  ::javax::swing::plaf::ColorUIResource * secondary3;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_plaf_metal_CustomizableTheme__
diff --git a/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h b/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h
new file mode 100644
index 000000000..72939f5fb
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/CharacterAttributeTranslator.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_CharacterAttributeTranslator__
+#define __gnu_javax_swing_text_html_CharacterAttributeTranslator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class CharacterAttributeTranslator;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Color;
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+          class MutableAttributeSet;
+        namespace html
+        {
+            class HTML$Tag;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::CharacterAttributeTranslator : public ::java::lang::Object
+{
+
+public:
+  CharacterAttributeTranslator();
+  static ::java::awt::Color * getColor(::java::lang::String *);
+  static jboolean translateTag(::javax::swing::text::MutableAttributeSet *, ::javax::swing::text::html::HTML$Tag *, ::javax::swing::text::MutableAttributeSet *);
+private:
+  static ::java::util::HashMap * colorMap;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_CharacterAttributeTranslator__
diff --git a/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h b/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h
new file mode 100644
index 000000000..26a3386ff
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/CombinedAttributes$CombinedEnumeration.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__
+#define __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class CombinedAttributes;
+              class CombinedAttributes$CombinedEnumeration;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::CombinedAttributes$CombinedEnumeration : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CombinedAttributes$CombinedEnumeration(::gnu::javax::swing::text::html::CombinedAttributes *, ::java::util::Enumeration *, ::java::util::Enumeration *);
+public:
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  ::java::util::Enumeration * __attribute__((aligned(__alignof__( ::java::lang::Object)))) a;
+  ::java::util::Enumeration * b;
+  ::gnu::javax::swing::text::html::CombinedAttributes * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_CombinedAttributes$CombinedEnumeration__
diff --git a/libjava/gnu/javax/swing/text/html/CombinedAttributes.h b/libjava/gnu/javax/swing/text/html/CombinedAttributes.h
new file mode 100644
index 000000000..69ed22976
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/CombinedAttributes.h
@@ -0,0 +1,64 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_CombinedAttributes__
+#define __gnu_javax_swing_text_html_CombinedAttributes__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class CombinedAttributes;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::CombinedAttributes : public ::java::lang::Object
+{
+
+public:
+  static ::javax::swing::text::AttributeSet * combine(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *);
+private:
+  CombinedAttributes(::javax::swing::text::AttributeSet *, ::javax::swing::text::AttributeSet *);
+public:
+  virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *);
+  virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *);
+  virtual ::javax::swing::text::AttributeSet * copyAttributes();
+  virtual ::java::lang::Object * getAttribute(::java::lang::Object *);
+  virtual jint getAttributeCount();
+  virtual ::java::util::Enumeration * getAttributeNames();
+  virtual ::javax::swing::text::AttributeSet * getResolveParent();
+  virtual jboolean isDefined(::java::lang::Object *);
+  virtual jboolean isEqual(::javax::swing::text::AttributeSet *);
+public: // actually package-private
+  ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) a;
+  ::javax::swing::text::AttributeSet * b;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_CombinedAttributes__
diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h
new file mode 100644
index 000000000..b0f39ebf9
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$LoadingImageIcon.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__
+#define __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class ImageViewIconFactory$LoadingImageIcon;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Component;
+        class Graphics;
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::ImageViewIconFactory$LoadingImageIcon : public ::java::lang::Object
+{
+
+public:
+  ImageViewIconFactory$LoadingImageIcon();
+  virtual jint getIconWidth();
+  virtual jint getIconHeight();
+  virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_ImageViewIconFactory$LoadingImageIcon__
diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h
new file mode 100644
index 000000000..d25a5fe29
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory$NoImageIcon.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__
+#define __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class ImageViewIconFactory$NoImageIcon;
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Component;
+        class Graphics;
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::ImageViewIconFactory$NoImageIcon : public ::java::lang::Object
+{
+
+public:
+  ImageViewIconFactory$NoImageIcon();
+  virtual jint getIconWidth();
+  virtual jint getIconHeight();
+  virtual void paintIcon(::java::awt::Component *, ::java::awt::Graphics *, jint, jint);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_ImageViewIconFactory$NoImageIcon__
diff --git a/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h
new file mode 100644
index 000000000..3357a92cf
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/ImageViewIconFactory.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_ImageViewIconFactory__
+#define __gnu_javax_swing_text_html_ImageViewIconFactory__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+              class ImageViewIconFactory;
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+        class Icon;
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::ImageViewIconFactory : public ::java::lang::Object
+{
+
+public:
+  ImageViewIconFactory();
+  static ::javax::swing::Icon * getNoImageIcon();
+  static ::javax::swing::Icon * getLoadingImageIcon();
+private:
+  static ::javax::swing::Icon * noImageIcon;
+  static ::javax::swing::Icon * loadingImageIcon;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_ImageViewIconFactory__
diff --git a/libjava/gnu/javax/swing/text/html/css/BorderStyle.h b/libjava/gnu/javax/swing/text/html/css/BorderStyle.h
new file mode 100644
index 000000000..e8efa108f
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/BorderStyle.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_BorderStyle__
+#define __gnu_javax_swing_text_html_css_BorderStyle__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class BorderStyle;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::BorderStyle : public ::java::lang::Object
+{
+
+public:
+  BorderStyle();
+  static jboolean isValidStyle(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_BorderStyle__
diff --git a/libjava/gnu/javax/swing/text/html/css/BorderWidth.h b/libjava/gnu/javax/swing/text/html/css/BorderWidth.h
new file mode 100644
index 000000000..ce2878788
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/BorderWidth.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_BorderWidth__
+#define __gnu_javax_swing_text_html_css_BorderWidth__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/css/Length.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class BorderWidth;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::BorderWidth : public ::gnu::javax::swing::text::html::css::Length
+{
+
+public:
+  BorderWidth(::java::lang::String *);
+  static jboolean isValid(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_BorderWidth__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSColor.h b/libjava/gnu/javax/swing/text/html/css/CSSColor.h
new file mode 100644
index 000000000..6896930e9
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSColor.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSColor__
+#define __gnu_javax_swing_text_html_css_CSSColor__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSColor;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace java
+  {
+    namespace awt
+    {
+        class Color;
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSColor : public ::java::lang::Object
+{
+
+public:
+  CSSColor(::java::lang::String *);
+  static ::java::awt::Color * convertValue(::java::lang::String *);
+  virtual ::java::awt::Color * getValue();
+  virtual ::java::lang::String * toString();
+  static jboolean isValidColor(::java::lang::String *);
+private:
+  static ::java::util::HashMap * COLOR_MAP;
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+  ::java::awt::Color * color;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSColor__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h b/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h
new file mode 100644
index 000000000..bcacf3220
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSLexicalException.h
@@ -0,0 +1,42 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSLexicalException__
+#define __gnu_javax_swing_text_html_css_CSSLexicalException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSLexicalException;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSLexicalException : public ::java::io::IOException
+{
+
+public:
+  CSSLexicalException();
+  CSSLexicalException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSLexicalException__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h b/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h
new file mode 100644
index 000000000..b4f0adc55
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSParser$1.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSParser$1__
+#define __gnu_javax_swing_text_html_css_CSSParser$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSParser$1;
+                class Selector;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSParser$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CSSParser$1();
+public:
+  virtual void startStatement(JArray< ::gnu::javax::swing::text::html::css::Selector * > *);
+  virtual void endStatement();
+  virtual void declaration(::java::lang::String *, ::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSParser$1__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParser.h b/libjava/gnu/javax/swing/text/html/css/CSSParser.h
new file mode 100644
index 000000000..f7cb01425
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSParser.h
@@ -0,0 +1,65 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSParser__
+#define __gnu_javax_swing_text_html_css_CSSParser__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSParser;
+                class CSSParserCallback;
+                class CSSScanner;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSParser : public ::java::lang::Object
+{
+
+public:
+  CSSParser(::java::io::Reader *, ::gnu::javax::swing::text::html::css::CSSParserCallback *);
+  virtual void parse();
+private:
+  jboolean parseStylesheet();
+  jboolean parseStatement();
+  jboolean parseRuleset();
+  jboolean parseDeclaration();
+  jboolean parseValue(::java::lang::StringBuilder *);
+  jboolean parseSelector(::java::lang::StringBuilder *);
+  jboolean parseAny(::java::lang::StringBuilder *);
+  jboolean parseAtRule();
+  jint readToken();
+  jint peekToken();
+public:
+  static void main(JArray< ::java::lang::String * > *);
+private:
+  ::gnu::javax::swing::text::html::css::CSSScanner * __attribute__((aligned(__alignof__( ::java::lang::Object)))) scanner;
+  ::gnu::javax::swing::text::html::css::CSSParserCallback * callback;
+  jint lookahead;
+  ::java::lang::String * error;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSParser__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h b/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h
new file mode 100644
index 000000000..ce07b41e1
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSParserCallback.h
@@ -0,0 +1,46 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSParserCallback__
+#define __gnu_javax_swing_text_html_css_CSSParserCallback__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSParserCallback;
+                class Selector;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSParserCallback : public ::java::lang::Object
+{
+
+public:
+  virtual void startStatement(JArray< ::gnu::javax::swing::text::html::css::Selector * > *) = 0;
+  virtual void endStatement() = 0;
+  virtual void declaration(::java::lang::String *, ::java::lang::String *) = 0;
+  static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_swing_text_html_css_CSSParserCallback__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSParserException.h b/libjava/gnu/javax/swing/text/html/css/CSSParserException.h
new file mode 100644
index 000000000..9be56d4f3
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSParserException.h
@@ -0,0 +1,41 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSParserException__
+#define __gnu_javax_swing_text_html_css_CSSParserException__
+
+#pragma interface
+
+#include <java/io/IOException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSParserException;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSParserException : public ::java::io::IOException
+{
+
+public:
+  CSSParserException(::java::lang::String *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSParserException__
diff --git a/libjava/gnu/javax/swing/text/html/css/CSSScanner.h b/libjava/gnu/javax/swing/text/html/css/CSSScanner.h
new file mode 100644
index 000000000..0e6d7c5f0
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/CSSScanner.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_CSSScanner__
+#define __gnu_javax_swing_text_html_css_CSSScanner__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class CSSScanner;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::CSSScanner : public ::java::lang::Object
+{
+
+public: // actually package-private
+  CSSScanner(::java::io::Reader *);
+  virtual jint nextToken();
+  virtual ::java::lang::String * currentTokenString();
+private:
+  jint read();
+  void readIdent();
+  void readEscape();
+  void readName();
+  void readString();
+  void readWhitespace();
+  void readURI();
+  void readComment();
+  void readNum();
+public:
+  static void main(JArray< ::java::lang::String * > *);
+public: // actually package-private
+  static const jint IDENT = 1;
+  static const jint ATKEYWORD = 2;
+  static const jint STRING = 3;
+  static const jint INVALID = 4;
+  static const jint HASH = 5;
+  static const jint NUMBER = 6;
+  static const jint PERCENTAGE = 7;
+  static const jint DIMENSION = 8;
+  static const jint URI = 9;
+  static const jint UNICODE_RANGE = 10;
+  static const jint CDO = 11;
+  static const jint CDC = 12;
+  static const jint SEMICOLON = 13;
+  static const jint CURLY_LEFT = 14;
+  static const jint CURLY_RIGHT = 15;
+  static const jint PAREN_LEFT = 16;
+  static const jint PAREN_RIGHT = 17;
+  static const jint BRACE_LEFT = 16;
+  static const jint BRACE_RIGHT = 17;
+  static const jint S = 18;
+  static const jint COMMENT = 19;
+  static const jint FUNCTION = 20;
+  static const jint INCLUDES = 21;
+  static const jint DASHMATCH = 22;
+  static const jint DELIM = 23;
+  static const jint EOF = -1;
+private:
+  ::java::io::Reader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) in;
+public: // actually package-private
+  JArray< jchar > * parseBuffer;
+  jint tokenEnd;
+private:
+  JArray< jint > * lookahead;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_CSSScanner__
diff --git a/libjava/gnu/javax/swing/text/html/css/FontSize.h b/libjava/gnu/javax/swing/text/html/css/FontSize.h
new file mode 100644
index 000000000..52c4087fa
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/FontSize.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_FontSize__
+#define __gnu_javax_swing_text_html_css_FontSize__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class FontSize;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::FontSize : public ::java::lang::Object
+{
+
+public:
+  FontSize(::java::lang::String *);
+  virtual jint getValue(jint);
+  virtual jint getValue();
+private:
+  jint mapValue();
+  jint mapPoints();
+  jint mapPixels();
+  jint mapPercent(jint);
+  jint mapEM(jint);
+  jint mapSmaller(jint);
+  jint mapLarger(jint);
+  jint mapAbsolute();
+public:
+  virtual ::java::lang::String * toString();
+private:
+  jint mapRelative(jint);
+public:
+  virtual jboolean isRelative();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+  jint size;
+  jint sizeIndex;
+  jboolean isRelative__;
+public:
+  static const jint DEFAULT_FONT_SIZE = 12;
+private:
+  static JArray< jdouble > * SCALE;
+public: // actually package-private
+  static jboolean $assertionsDisabled;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_FontSize__
diff --git a/libjava/gnu/javax/swing/text/html/css/FontStyle.h b/libjava/gnu/javax/swing/text/html/css/FontStyle.h
new file mode 100644
index 000000000..b25be5b1e
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/FontStyle.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_FontStyle__
+#define __gnu_javax_swing_text_html_css_FontStyle__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class FontStyle;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::FontStyle : public ::java::lang::Object
+{
+
+public:
+  FontStyle(::java::lang::String *);
+  virtual jint getValue();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_FontStyle__
diff --git a/libjava/gnu/javax/swing/text/html/css/FontWeight.h b/libjava/gnu/javax/swing/text/html/css/FontWeight.h
new file mode 100644
index 000000000..17adbbe95
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/FontWeight.h
@@ -0,0 +1,45 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_FontWeight__
+#define __gnu_javax_swing_text_html_css_FontWeight__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class FontWeight;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::FontWeight : public ::java::lang::Object
+{
+
+public:
+  FontWeight(::java::lang::String *);
+  virtual jint getValue();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_FontWeight__
diff --git a/libjava/gnu/javax/swing/text/html/css/Length.h b/libjava/gnu/javax/swing/text/html/css/Length.h
new file mode 100644
index 000000000..0eb88bff2
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/Length.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_Length__
+#define __gnu_javax_swing_text_html_css_Length__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class Length;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::Length : public ::java::lang::Object
+{
+
+public:
+  Length(::java::lang::String *);
+  virtual jfloat getValue();
+  virtual jfloat getValue(jfloat);
+  virtual void setEMBase(jfloat);
+  virtual void setEXBase(jfloat);
+  virtual void setFontBases(jfloat, jfloat);
+  virtual jboolean isFontEMRelative();
+  virtual jboolean isFontEXRelative();
+  virtual jboolean isPercentage();
+  static jboolean isValid(::java::lang::String *);
+  virtual ::java::lang::String * toString();
+private:
+  ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) value;
+public: // actually protected
+  jfloat floatValue;
+private:
+  jboolean isPercentage__;
+  jboolean isFontEMRelative__;
+  jboolean isFontEXRelative__;
+  jfloat emBase;
+  jfloat exBase;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_Length__
diff --git a/libjava/gnu/javax/swing/text/html/css/Selector.h b/libjava/gnu/javax/swing/text/html/css/Selector.h
new file mode 100644
index 000000000..ba2ba7b5d
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/css/Selector.h
@@ -0,0 +1,55 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_css_Selector__
+#define __gnu_javax_swing_text_html_css_Selector__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace css
+            {
+                class Selector;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::css::Selector : public ::java::lang::Object
+{
+
+public:
+  Selector(::java::lang::String *);
+  virtual jboolean matches(JArray< ::java::lang::String * > *, ::java::util::List *);
+  virtual jint getSpecificity();
+  virtual ::java::lang::String * toString();
+private:
+  void calculateSpecificity();
+  JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) selector;
+  JArray< ::java::lang::String * > * elements;
+  JArray< ::java::lang::String * > * ids;
+  JArray< ::java::lang::String * > * classes;
+  jint specificity;
+  jboolean implicit;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_css_Selector__
diff --git a/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h
new file mode 100644
index 000000000..27fa3d078
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator$gnuParser.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__
+#define __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/support/Parser.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class GnuParserDelegator;
+                class GnuParserDelegator$gnuParser;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class DTD;
+              class TagElement;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::GnuParserDelegator$gnuParser : public ::gnu::javax::swing::text::html::parser::support::Parser
+{
+
+public: // actually package-private
+  GnuParserDelegator$gnuParser(::gnu::javax::swing::text::html::parser::GnuParserDelegator *, ::javax::swing::text::html::parser::DTD *);
+public: // actually protected
+  virtual void handleComment(JArray< jchar > *);
+  virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleError(jint, ::java::lang::String *);
+  virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleText(JArray< jchar > *);
+public: // actually package-private
+  virtual ::javax::swing::text::html::parser::DTD * getDTD();
+private:
+  static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::GnuParserDelegator * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::Parser)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_GnuParserDelegator$gnuParser__
diff --git a/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h
new file mode 100644
index 000000000..1eda52a21
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/GnuParserDelegator.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_GnuParserDelegator__
+#define __gnu_javax_swing_text_html_parser_GnuParserDelegator__
+
+#pragma interface
+
+#include <javax/swing/text/html/parser/ParserDelegator.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class GnuParserDelegator;
+                class GnuParserDelegator$gnuParser;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+            class HTMLEditorKit$ParserCallback;
+          namespace parser
+          {
+              class DTD;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::GnuParserDelegator : public ::javax::swing::text::html::parser::ParserDelegator
+{
+
+public:
+  GnuParserDelegator(::javax::swing::text::html::parser::DTD *);
+  virtual void parse(::java::io::Reader *, ::javax::swing::text::html::HTMLEditorKit$ParserCallback *, jboolean);
+private:
+  static const jlong serialVersionUID = -1276686502624777206LL;
+  ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::javax::swing::text::html::parser::ParserDelegator)))) theDtd;
+public: // actually package-private
+  ::javax::swing::text::html::HTMLEditorKit$ParserCallback * callBack;
+  ::gnu::javax::swing::text::html::parser::GnuParserDelegator$gnuParser * gnu;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_GnuParserDelegator__
diff --git a/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h
new file mode 100644
index 000000000..d613328ca
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/HTML_401F.h
@@ -0,0 +1,338 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_HTML_401F__
+#define __gnu_javax_swing_text_html_parser_HTML_401F__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/gnuDTD.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class HTML_401F;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class ContentModel;
+              class DTD;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::HTML_401F : public ::gnu::javax::swing::text::html::parser::gnuDTD
+{
+
+public: // actually protected
+  HTML_401F();
+public:
+  static ::javax::swing::text::html::parser::DTD * getInstance();
+public: // actually protected
+  virtual void defineElements();
+private:
+  void defineElements1();
+  void defineElements2();
+  void defineElements3();
+  void defineElements4();
+  void defineElements5();
+  void defineElements6();
+public: // actually protected
+  virtual void defineEntities();
+  virtual ::javax::swing::text::html::parser::ContentModel * model(::java::lang::String *);
+private:
+  ::javax::swing::text::html::parser::ContentModel * model(::java::lang::String *, jint);
+public: // actually protected
+  virtual ::javax::swing::text::html::parser::ContentModel * createHtmlContentModel();
+  virtual ::javax::swing::text::html::parser::ContentModel * createTableContentModel();
+  virtual ::javax::swing::text::html::parser::ContentModel * createDefListModel();
+  virtual ::javax::swing::text::html::parser::ContentModel * createListModel();
+  virtual JArray< ::java::lang::String * > * getBodyElements();
+private:
+  static const jlong serialVersionUID = 1LL;
+public:
+  static ::java::lang::String * DTD_NAME;
+public: // actually package-private
+  static const jint PIXELS = 12;
+  static JArray< ::java::lang::String * > * NONE;
+  static ::java::lang::String * PCDATA;
+  static ::java::lang::String * A;
+  static ::java::lang::String * ABBR;
+  static ::java::lang::String * ACRONYM;
+  static ::java::lang::String * ADDRESS;
+  static ::java::lang::String * APPLET;
+  static ::java::lang::String * AREA;
+  static ::java::lang::String * B;
+  static ::java::lang::String * BASE;
+  static ::java::lang::String * BASEFONT;
+  static ::java::lang::String * BDO;
+  static ::java::lang::String * BIG;
+  static ::java::lang::String * BLOCKQUOTE;
+  static ::java::lang::String * BODY;
+  static ::java::lang::String * BR;
+  static ::java::lang::String * BUTTON;
+  static ::java::lang::String * CAPTION;
+  static ::java::lang::String * CENTER;
+  static ::java::lang::String * CITE;
+  static ::java::lang::String * CODE;
+  static ::java::lang::String * COL;
+  static ::java::lang::String * COLGROUP;
+  static ::java::lang::String * DEFAULTS;
+  static ::java::lang::String * DD;
+  static ::java::lang::String * DEL;
+  static ::java::lang::String * DFN;
+  static ::java::lang::String * DIR;
+  static ::java::lang::String * DIV;
+  static ::java::lang::String * DL;
+  static ::java::lang::String * DT;
+  static ::java::lang::String * EM;
+  static ::java::lang::String * FIELDSET;
+  static ::java::lang::String * FONT;
+  static ::java::lang::String * FORM;
+  static ::java::lang::String * FRAME;
+  static ::java::lang::String * FRAMESET;
+  static ::java::lang::String * H1;
+  static ::java::lang::String * H2;
+  static ::java::lang::String * H3;
+  static ::java::lang::String * H4;
+  static ::java::lang::String * H5;
+  static ::java::lang::String * H6;
+  static ::java::lang::String * HEAD;
+  static ::java::lang::String * HR;
+  static ::java::lang::String * HTML;
+  static ::java::lang::String * I;
+  static ::java::lang::String * IFRAME;
+  static ::java::lang::String * IMG;
+  static ::java::lang::String * INPUT;
+  static ::java::lang::String * INS;
+  static ::java::lang::String * ISINDEX;
+  static ::java::lang::String * KBD;
+  static ::java::lang::String * LABEL;
+  static ::java::lang::String * LEGEND;
+  static ::java::lang::String * LI;
+  static ::java::lang::String * LINK;
+  static ::java::lang::String * MAP;
+  static ::java::lang::String * MENU;
+  static ::java::lang::String * META;
+  static ::java::lang::String * NOFRAMES;
+  static ::java::lang::String * NOSCRIPT;
+  static ::java::lang::String * NONES;
+  static ::java::lang::String * sNAME;
+  static ::java::lang::String * OBJECT;
+  static ::java::lang::String * OL;
+  static ::java::lang::String * OPTGROUP;
+  static ::java::lang::String * OPTION;
+  static ::java::lang::String * P;
+  static ::java::lang::String * PARAM;
+  static ::java::lang::String * PRE;
+  static ::java::lang::String * Q;
+  static ::java::lang::String * S;
+  static ::java::lang::String * SAMP;
+  static ::java::lang::String * SCRIPT;
+  static ::java::lang::String * SELECT;
+  static ::java::lang::String * SMALL;
+  static ::java::lang::String * SPAN;
+  static ::java::lang::String * STRIKE;
+  static ::java::lang::String * STRONG;
+  static ::java::lang::String * STYLE;
+  static ::java::lang::String * SUB;
+  static ::java::lang::String * SUP;
+  static ::java::lang::String * TABLE;
+  static ::java::lang::String * TBODY;
+  static ::java::lang::String * TD;
+  static ::java::lang::String * TEXTAREA;
+  static ::java::lang::String * TFOOT;
+  static ::java::lang::String * TH;
+  static ::java::lang::String * THEAD;
+  static ::java::lang::String * TITLE;
+  static ::java::lang::String * TR;
+  static ::java::lang::String * TT;
+  static ::java::lang::String * U;
+  static ::java::lang::String * UL;
+  static ::java::lang::String * VAR;
+  static ::java::lang::String * C_0;
+  static ::java::lang::String * C_1;
+  static ::java::lang::String * CHECKBOX;
+  static ::java::lang::String * DATA;
+  static ::java::lang::String * FILE;
+  static ::java::lang::String * GET;
+  static ::java::lang::String * HIDDEN;
+  static ::java::lang::String * IMAGE;
+  static ::java::lang::String * PASSWORD;
+  static ::java::lang::String * POST;
+  static ::java::lang::String * RADIO;
+  static ::java::lang::String * REF;
+  static ::java::lang::String * RESET;
+  static ::java::lang::String * SUBMIT;
+  static ::java::lang::String * TEXT;
+  static ::java::lang::String * ABOVE;
+  static ::java::lang::String * ACCEPT;
+  static ::java::lang::String * ACCEPTCHARSET;
+  static ::java::lang::String * ACCESSKEY;
+  static ::java::lang::String * ACTION;
+  static ::java::lang::String * ALIGN;
+  static ::java::lang::String * ALINK;
+  static ::java::lang::String * ALL;
+  static ::java::lang::String * ALT;
+  static ::java::lang::String * APPLICATION_X_WWW_FORM_URLENCODED;
+  static ::java::lang::String * ARCHIVE;
+  static ::java::lang::String * AUTO;
+  static ::java::lang::String * AXIS;
+  static ::java::lang::String * BACKGROUND;
+  static ::java::lang::String * BASELINE;
+  static ::java::lang::String * BELOW;
+  static ::java::lang::String * BGCOLOR;
+  static ::java::lang::String * BORDER;
+  static ::java::lang::String * BOTTOM;
+  static ::java::lang::String * BOX;
+  static ::java::lang::String * CELLPADDING;
+  static ::java::lang::String * CELLSPACING;
+  static ::java::lang::String * CHAR;
+  static ::java::lang::String * CHAROFF;
+  static ::java::lang::String * CHARSET;
+  static ::java::lang::String * CHECKED;
+  static ::java::lang::String * CIRCLE;
+  static ::java::lang::String * CLASS;
+  static ::java::lang::String * CLASSID;
+  static ::java::lang::String * CLEAR;
+  static ::java::lang::String * CODEBASE;
+  static ::java::lang::String * CODETYPE;
+  static ::java::lang::String * COLOR;
+  static ::java::lang::String * COLS;
+  static ::java::lang::String * COLSPAN;
+  static ::java::lang::String * COMPACT;
+  static ::java::lang::String * CONTENT;
+  static ::java::lang::String * COORDS;
+  static ::java::lang::String * DATAPAGESIZE;
+  static ::java::lang::String * DATETIME;
+  static ::java::lang::String * DECLARE;
+  static ::java::lang::String * DEFER;
+  static ::java::lang::String * DISABLED;
+  static ::java::lang::String * DISC;
+  static ::java::lang::String * ENCTYPE;
+  static ::java::lang::String * EVENT;
+  static ::java::lang::String * FACE;
+  static ::java::lang::String * FOR;
+  static ::java::lang::String * FRAMEBORDER;
+  static ::java::lang::String * GROUPS;
+  static ::java::lang::String * HEADERS;
+  static ::java::lang::String * HEIGHT;
+  static ::java::lang::String * HREF;
+  static ::java::lang::String * HREFLANG;
+  static ::java::lang::String * HSIDES;
+  static ::java::lang::String * HSPACE;
+  static ::java::lang::String * HTTPEQUIV;
+  static ::java::lang::String * sID;
+  static ::java::lang::String * ISMAP;
+  static ::java::lang::String * JUSTIFY;
+  static ::java::lang::String * LANG;
+  static ::java::lang::String * LANGUAGE;
+  static ::java::lang::String * LEFT;
+  static ::java::lang::String * LHS;
+  static ::java::lang::String * LONGDESC;
+  static ::java::lang::String * LTR;
+  static ::java::lang::String * MARGINHEIGHT;
+  static ::java::lang::String * MARGINWIDTH;
+  static ::java::lang::String * MAXLENGTH;
+  static ::java::lang::String * MEDIA;
+  static ::java::lang::String * METHOD;
+  static ::java::lang::String * MIDDLE;
+  static ::java::lang::String * MULTIPLE;
+  static ::java::lang::String * NO;
+  static ::java::lang::String * NOHREF;
+  static ::java::lang::String * NORESIZE;
+  static ::java::lang::String * NOSHADE;
+  static ::java::lang::String * NOWRAP;
+  static ::java::lang::String * ONBLUR;
+  static ::java::lang::String * ONCHANGE;
+  static ::java::lang::String * ONCLICK;
+  static ::java::lang::String * ONDBLCLICK;
+  static ::java::lang::String * ONFOCUS;
+  static ::java::lang::String * ONKEYDOWN;
+  static ::java::lang::String * ONKEYPRESS;
+  static ::java::lang::String * ONKEYUP;
+  static ::java::lang::String * ONLOAD;
+  static ::java::lang::String * ONMOUSEDOWN;
+  static ::java::lang::String * ONMOUSEMOVE;
+  static ::java::lang::String * ONMOUSEOUT;
+  static ::java::lang::String * ONMOUSEOVER;
+  static ::java::lang::String * ONMOUSEUP;
+  static ::java::lang::String * ONRESET;
+  static ::java::lang::String * ONSELECT;
+  static ::java::lang::String * ONSUBMIT;
+  static ::java::lang::String * ONUNLOAD;
+  static ::java::lang::String * POLY;
+  static ::java::lang::String * PROFILE;
+  static ::java::lang::String * PROMPT;
+  static ::java::lang::String * READONLY;
+  static ::java::lang::String * RECT;
+  static ::java::lang::String * REL;
+  static ::java::lang::String * REV;
+  static ::java::lang::String * RHS;
+  static ::java::lang::String * RIGHT;
+  static ::java::lang::String * ROW;
+  static ::java::lang::String * ROWGROUP;
+  static ::java::lang::String * ROWS;
+  static ::java::lang::String * ROWSPAN;
+  static ::java::lang::String * RTL;
+  static ::java::lang::String * RULES;
+  static ::java::lang::String * SCHEME;
+  static ::java::lang::String * SCOPE;
+  static ::java::lang::String * SCROLLING;
+  static ::java::lang::String * SELECTED;
+  static ::java::lang::String * SHAPE;
+  static ::java::lang::String * SIZE;
+  static ::java::lang::String * SQUARE;
+  static ::java::lang::String * SRC;
+  static ::java::lang::String * STANDBY;
+  static ::java::lang::String * START;
+  static ::java::lang::String * SUMMARY;
+  static ::java::lang::String * TABINDEX;
+  static ::java::lang::String * TARGET;
+  static ::java::lang::String * TOP;
+  static ::java::lang::String * TYPE;
+  static ::java::lang::String * USEMAP;
+  static ::java::lang::String * VALIGN;
+  static ::java::lang::String * VALUE;
+  static ::java::lang::String * VALUETYPE;
+  static ::java::lang::String * VERSION;
+  static ::java::lang::String * VLINK;
+  static ::java::lang::String * VOID;
+  static ::java::lang::String * VSIDES;
+  static ::java::lang::String * VSPACE;
+  static ::java::lang::String * WIDTH;
+  static ::java::lang::String * YES;
+  static JArray< ::java::lang::String * > * BLOCK;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_HTML_401F__
diff --git a/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h
new file mode 100644
index 000000000..949d16d40
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet$1.h
@@ -0,0 +1,49 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__
+#define __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class SmallHtmlAttributeSet;
+                class SmallHtmlAttributeSet$1;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  SmallHtmlAttributeSet$1(::gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet *);
+public:
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) p;
+  ::gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet$1__
diff --git a/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h
new file mode 100644
index 000000000..c1aedde84
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/SmallHtmlAttributeSet.h
@@ -0,0 +1,71 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__
+#define __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class SmallHtmlAttributeSet;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::SmallHtmlAttributeSet : public ::java::lang::Object
+{
+
+public:
+  SmallHtmlAttributeSet(::javax::swing::text::AttributeSet *);
+  virtual jboolean containsAttribute(::java::lang::Object *, ::java::lang::Object *);
+  virtual jboolean containsAttributes(::javax::swing::text::AttributeSet *);
+  virtual ::javax::swing::text::AttributeSet * copyAttributes();
+  virtual ::java::lang::Object * getAttribute(::java::lang::Object *);
+  virtual jint getAttributeCount();
+  virtual ::java::util::Enumeration * getAttributeNames();
+  virtual ::javax::swing::text::AttributeSet * getResolveParent();
+  virtual jboolean isDefined(::java::lang::Object *);
+  virtual jboolean isEqual(::javax::swing::text::AttributeSet *);
+public: // actually protected
+  virtual ::java::lang::Object * clone();
+private:
+  static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+  JArray< ::java::lang::Object * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) keys;
+  JArray< ::java::lang::Object * > * values;
+  ::javax::swing::text::AttributeSet * parent;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_SmallHtmlAttributeSet__
diff --git a/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h b/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h
new file mode 100644
index 000000000..33642e335
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/gnuDTD.h
@@ -0,0 +1,81 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_gnuDTD__
+#define __gnu_javax_swing_text_html_parser_gnuDTD__
+
+#pragma interface
+
+#include <javax/swing/text/html/parser/DTD.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class gnuDTD;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class AttributeList;
+              class ContentModel;
+              class Element;
+              class Entity;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::gnuDTD : public ::javax::swing::text::html::parser::DTD
+{
+
+public:
+  gnuDTD(::java::lang::String *);
+  virtual ::javax::swing::text::html::parser::AttributeList * defAttributeList(::java::lang::String *, jint, jint, ::java::lang::String *, ::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *);
+  virtual void defAttrsFor(::java::lang::String *, ::javax::swing::text::html::parser::AttributeList *);
+  virtual ::javax::swing::text::html::parser::ContentModel * defContentModel(jint, ::java::lang::Object *, ::javax::swing::text::html::parser::ContentModel *);
+  virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, ::javax::swing::text::html::parser::AttributeList *);
+  virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, ::java::util::Collection *, ::java::util::Collection *, ::javax::swing::text::html::parser::AttributeList *);
+  virtual ::javax::swing::text::html::parser::Element * defElement(::java::lang::String *, jint, jboolean, jboolean, ::javax::swing::text::html::parser::ContentModel *, JArray< ::java::lang::String * > *, JArray< ::java::lang::String * > *, JArray< ::javax::swing::text::html::parser::AttributeList * > *);
+  virtual ::javax::swing::text::html::parser::Entity * defEntity(::java::lang::String *, jint, ::java::lang::String *);
+  virtual void dump(::java::io::PrintStream *);
+  virtual void dump(::java::util::BitSet *);
+public: // actually protected
+  virtual ::javax::swing::text::html::parser::AttributeList * attr(::java::lang::String *, ::java::lang::String *, JArray< ::java::lang::String * > *, jint, jint);
+  virtual void defineEntity(::java::lang::String *, jint);
+private:
+  JArray< ::java::lang::String * > * toStringArray(::java::util::Collection *);
+public:
+  static const jint URI = 512;
+  static const jint Length = 513;
+  static const jint Char = 514;
+  static const jint Color = 515;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_gnuDTD__
diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h
new file mode 100644
index 000000000..901ad5c97
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet$1.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__
+#define __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlAttributeSet;
+                class htmlAttributeSet$1;
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::htmlAttributeSet$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  htmlAttributeSet$1(::gnu::javax::swing::text::html::parser::htmlAttributeSet *, ::java::util::Enumeration *);
+public:
+  virtual jboolean hasMoreElements();
+  virtual ::java::lang::Object * nextElement();
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::htmlAttributeSet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+private:
+  ::java::util::Enumeration * val$enumeration;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_htmlAttributeSet$1__
diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h
new file mode 100644
index 000000000..e981c4f02
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/htmlAttributeSet.h
@@ -0,0 +1,62 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_htmlAttributeSet__
+#define __gnu_javax_swing_text_html_parser_htmlAttributeSet__
+
+#pragma interface
+
+#include <javax/swing/text/SimpleAttributeSet.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlAttributeSet;
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+          class AttributeSet;
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::htmlAttributeSet : public ::javax::swing::text::SimpleAttributeSet
+{
+
+public:
+  htmlAttributeSet();
+  virtual ::java::lang::Object * getAttribute(::java::lang::Object *);
+  virtual ::java::util::Enumeration * getAttributeNames();
+  virtual void setResolveParent(::javax::swing::text::AttributeSet *);
+  virtual ::javax::swing::text::AttributeSet * getResolveParent();
+  virtual void addAttribute(::java::lang::Object *, ::java::lang::Object *);
+  virtual ::javax::swing::text::AttributeSet * copyAttributes();
+  virtual ::java::lang::Object * clone();
+  static ::gnu::javax::swing::text::html::parser::htmlAttributeSet * EMPTY_HTML_ATTRIBUTE_SET;
+public: // actually package-private
+  ::javax::swing::text::AttributeSet * __attribute__((aligned(__alignof__( ::javax::swing::text::SimpleAttributeSet)))) parent;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_htmlAttributeSet__
diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h b/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h
new file mode 100644
index 000000000..eff505b40
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/htmlValidator$hTag.h
@@ -0,0 +1,74 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_htmlValidator$hTag__
+#define __gnu_javax_swing_text_html_parser_htmlValidator$hTag__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlValidator;
+                class htmlValidator$hTag;
+              namespace models
+              {
+                  class node;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+            class HTML$Tag;
+          namespace parser
+          {
+              class Element;
+              class TagElement;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::htmlValidator$hTag : public ::java::lang::Object
+{
+
+public: // actually protected
+  htmlValidator$hTag(::gnu::javax::swing::text::html::parser::htmlValidator *, ::javax::swing::text::html::parser::TagElement *);
+  virtual void forciblyCloseDueContext();
+  virtual void forciblyCloseDueEndOfStream();
+  ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::java::lang::Object)))) element;
+  ::javax::swing::text::html::HTML$Tag * tag;
+  ::javax::swing::text::html::parser::TagElement * tgElement;
+  jboolean forcibly_closed;
+  ::gnu::javax::swing::text::html::parser::models::node * validationTrace;
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::htmlValidator * this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_htmlValidator$hTag__
diff --git a/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h b/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h
new file mode 100644
index 000000000..9236c14e4
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/htmlValidator.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_htmlValidator__
+#define __gnu_javax_swing_text_html_parser_htmlValidator__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlAttributeSet;
+                class htmlValidator;
+              namespace models
+              {
+                  class node;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class AttributeList;
+              class DTD;
+              class Element;
+              class TagElement;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::htmlValidator : public ::java::lang::Object
+{
+
+public:
+  htmlValidator(::javax::swing::text::html::parser::DTD *);
+  virtual void closeAll();
+  virtual jboolean closeTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void openTag(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *);
+  virtual void restart();
+  virtual ::java::lang::Object * tagIsValidForContext(::javax::swing::text::html::parser::TagElement *);
+  virtual void validateTag(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *);
+public: // actually protected
+  virtual void checkContentModel(::javax::swing::text::html::parser::TagElement *, jboolean);
+  virtual void handleSupposedEndTag(::javax::swing::text::html::parser::Element *) = 0;
+  virtual void handleSupposedStartTag(::javax::swing::text::html::parser::Element *) = 0;
+  virtual void s_error(::java::lang::String *) = 0;
+  virtual void validateParameters(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *);
+private:
+  ::gnu::javax::swing::text::html::parser::models::node * getCurrentContentModel();
+  void closeLast();
+  void openFictionalTag(::javax::swing::text::html::parser::Element *);
+  void validateAttribute(::javax::swing::text::html::parser::TagElement *, ::gnu::javax::swing::text::html::parser::htmlAttributeSet *, ::java::util::Enumeration *);
+  void validateAttributeWithValueList(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::javax::swing::text::html::parser::AttributeList *, ::java::lang::String *);
+  void validateNameOrIdAttribute(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::java::lang::String *);
+  void validateNumberAttribute(::javax::swing::text::html::parser::TagElement *, ::java::lang::Object *, ::java::lang::String *);
+public: // actually protected
+  ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dtd;
+  ::java::util::LinkedList * stack;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_htmlValidator__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h b/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h
new file mode 100644
index 000000000..b83079044
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__
+#define __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/models/node.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class PCDATAonly_model;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::PCDATAonly_model : public ::gnu::javax::swing::text::html::parser::models::node
+{
+
+public:
+  PCDATAonly_model();
+  virtual ::java::lang::Object * show(::java::lang::Object *);
+private:
+  static const jlong serialVersionUID = 1LL;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_PCDATAonly_model__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h b/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h
new file mode 100644
index 000000000..6be57a051
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/TableRowContentModel.h
@@ -0,0 +1,67 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_TableRowContentModel__
+#define __gnu_javax_swing_text_html_parser_models_TableRowContentModel__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/models/node.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class TableRowContentModel;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class DTD;
+              class Element;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::TableRowContentModel : public ::gnu::javax::swing::text::html::parser::models::node
+{
+
+public:
+  TableRowContentModel(::javax::swing::text::html::parser::DTD *);
+  virtual ::java::lang::Object * show(::java::lang::Object *);
+private:
+  static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+  ::javax::swing::text::html::parser::Element * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) TD;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_TableRowContentModel__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/list.h b/libjava/gnu/javax/swing/text/html/parser/models/list.h
new file mode 100644
index 000000000..6ddb166d0
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/list.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_list__
+#define __gnu_javax_swing_text_html_parser_models_list__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/models/node.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class list;
+                  class node;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::list : public ::gnu::javax::swing::text::html::parser::models::node
+{
+
+public:
+  list(jchar, jchar, JArray< ::gnu::javax::swing::text::html::parser::models::node * > *);
+  list(JArray< ::gnu::javax::swing::text::html::parser::models::node * > *);
+  virtual jboolean isClosed();
+  virtual ::java::lang::Object * findFreeNode();
+  virtual jboolean matches(JArray< ::java::lang::Object * > *);
+  virtual jboolean mustClose();
+  virtual jboolean performMatch(::java::lang::Object *);
+  virtual void reset();
+  virtual ::java::lang::Object * show(::java::lang::Object *);
+  virtual ::java::lang::String * toString();
+  virtual jboolean valid();
+  virtual jboolean validPreliminary();
+public: // actually protected
+  virtual void close();
+  virtual jboolean compare(::java::lang::Object *);
+private:
+  static const jlong serialVersionUID = 1LL;
+public:
+  static jboolean CLEAR;
+  JArray< ::gnu::javax::swing::text::html::parser::models::node * > * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) nodes;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_list__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h b/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h
new file mode 100644
index 000000000..85320f408
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/noTagModel.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_noTagModel__
+#define __gnu_javax_swing_text_html_parser_models_noTagModel__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/models/node.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class noTagModel;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::noTagModel : public ::gnu::javax::swing::text::html::parser::models::node
+{
+
+public:
+  noTagModel(JArray< ::java::lang::String * > *);
+  noTagModel(::java::lang::String *);
+  virtual ::java::lang::Object * show(::java::lang::Object *);
+private:
+  static const jlong serialVersionUID = 1LL;
+public: // actually package-private
+  JArray< ::java::lang::String * > * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::models::node)))) no;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_noTagModel__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/node.h b/libjava/gnu/javax/swing/text/html/parser/models/node.h
new file mode 100644
index 000000000..a0b135c9a
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/node.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_node__
+#define __gnu_javax_swing_text_html_parser_models_node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class node;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::node : public ::java::lang::Object
+{
+
+public:
+  node(jchar, jchar, ::java::lang::Object *);
+  virtual jboolean isClosed();
+  virtual jboolean closePrevious();
+  virtual ::java::lang::Object * findFreeNode();
+  virtual jboolean mustClose();
+  virtual jboolean performMatch(::java::lang::Object *);
+  virtual void reset();
+  virtual ::java::lang::Object * show(::java::lang::Object *);
+  virtual jboolean silenceAllowed();
+  virtual ::java::lang::String * toString();
+  virtual jboolean valid();
+  virtual jboolean validPreliminary();
+public: // actually protected
+  virtual void close();
+  virtual jboolean compare(::java::lang::Object *);
+  virtual void matches();
+private:
+  static const jlong serialVersionUID = 1LL;
+public:
+  ::java::lang::Object * __attribute__((aligned(__alignof__( ::java::lang::Object)))) token;
+  jboolean _closed;
+  jchar binary;
+  jchar unary;
+  jint visits;
+  ::gnu::javax::swing::text::html::parser::models::node * previous;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_node__
diff --git a/libjava/gnu/javax/swing/text/html/parser/models/transformer.h b/libjava/gnu/javax/swing/text/html/parser/models/transformer.h
new file mode 100644
index 000000000..6f6470de3
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/models/transformer.h
@@ -0,0 +1,75 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_models_transformer__
+#define __gnu_javax_swing_text_html_parser_models_transformer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace models
+              {
+                  class node;
+                  class transformer;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class ContentModel;
+              class DTD;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::models::transformer : public ::java::lang::Object
+{
+
+public:
+  transformer();
+  static jint measureChainLength(::javax::swing::text::html::parser::ContentModel *);
+  static ::gnu::javax::swing::text::html::parser::models::node * transform(::javax::swing::text::html::parser::ContentModel *);
+  static ::gnu::javax::swing::text::html::parser::models::node * transform(::javax::swing::text::html::parser::ContentModel *, ::javax::swing::text::html::parser::DTD *);
+private:
+  static jboolean isBinary(jint);
+  static jboolean isUnary(jint);
+  static void addtype(::gnu::javax::swing::text::html::parser::models::node *, jchar);
+  static ::gnu::javax::swing::text::html::parser::models::node * optionalTransform(::javax::swing::text::html::parser::ContentModel *, ::javax::swing::text::html::parser::DTD *);
+  static const jlong serialVersionUID = 1LL;
+public: // actually protected
+  static ::java::lang::String * binary;
+  static ::java::lang::String * unary;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_models_transformer__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h
new file mode 100644
index 000000000..72b503a57
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser$1.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_Parser$1__
+#define __gnu_javax_swing_text_html_parser_support_Parser$1__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                  class Parser;
+                  class Parser$1;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::Parser$1 : public ::java::lang::Object
+{
+
+public: // actually package-private
+  Parser$1(::gnu::javax::swing::text::html::parser::support::Parser *);
+public:
+  virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::support::Parser * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_Parser$1__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h
new file mode 100644
index 000000000..9e1f64294
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser$2.h
@@ -0,0 +1,69 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_Parser$2__
+#define __gnu_javax_swing_text_html_parser_support_Parser$2__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/htmlValidator.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                  class Parser;
+                  class Parser$2;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class DTD;
+              class Element;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::Parser$2 : public ::gnu::javax::swing::text::html::parser::htmlValidator
+{
+
+public: // actually package-private
+  Parser$2(::gnu::javax::swing::text::html::parser::support::Parser *, ::javax::swing::text::html::parser::DTD *);
+public: // actually protected
+  virtual void s_error(::java::lang::String *);
+  virtual void handleSupposedEndTag(::javax::swing::text::html::parser::Element *);
+  virtual void handleSupposedStartTag(::javax::swing::text::html::parser::Element *);
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::support::Parser * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::htmlValidator)))) this$0;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_Parser$2__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/Parser.h b/libjava/gnu/javax/swing/text/html/parser/support/Parser.h
new file mode 100644
index 000000000..3bdc172d4
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/Parser.h
@@ -0,0 +1,154 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_Parser__
+#define __gnu_javax_swing_text_html_parser_support_Parser__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlAttributeSet;
+                class htmlValidator;
+              namespace support
+              {
+                  class Parser;
+                namespace low
+                {
+                    class Token;
+                    class pattern;
+                }
+                  class parameterDefaulter;
+                  class textPreProcessor;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+          class SimpleAttributeSet;
+        namespace html
+        {
+            class HTML$Tag;
+          namespace parser
+          {
+              class DTD;
+              class Element;
+              class TagElement;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::Parser : public ::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer
+{
+
+public:
+  Parser(::javax::swing::text::html::parser::DTD *);
+  virtual ::javax::swing::text::SimpleAttributeSet * getAttributes();
+  virtual void error(::java::lang::String *);
+  virtual void error(::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Token *);
+  virtual void error(::java::lang::String *, ::java::lang::String *);
+  virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+  virtual void error(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+  virtual void flushAttributes();
+  virtual void parse(::java::io::Reader *);
+  virtual ::java::lang::String * parseDTDMarkup();
+  virtual jboolean parseMarkupDeclarations(::java::lang::StringBuffer *);
+public: // actually protected
+  virtual jint getCurrentLine();
+  virtual void CDATA(jboolean);
+  virtual void Comment();
+  virtual void Script();
+  virtual void Sgml();
+  virtual void Style();
+  virtual void Tag();
+  virtual void _handleText();
+  virtual void append(::gnu::javax::swing::text::html::parser::support::low::Token *);
+  virtual void consume(::gnu::javax::swing::text::html::parser::support::low::pattern *);
+  virtual void endTag(jboolean);
+  virtual void handleComment(JArray< jchar > *);
+  virtual void handleEOFInComment();
+  virtual void handleEmptyTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleEndTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleError(jint, ::java::lang::String *);
+  virtual void handleStartTag(::javax::swing::text::html::parser::TagElement *);
+  virtual void handleText(JArray< jchar > *);
+  virtual void handleTitle(JArray< jchar > *);
+  virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *);
+  virtual ::javax::swing::text::html::parser::TagElement * makeTag(::javax::swing::text::html::parser::Element *, jboolean);
+  virtual void markFirstTime(::javax::swing::text::html::parser::Element *);
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * mustBe(jint);
+  virtual void noValueAttribute(::java::lang::String *, ::java::lang::String *);
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * optional(jint);
+  virtual void parseDocument();
+  virtual void readAttributes(::java::lang::String *);
+  virtual ::java::lang::String * resolveNamedEntity(::java::lang::String *);
+  virtual jchar resolveNumericEntity(::java::lang::String *);
+  virtual void restart();
+  virtual void startTag(::javax::swing::text::html::parser::TagElement *);
+private:
+  void _handleCompleteElement(::javax::swing::text::html::parser::TagElement *);
+  void _handleEmptyTag(::javax::swing::text::html::parser::TagElement *);
+  void _handleEndTag(::javax::swing::text::html::parser::TagElement *);
+public: // actually package-private
+  virtual void _handleEndTag_remaining(::javax::swing::text::html::parser::TagElement *);
+  virtual void _handleStartTag(::javax::swing::text::html::parser::TagElement *);
+private:
+  void forciblyCloseTheTag();
+  void handleComment();
+  ::javax::swing::text::html::parser::TagElement * makeTagElement(::java::lang::String *, jboolean);
+  void readTillTokenE(jint);
+  void resolveAndAppendEntity(::gnu::javax::swing::text::html::parser::support::low::Token *);
+  void restOfTag(jboolean, ::gnu::javax::swing::text::html::parser::support::low::Token *, ::gnu::javax::swing::text::html::parser::support::low::Token *);
+  void startingTag(::javax::swing::text::html::parser::TagElement *);
+  void ws_error();
+  jboolean isBlock(::javax::swing::text::html::HTML$Tag *);
+public:
+  ::gnu::javax::swing::text::html::parser::support::low::Token * __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer)))) hTag;
+public: // actually protected
+  ::javax::swing::text::html::parser::DTD * dtd;
+  jboolean strict;
+  jint preformatted;
+private:
+  ::java::util::Set * documentTags;
+  ::java::lang::StringBuffer * buffer;
+  ::java::lang::StringBuffer * title;
+  ::gnu::javax::swing::text::html::parser::support::low::Token * t;
+  jboolean titleHandled;
+  jboolean titleOpen;
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::htmlAttributeSet * attributes;
+private:
+  ::gnu::javax::swing::text::html::parser::htmlValidator * validator;
+  ::gnu::javax::swing::text::html::parser::support::parameterDefaulter * defaulter;
+  ::gnu::javax::swing::text::html::parser::support::textPreProcessor * textProcessor;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_Parser__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h b/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h
new file mode 100644
index 000000000..f442305c8
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__
+#define __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                  class gnuStringIntMapper;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::gnuStringIntMapper : public ::java::lang::Object
+{
+
+public:
+  gnuStringIntMapper();
+  virtual ::java::lang::String * get(jint);
+  virtual jint get(::java::lang::String *);
+public: // actually protected
+  virtual void create() = 0;
+  virtual void add(::java::lang::String *, jint);
+private:
+  void createTheMap();
+  ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) is_Map;
+  ::java::util::Map * si_Map;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_gnuStringIntMapper__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h
new file mode 100644
index 000000000..98ccff8c5
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Buffer.h
@@ -0,0 +1,72 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_Buffer__
+#define __gnu_javax_swing_text_html_parser_support_low_Buffer__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Buffer;
+                    class Location;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::Buffer : public ::java::lang::Object
+{
+
+public:
+  Buffer();
+  Buffer(::java::lang::String *);
+  virtual void getChars(jint, jint, JArray< jchar > *, jint);
+  virtual ::java::lang::String * getEndOfLineSequence();
+  virtual void setLength(jint);
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Location * getLocation(jint, jint);
+  virtual void append(jchar, jint);
+  virtual jchar charAt(jint);
+  virtual void delete$(jint, jint);
+  virtual void expand();
+  virtual jint length();
+  virtual void reset();
+  virtual ::java::lang::String * toString();
+  static jint INITIAL_SIZE;
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) n_seen;
+  jboolean r_seen;
+public: // actually package-private
+  JArray< jchar > * chr;
+  JArray< jint > * line;
+  JArray< jint > * position;
+  jint current_line;
+  jint length__;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_Buffer__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h
new file mode 100644
index 000000000..3c21390f9
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Constants.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_Constants__
+#define __gnu_javax_swing_text_html_parser_support_low_Constants__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Buffer;
+                    class Constants;
+                    class Token;
+                    class pattern;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::Constants : public ::java::lang::Object
+{
+
+public:
+  Constants();
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * endMatches(::gnu::javax::swing::text::html::parser::support::low::Buffer *);
+  static const jint BEGIN = 60;
+  static const jint END = 62;
+  static const jint EXCLAMATION = 33;
+  static const jint SLASH = 47;
+  static const jint EQ = 61;
+  static const jint AP = 39;
+  static const jint QUOT = 34;
+  static const jint DOUBLE_DASH = 1000;
+  static const jint STYLE = 1001;
+  static const jint SCRIPT = 1002;
+  static const jint WS = 1003;
+  static const jint ENTITY = 1004;
+  static const jint NUMTOKEN = 1005;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_OPEN;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_END;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * COMMENT_TRIPLEDASH_END;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * STYLE_OPEN;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * SCRIPT_OPEN;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * SGML;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * SCRIPT_CLOSE;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * STYLE_CLOSE;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * TAG;
+  static ::gnu::javax::swing::text::html::parser::support::low::pattern * TAG_CLOSE;
+  static const jint OTHER = 1999;
+public: // actually package-private
+  static const jchar ETX = 3;
+public:
+  static const jint EOF = 3;
+  static ::java::util::BitSet * bSINGLE_CHAR_TOKEN;
+  static ::java::util::BitSet * bSPECIAL;
+  static ::java::util::BitSet * bLETTER;
+  static ::java::util::BitSet * bDIGIT;
+  static ::java::util::BitSet * bLINEBREAK;
+  static ::java::util::BitSet * bWHITESPACE;
+  static ::java::util::BitSet * bQUOTING;
+  static ::java::util::BitSet * bNAME;
+  static const jint ENTITY_NAMED = 1;
+  static const jint ENTITY_NUMERIC = 2;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_Constants__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h
new file mode 100644
index 000000000..4903ffe75
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Location.h
@@ -0,0 +1,52 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_Location__
+#define __gnu_javax_swing_text_html_parser_support_low_Location__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Location;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::Location : public ::java::lang::Object
+{
+
+public:
+  Location();
+  Location(jint);
+  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) beginLine;
+  jint endLine;
+  jint endPosition;
+  jint startPosition;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_Location__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h b/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h
new file mode 100644
index 000000000..ee0c9fcf9
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/ParseException.h
@@ -0,0 +1,47 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_ParseException__
+#define __gnu_javax_swing_text_html_parser_support_low_ParseException__
+
+#pragma interface
+
+#include <java/lang/RuntimeException.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class ParseException;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::ParseException : public ::java::lang::RuntimeException
+{
+
+public:
+  ParseException(::java::lang::String *, ::java::lang::Throwable *);
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_ParseException__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h
new file mode 100644
index 000000000..615dd9cb1
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Queue.h
@@ -0,0 +1,61 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_Queue__
+#define __gnu_javax_swing_text_html_parser_support_low_Queue__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Queue;
+                    class Token;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::Queue : public ::java::lang::Object
+{
+
+public:
+  Queue();
+  virtual jboolean isEmpty();
+  virtual void add(::gnu::javax::swing::text::html::parser::support::low::Token *);
+  virtual void clear();
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * get(jint);
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * next();
+  virtual jint size();
+public: // actually package-private
+  JArray< ::gnu::javax::swing::text::html::parser::support::low::Token * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) m;
+  jint a;
+  jint b;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_Queue__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h b/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h
new file mode 100644
index 000000000..189d356f0
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.h
@@ -0,0 +1,79 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__
+#define __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__
+
+#pragma interface
+
+#include <gnu/javax/swing/text/html/parser/support/low/Constants.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Buffer;
+                    class Queue;
+                    class ReaderTokenizer;
+                    class Token;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer : public ::gnu::javax::swing::text::html::parser::support::low::Constants
+{
+
+public:
+  ReaderTokenizer();
+  virtual ::java::lang::String * getEndOfLineSequence();
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getNextToken();
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getTokenAhead(jint);
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * getTokenAhead();
+  virtual void error(::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Token *);
+  virtual void mark(jboolean);
+  virtual void reset(::java::io::Reader *);
+  virtual void reset();
+public: // actually package-private
+  virtual void read(jint);
+  virtual void readToken();
+  virtual ::gnu::javax::swing::text::html::parser::support::low::Token * tokenMatches();
+private:
+  void consumeBuffer(::gnu::javax::swing::text::html::parser::support::low::Token *);
+  ::gnu::javax::swing::text::html::parser::support::low::Token * eofToken();
+public: // actually protected
+  jboolean __attribute__((aligned(__alignof__( ::gnu::javax::swing::text::html::parser::support::low::Constants)))) advanced;
+  jboolean backupMode;
+public: // actually package-private
+  ::gnu::javax::swing::text::html::parser::support::low::Buffer * buffer;
+  ::gnu::javax::swing::text::html::parser::support::low::Queue * backup;
+  ::gnu::javax::swing::text::html::parser::support::low::Queue * queue;
+  ::java::io::Reader * reader;
+  JArray< jchar > * charTokens;
+  JArray< ::java::lang::String * > * stringTokens;
+  jint readerPosition;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_ReaderTokenizer__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h b/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h
new file mode 100644
index 000000000..f237ae43e
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/Token.h
@@ -0,0 +1,63 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_Token__
+#define __gnu_javax_swing_text_html_parser_support_low_Token__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class Location;
+                    class Token;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::Token : public ::java::lang::Object
+{
+
+public:
+  Token();
+  Token(jint, ::gnu::javax::swing::text::html::parser::support::low::Location *);
+  Token(jint, jchar, ::gnu::javax::swing::text::html::parser::support::low::Location *);
+  Token(jint, ::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Location *);
+  Token(jint, jint, ::java::lang::String *, ::gnu::javax::swing::text::html::parser::support::low::Location *);
+  Token(::gnu::javax::swing::text::html::parser::support::low::Token *, ::gnu::javax::swing::text::html::parser::support::low::Token *);
+  virtual ::java::lang::String * getImage();
+  virtual void appendTo(::java::lang::StringBuffer *);
+  virtual ::java::lang::String * toString();
+  ::gnu::javax::swing::text::html::parser::support::low::Location * __attribute__((aligned(__alignof__( ::java::lang::Object)))) where;
+  jint category;
+  jint kind;
+private:
+  ::java::lang::String * stringImage;
+  jchar charImage;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_Token__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/node.h b/libjava/gnu/javax/swing/text/html/parser/support/low/node.h
new file mode 100644
index 000000000..f113e7b1f
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/node.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_node__
+#define __gnu_javax_swing_text_html_parser_support_low_node__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class node;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::node : public ::java::lang::Object
+{
+
+public:
+  node(jint, jboolean);
+  node(jint);
+  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) optional;
+  jint kind;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_node__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h b/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h
new file mode 100644
index 000000000..3010b526c
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/low/pattern.h
@@ -0,0 +1,53 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_low_pattern__
+#define __gnu_javax_swing_text_html_parser_support_low_pattern__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                namespace low
+                {
+                    class ReaderTokenizer;
+                    class node;
+                    class pattern;
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::low::pattern : public ::java::lang::Object
+{
+
+public:
+  pattern(JArray< ::gnu::javax::swing::text::html::parser::support::low::node * > *);
+  virtual jboolean matches(::gnu::javax::swing::text::html::parser::support::low::ReaderTokenizer *);
+  JArray< ::gnu::javax::swing::text::html::parser::support::low::node * > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) nodes;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_low_pattern__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h b/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h
new file mode 100644
index 000000000..664baecc9
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/parameterDefaulter.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_parameterDefaulter__
+#define __gnu_javax_swing_text_html_parser_support_parameterDefaulter__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+                class htmlAttributeSet;
+              namespace support
+              {
+                  class parameterDefaulter;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+  namespace javax
+  {
+    namespace swing
+    {
+      namespace text
+      {
+        namespace html
+        {
+          namespace parser
+          {
+              class DTD;
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::parameterDefaulter : public ::java::lang::Object
+{
+
+public:
+  parameterDefaulter(::javax::swing::text::html::parser::DTD *);
+  virtual ::gnu::javax::swing::text::html::parser::htmlAttributeSet * getDefaultParameters(::java::lang::String *);
+  ::javax::swing::text::html::parser::DTD * __attribute__((aligned(__alignof__( ::java::lang::Object)))) dtd;
+public: // actually package-private
+  ::java::util::Hashtable * sets;
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_parameterDefaulter__
diff --git a/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h b/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h
new file mode 100644
index 000000000..cf5117b76
--- /dev/null
+++ b/libjava/gnu/javax/swing/text/html/parser/support/textPreProcessor.h
@@ -0,0 +1,51 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_text_html_parser_support_textPreProcessor__
+#define __gnu_javax_swing_text_html_parser_support_textPreProcessor__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace text
+        {
+          namespace html
+          {
+            namespace parser
+            {
+              namespace support
+              {
+                  class textPreProcessor;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::text::html::parser::support::textPreProcessor : public ::java::lang::Object
+{
+
+public:
+  textPreProcessor();
+  virtual JArray< jchar > * preprocess(::java::lang::StringBuffer *);
+  virtual JArray< jchar > * preprocessPreformatted(::java::lang::StringBuffer *);
+private:
+  static JArray< jchar > * toCharArray(::java::lang::StringBuffer *);
+public:
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_text_html_parser_support_textPreProcessor__
diff --git a/libjava/gnu/javax/swing/tree/GnuPath.h b/libjava/gnu/javax/swing/tree/GnuPath.h
new file mode 100644
index 000000000..3d36edac7
--- /dev/null
+++ b/libjava/gnu/javax/swing/tree/GnuPath.h
@@ -0,0 +1,38 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_swing_tree_GnuPath__
+#define __gnu_javax_swing_tree_GnuPath__
+
+#pragma interface
+
+#include <javax/swing/tree/TreePath.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+  namespace gnu
+  {
+    namespace javax
+    {
+      namespace swing
+      {
+        namespace tree
+        {
+            class GnuPath;
+        }
+      }
+    }
+  }
+}
+
+class gnu::javax::swing::tree::GnuPath : public ::javax::swing::tree::TreePath
+{
+
+public:
+  GnuPath(JArray< ::java::lang::Object * > *, jboolean);
+  jboolean __attribute__((aligned(__alignof__( ::javax::swing::tree::TreePath)))) isLastChild;
+  static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_swing_tree_GnuPath__
-- 
cgit v1.2.3