Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / afsweb / nsafs.h
CommitLineData
805e021f
CE
1/*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
8 */
9
10/*
11 *
12 * COMPONENT_NAME: Delite Gateway
13 *
14 */
15
16#ifndef _NSAFS_H_
17#define _NSAFS_H_
18
19/*
20 * SHA is defined to work on unsigned 32 bit integers.
21 * These values should therefore not change.
22 */
23typedef afs_uint32 sha_int;
24
25#define SHA_BITS_PER_INT 32
26#define SHA_CHUNK_BITS 512
27#define SHA_CHUNK_BYTES 64
28#define SHA_CHUNK_INTS 16
29#define SHA_HASH_BITS 160
30#define SHA_HASH_BYTES 20
31#define SHA_HASH_INTS 5
32#define SHA_ROUNDS 80
33
34
35typedef struct shaState {
36 sha_int digest[SHA_HASH_INTS];
37 sha_int bitcountLo;
38 sha_int bitcountHi;
39 sha_int leftoverLen;
40 char leftover[SHA_CHUNK_BYTES];
41} shaState;
42
43
44void sha_clear(shaState * shaStateP);
45void sha_update(shaState * shaStateP, const char *buffer, int bufferLen);
46void sha_finish(shaState * shaStateP);
47void sha_hash(shaState * shaStateP, const char *buffer, int bufferLen);
48void sha_bytes(const shaState * shaStateP, char *bytes);
49
50extern afs_int32 nsafs_SetToken(struct ktc_principal *aserver,
51 struct ktc_token *atoken,
52 struct ktc_principal *aclient,
53 afs_int32 flags);
54
55#endif /* _NSAFS_H_ */