// natSimpleSHSStream.cc /* Copyright (C) 2000 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ #include #include #include #include #include #include #define PROTO #include "shs.h" jbyteArray gnu::gcj::io::SimpleSHSStream::shsFinal (jbyteArray shs_info) { SHS_INFO *info = (SHS_INFO *)elements(shs_info); ::shsFinal (info); jbyteArray buffer = JvNewByteArray (SHS_DIGESTSIZE); memcpy (elements (buffer), &info->digest, SHS_DIGESTSIZE); return buffer; } void gnu::gcj::io::SimpleSHSStream::shsUpdate (jbyteArray shs_info, jbyteArray buf, jint count) { SHS_INFO *info = (SHS_INFO *)elements(shs_info); uint8_t *buffer = (uint8_t *)elements(buf); ::shsUpdate (info, buffer, count); } jbyteArray gnu::gcj::io::SimpleSHSStream::shsInit () { jbyteArray result = JvNewByteArray (sizeof (SHS_INFO)); SHS_INFO *info = (SHS_INFO *)elements(result); ::shsInit (info); return result; }