--- /dev/null
+#include "crypto/axtls/crypto.h"
+#include <gpxe/crypto.h>
+#include <gpxe/sha1.h>
+
+static void sha1_init ( void *ctx ) {
+ SHA1Init ( ctx );
+}
+
+static void sha1_update ( void *ctx, const void *data, void *dst __unused,
+ size_t len ) {
+ SHA1Update ( ctx, data, len );
+}
+
+static void sha1_final ( void *ctx, void *out ) {
+ SHA1Final ( ctx, out );
+}
+
+struct crypto_algorithm sha1_algorithm = {
+ .name = "sha1",
+ .ctxsize = sizeof ( SHA1_CTX ),
+ .blocksize = 64,
+ .digestsize = SHA1_SIZE,
+ .init = sha1_init,
+ .encode = sha1_update,
+ .final = sha1_final,
+};
--- /dev/null
+#ifndef _GPXE_SHA1_H
+#define _GPXE_SHA1_H
+
+struct crypto_algorithm;
+
+extern struct crypto_algorithm sha1_algorithm;
+
+#endif /* _GPXE_SHA1_H */