---
name: "struct_shash_alg"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_shash_alg"
---

# struct\_shash\_alg(9)

synchronous message digest definition

## NAME

struct\_shash\_alg - synchronous message digest definition

## SYNOPSIS

```
struct shash_alg {
  int (* init) (struct shash_desc *desc);
  int (* update) (struct shash_desc *desc, const u8 *data,unsigned int len);
  int (* final) (struct shash_desc *desc, u8 *out);
  int (* finup) (struct shash_desc *desc, const u8 *data,unsigned int len, u8 *out);
  int (* digest) (struct shash_desc *desc, const u8 *data,unsigned int len, u8 *out);
  int (* export) (struct shash_desc *desc, void *out);
  int (* import) (struct shash_desc *desc, const void *in);
  int (* setkey) (struct crypto_shash *tfm, const u8 *key,unsigned int keylen);
  unsigned int descsize;
  unsigned int digestsize;
  unsigned int statesize;
  struct crypto_alg base;
};
```

## MEMBERS

init

see struct ahash\_alg

update

see struct ahash\_alg

final

see struct ahash\_alg

finup

see struct ahash\_alg

digest

see struct ahash\_alg

export

see struct ahash\_alg

import

see struct ahash\_alg

setkey

see struct ahash\_alg

descsize

Size of the operational state for the message digest. This state size is the memory size that needs to be allocated for shash\_desc.\_\_ctx

digestsize

see struct ahash\_alg

statesize

see struct ahash\_alg

base

internally used

## AUTHORS

**Stephan Mueller** \<smueller@chronox.de\>

Author.

**Marek Vasut** \<marek@denx.de\>

Author.

## COPYRIGHT
