PostgreSQL Source Code  git master
hmac.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * hmac.h
4  * Generic headers for HMAC
5  *
6  * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
7  * Portions Copyright (c) 1994, Regents of the University of California
8  *
9  * IDENTIFICATION
10  * src/include/common/hmac.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 
15 #ifndef PG_HMAC_H
16 #define PG_HMAC_H
17 
18 #include "common/cryptohash.h"
19 
20 /* opaque context, private to each HMAC implementation */
21 typedef struct pg_hmac_ctx pg_hmac_ctx;
22 
24 extern int pg_hmac_init(pg_hmac_ctx *ctx, const uint8 *key, size_t len);
25 extern int pg_hmac_update(pg_hmac_ctx *ctx, const uint8 *data, size_t len);
26 extern int pg_hmac_final(pg_hmac_ctx *ctx, uint8 *dest, size_t len);
27 extern void pg_hmac_free(pg_hmac_ctx *ctx);
28 
29 #endif /* PG_HMAC_H */
unsigned char uint8
Definition: c.h:439
pg_hmac_ctx * pg_hmac_create(pg_cryptohash_type type)
Definition: hmac.c:69
int pg_hmac_update(pg_hmac_ctx *ctx, const uint8 *data, size_t len)
Definition: hmac.c:205
void pg_hmac_free(pg_hmac_ctx *ctx)
Definition: hmac.c:255
pg_cryptohash_type
Definition: cryptohash.h:19
int pg_hmac_init(pg_hmac_ctx *ctx, const uint8 *key, size_t len)
Definition: hmac.c:128
int pg_hmac_final(pg_hmac_ctx *ctx, uint8 *dest, size_t len)
Definition: hmac.c:222